layer at (0,0) size 785x1130
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1130
  RenderBlock {HTML} at (0,0) size 785x1130
    RenderBody {BODY} at (8,8) size 769x1114
      RenderBlock {SPAN} at (0,0) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,100) size 769x0
      RenderBlock {SPAN} at (0,105) size 769x18
        RenderText {#text} at (0,0) size 307x18
          text run at (0,0) width 307: "This text should be immediately under the float."
      RenderBlock {HR} at (0,131) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,141) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,241) size 769x0
      RenderBlock {SPAN} at (0,256) size 769x18
        RenderText {#text} at (0,0) size 259x18
          text run at (0,0) width 259: "This text should be 10px under the float."
      RenderBlock {HR} at (0,282) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,292) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,392) size 769x0
      RenderBlock {SPAN} at (0,362) size 769x18
        RenderText {#text} at (100,0) size 274x18
          text run at (100,0) width 274: "This text should be to the right of the float."
      RenderBlock {HR} at (100,388) size 669x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,398) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,498) size 769x0
      RenderBlock {SPAN} at (0,503) size 769x18
        RenderText {#text} at (0,0) size 307x18
          text run at (0,0) width 307: "This text should be immediately under the float."
      RenderBlock {HR} at (0,529) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,539) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,639) size 769x0
      RenderBlock {SPAN} at (0,649) size 769x18
        RenderText {#text} at (0,0) size 259x18
          text run at (0,0) width 259: "This text should be 10px under the float."
      RenderBlock {HR} at (0,675) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,685) size 769x18
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 87x54
            text run at (0,0) width 87: "This is a float"
            text run at (0,18) width 83: "that is 100px"
            text run at (0,36) width 33: "high."
        RenderText {#text} at (100,0) size 289x18
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,785) size 769x0
      RenderBlock {SPAN} at (0,815) size 769x18
        RenderText {#text} at (0,0) size 259x18
          text run at (0,0) width 259: "This text should be 20px under the float."
      RenderBlock {HR} at (0,841) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,851) size 769x125 [border: (10px dotted #000000)]
        RenderBlock {SPAN} at (10,10) size 749x18
          RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
            RenderText {#text} at (0,0) size 87x54
              text run at (0,0) width 87: "This is a float"
              text run at (0,18) width 83: "that is 100px"
              text run at (0,36) width 33: "high."
          RenderText {#text} at (100,0) size 289x18
            text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
        RenderBlock {SPAN} at (10,110) size 749x0
      RenderBlock {HR} at (0,984) size 769x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,994) size 769x120 [border: (10px dotted #000000)]
        RenderBlock {SPAN} at (10,10) size 749x18
          RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
            RenderText {#text} at (0,0) size 87x54
              text run at (0,0) width 87: "This is a float"
              text run at (0,18) width 83: "that is 100px"
              text run at (0,36) width 33: "high."
          RenderText {#text} at (100,0) size 289x18
            text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
        RenderBlock {SPAN} at (10,110) size 749x0
