diff --git a/experimental/Intersection/op.htm b/experimental/Intersection/op.htm
index 199a9df..267fbec 100644
--- a/experimental/Intersection/op.htm
+++ b/experimental/Intersection/op.htm
@@ -3721,11 +3721,59 @@
     pathB.close();
 </div>
 
+<div id="cubicOp32d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,2, 6,0, 3,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,6);
+    pathB.cubicTo(1,3, 1,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp33i">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,2, 6,0, 3,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,6);
+    pathB.cubicTo(1,3, 1,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp34d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(3,5, 2,1, 3,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,2);
+    pathB.cubicTo(1,3, 1,0, 5,3);
+    pathB.close();
+</div>
+
+<div id="cubicOp35d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,5, 2,1, 4,0);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,2);
+    pathB.cubicTo(0,4, 1,0, 5,1);
+    pathB.close();
+</div>
+
 </div>
 
 <script type="text/javascript">
 
 var testDivs = [
+    cubicOp35d,
+    cubicOp34d,
+    cubicOp33i,
+    cubicOp32d,
     cubicOp31d,
     cubicOp30d,
     cubicOp29d,
@@ -4267,11 +4315,11 @@
     calcXY();
     var num = mouseX.toFixed(3) + ", " + mouseY.toFixed(3);
     ctx.beginPath();
-    ctx.rect(300,100,200,10);
+    ctx.rect(300,0,72,9);
     ctx.fillStyle="white";
     ctx.fill();
     ctx.fillStyle="black";
-    ctx.fillText(num, 300, 108);
+    ctx.fillText(num, 300, 7);
 }
 
 function handleMouseClick() {
