layer at (0,0) size 800x1142
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1142
  RenderBlock {HTML} at (0,0) size 800x1142
    RenderBody {BODY} at (8,8) size 784x1126
      RenderBlock {SPAN} at (0,0) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,100) size 784x0
      RenderBlock {SPAN} at (0,105) size 784x20
        RenderText {#text} at (0,0) size 308x19
          text run at (0,0) width 308: "This text should be immediately under the float."
      RenderBlock {HR} at (0,133) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,143) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,243) size 784x0
      RenderBlock {SPAN} at (0,258) size 784x20
        RenderText {#text} at (0,0) size 260x19
          text run at (0,0) width 260: "This text should be 10px under the float."
      RenderBlock {HR} at (0,286) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,296) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,396) size 784x0
      RenderBlock {SPAN} at (0,366) size 784x20
        RenderText {#text} at (100,0) size 275x19
          text run at (100,0) width 275: "This text should be to the right of the float."
      RenderBlock {HR} at (100,394) size 684x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,404) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,504) size 784x0
      RenderBlock {SPAN} at (0,509) size 784x20
        RenderText {#text} at (0,0) size 308x19
          text run at (0,0) width 308: "This text should be immediately under the float."
      RenderBlock {HR} at (0,537) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,547) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,647) size 784x0
      RenderBlock {SPAN} at (0,657) size 784x20
        RenderText {#text} at (0,0) size 260x19
          text run at (0,0) width 260: "This text should be 10px under the float."
      RenderBlock {HR} at (0,685) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,695) size 784x20
        RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
          RenderText {#text} at (0,0) size 88x59
            text run at (0,0) width 88: "This is a float"
            text run at (0,20) width 83: "that is 100px"
            text run at (0,40) width 33: "high."
        RenderText {#text} at (100,0) size 289x19
          text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
      RenderBlock {SPAN} at (0,795) size 784x0
      RenderBlock {SPAN} at (0,825) size 784x20
        RenderText {#text} at (0,0) size 260x19
          text run at (0,0) width 260: "This text should be 20px under the float."
      RenderBlock {HR} at (0,853) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,863) size 784x125 [border: (10px dotted #000000)]
        RenderBlock {SPAN} at (10,10) size 764x20
          RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
            RenderText {#text} at (0,0) size 88x59
              text run at (0,0) width 88: "This is a float"
              text run at (0,20) width 83: "that is 100px"
              text run at (0,40) width 33: "high."
          RenderText {#text} at (100,0) size 289x19
            text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
        RenderBlock {SPAN} at (10,110) size 764x0
      RenderBlock {HR} at (0,996) size 784x2 [border: (1px inset #000000)]
      RenderBlock {SPAN} at (0,1006) size 784x120 [border: (10px dotted #000000)]
        RenderBlock {SPAN} at (10,10) size 764x20
          RenderBlock (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00FF00]
            RenderText {#text} at (0,0) size 88x59
              text run at (0,0) width 88: "This is a float"
              text run at (0,20) width 83: "that is 100px"
              text run at (0,40) width 33: "high."
          RenderText {#text} at (100,0) size 289x19
            text run at (100,0) width 289: "This paragraph has a bottom margin of 50px."
        RenderBlock {SPAN} at (10,110) size 764x0
