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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 300x17
          text run at (0,0) width 300: "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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 255x17
          text run at (0,0) width 255: "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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 268x17
          text run at (100,0) width 268: "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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 300x17
          text run at (0,0) width 300: "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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 255x17
          text run at (0,0) width 255: "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 85x53
            text run at (0,0) width 85: "This is a float"
            text run at (0,18) width 81: "that is 100px"
            text run at (0,36) width 32: "high."
        RenderText {#text} at (100,0) size 284x17
          text run at (100,0) width 284: "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 255x17
          text run at (0,0) width 255: "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 85x53
              text run at (0,0) width 85: "This is a float"
              text run at (0,18) width 81: "that is 100px"
              text run at (0,36) width 32: "high."
          RenderText {#text} at (100,0) size 284x17
            text run at (100,0) width 284: "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 85x53
              text run at (0,0) width 85: "This is a float"
              text run at (0,18) width 81: "that is 100px"
              text run at (0,36) width 32: "high."
          RenderText {#text} at (100,0) size 284x17
            text run at (100,0) width 284: "This paragraph has a bottom margin of 50px."
        RenderBlock {SPAN} at (10,110) size 749x0
