Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: tests/PathOpsOpTest.cpp

Issue 686843002: Revert of harden pathops for pathological test (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsQuadIntersectionTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 #define TEST(name) { name, #name } 10 #define TEST(name) { name, #name }
(...skipping 1701 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 path.quadTo(704.000000f, 11.2010098f, 704.000000f, 17.0000000f); 1712 path.quadTo(704.000000f, 11.2010098f, 704.000000f, 17.0000000f);
1713 path.lineTo(704.000000f, 33.0000000f); 1713 path.lineTo(704.000000f, 33.0000000f);
1714 path.lineTo(705.000000f, 33.0000000f); 1714 path.lineTo(705.000000f, 33.0000000f);
1715 path.lineTo(705.000000f, 17.0000000f); 1715 path.lineTo(705.000000f, 17.0000000f);
1716 path.cubicTo(705.000000f, 13.4101496f, 706.455078f, 10.1601505f, 708.807617f , 7.80761385f); 1716 path.cubicTo(705.000000f, 13.4101496f, 706.455078f, 10.1601505f, 708.807617f , 7.80761385f);
1717 path.lineTo(708.099182f, 7.09919119f); 1717 path.lineTo(708.099182f, 7.09919119f);
1718 path.close(); 1718 path.close();
1719 SkPath pathB; 1719 SkPath pathB;
1720 pathB.setFillType(SkPath::kWinding_FillType); 1720 pathB.setFillType(SkPath::kWinding_FillType);
1721 pathB.moveTo(704.000000f, 3.00000000f); 1721 pathB.moveTo(704.000000f, 3.00000000f);
1722 #if 0
1723 pathB.lineTo(719.500000f, 3.00000000f);
1724 pathB.lineTo(705.000000f, 33.0000000f);
1725 pathB.lineTo(704.000000f, 33.0000000f);
1726 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
1727 #else
1722 pathB.lineTo(704.000000f, 33.0000000f); 1728 pathB.lineTo(704.000000f, 33.0000000f);
1723 pathB.lineTo(705.000000f, 33.0000000f); 1729 pathB.lineTo(705.000000f, 33.0000000f);
1724 pathB.lineTo(719.500000f, 3.00000000f); 1730 pathB.lineTo(719.500000f, 3.00000000f);
1725 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1731 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
1732 #endif
1726 } 1733 }
1727 1734
1728 static void skpahrefs_com88(skiatest::Reporter* reporter, const char* filename) { 1735 static void skpahrefs_com88(skiatest::Reporter* reporter, const char* filename) {
1729 SkPath path; 1736 SkPath path;
1730 path.setFillType(SkPath::kEvenOdd_FillType); 1737 path.setFillType(SkPath::kEvenOdd_FillType);
1731 path.moveTo(1099.82886f, 7.17117119f); 1738 path.moveTo(1099.82886f, 7.17117119f);
1732 path.lineTo(1099.12134f, 7.87867832f); 1739 path.lineTo(1099.12134f, 7.87867832f);
1733 path.cubicTo(1099.66418f, 8.42157173f, 1100.00000f, 9.17157173f, 1100.00000f , 10.0000000f); 1740 path.cubicTo(1099.66418f, 8.42157173f, 1100.00000f, 9.17157173f, 1100.00000f , 10.0000000f);
1734 path.lineTo(1100.00000f, 28.0000000f); 1741 path.lineTo(1100.00000f, 28.0000000f);
1735 path.cubicTo(1100.00000f, 29.6568546f, 1098.65686f, 31.0000000f, 1097.00000f , 31.0000000f); 1742 path.cubicTo(1100.00000f, 29.6568546f, 1098.65686f, 31.0000000f, 1097.00000f , 31.0000000f);
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
2719 pathB.lineTo(194, 1041); 2726 pathB.lineTo(194, 1041);
2720 pathB.cubicTo(123.85984f, 1041, 67, 983.692444f, 67, 913); 2727 pathB.cubicTo(123.85984f, 1041, 67, 983.692444f, 67, 913);
2721 pathB.cubicTo(67, 842.307556f, 123.85984f, 785, 194, 785); 2728 pathB.cubicTo(67, 842.307556f, 123.85984f, 785, 194, 785);
2722 pathB.lineTo(195, 785); 2729 pathB.lineTo(195, 785);
2723 pathB.close(); 2730 pathB.close();
2724 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2731 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
2725 } 2732 }
2726 2733
2727 // this fails because cubic/quad misses an intersection (failure is isolated in c/q int test) 2734 // this fails because cubic/quad misses an intersection (failure is isolated in c/q int test)
2728 static void skpcarrot_is24(skiatest::Reporter* reporter, const char* filename) { 2735 static void skpcarrot_is24(skiatest::Reporter* reporter, const char* filename) {
2736 if (!FLAGS_runFail) {
2737 return;
2738 }
2729 SkPath path; 2739 SkPath path;
2730 path.setFillType(SkPath::kEvenOdd_FillType); 2740 path.setFillType(SkPath::kEvenOdd_FillType);
2731 path.moveTo(945, 597); 2741 path.moveTo(945, 597);
2732 path.quadTo(913.93396f, 597, 891.96698f, 618.96698f); 2742 path.quadTo(913.93396f, 597, 891.96698f, 618.96698f);
2733 path.quadTo(870, 640.93396f, 870, 672); 2743 path.quadTo(870, 640.93396f, 870, 672);
2734 path.quadTo(870, 703.06604f, 891.96698f, 725.03302f); 2744 path.quadTo(870, 703.06604f, 891.96698f, 725.03302f);
2735 path.quadTo(913.93396f, 747, 945, 747); 2745 path.quadTo(913.93396f, 747, 945, 747);
2736 path.quadTo(976.06604f, 747, 998.03302f, 725.03302f); 2746 path.quadTo(976.06604f, 747, 998.03302f, 725.03302f);
2737 path.quadTo(1020, 703.06604f, 1020, 672); 2747 path.quadTo(1020, 703.06604f, 1020, 672);
2738 path.quadTo(1020, 640.93396f, 998.03302f, 618.96698f); 2748 path.quadTo(1020, 640.93396f, 998.03302f, 618.96698f);
2739 path.quadTo(976.06604f, 597, 945, 597); 2749 path.quadTo(976.06604f, 597, 945, 597);
2740 path.close(); 2750 path.close();
2741 SkPath pathB; 2751 SkPath pathB;
2742 pathB.setFillType(SkPath::kWinding_FillType); 2752 pathB.setFillType(SkPath::kWinding_FillType);
2743 pathB.moveTo(945.080994f, 597.161987f); 2753 pathB.moveTo(945.080994f, 597.161987f);
2744 pathB.cubicTo(903.659973f, 597.161987f, 870.080994f, 630.73999f, 870.080994f , 672.161987f); 2754 pathB.cubicTo(903.659973f, 597.161987f, 870.080994f, 630.73999f, 870.080994f , 672.161987f);
2745 pathB.cubicTo(870.080994f, 676.096008f, 870.387024f, 679.957031f, 870.971008 f, 683.726013f); 2755 pathB.cubicTo(870.080994f, 676.096008f, 870.387024f, 679.957031f, 870.971008 f, 683.726013f);
2746 pathB.cubicTo(876.53302f, 719.656006f, 907.593994f, 747.161987f, 945.080994f , 747.161987f); 2756 pathB.cubicTo(876.53302f, 719.656006f, 907.593994f, 747.161987f, 945.080994f , 747.161987f);
2747 pathB.cubicTo(982.567993f, 747.161987f, 1013.62903f, 719.656006f, 1019.19104 f, 683.726013f); 2757 pathB.cubicTo(982.567993f, 747.161987f, 1013.62903f, 719.656006f, 1019.19104 f, 683.726013f);
2748 pathB.cubicTo(1019.77502f, 679.955017f, 1020.08099f, 676.094971f, 1020.08099 f, 672.161987f); 2758 pathB.cubicTo(1019.77502f, 679.955017f, 1020.08099f, 676.094971f, 1020.08099 f, 672.161987f);
2749 pathB.cubicTo(1020.08002f, 630.73999f, 986.502014f, 597.161987f, 945.080994f , 597.161987f); 2759 pathB.cubicTo(1020.08002f, 630.73999f, 986.502014f, 597.161987f, 945.080994f , 597.161987f);
2750 pathB.close(); 2760 pathB.close();
2751 testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_ru nFail); 2761 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
2752 } 2762 }
2753 2763
2754 static void skpbangalorenest_com4(skiatest::Reporter* reporter, const char* file name) { 2764 static void skpbangalorenest_com4(skiatest::Reporter* reporter, const char* file name) {
2755 SkPath path; 2765 SkPath path;
2756 path.setFillType(SkPath::kEvenOdd_FillType); 2766 path.setFillType(SkPath::kEvenOdd_FillType);
2757 path.moveTo(0, 926); 2767 path.moveTo(0, 926);
2758 path.lineTo(0, 0); 2768 path.lineTo(0, 0);
2759 path.lineTo(1265, 0); 2769 path.lineTo(1265, 0);
2760 path.lineTo(1265, 926); 2770 path.lineTo(1265, 926);
2761 path.lineTo(0, 926); 2771 path.lineTo(0, 926);
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
3266 path.moveTo(2,4); 3276 path.moveTo(2,4);
3267 path.cubicTo(3,5, 2.33333325f,4.33333349f, 3.83333325f,3.83333349f); 3277 path.cubicTo(3,5, 2.33333325f,4.33333349f, 3.83333325f,3.83333349f);
3268 path.close(); 3278 path.close();
3269 pathB.moveTo(3,5); 3279 pathB.moveTo(3,5);
3270 pathB.cubicTo(2.33333325f,4.33333349f, 3.83333325f,3.83333349f, 2,4); 3280 pathB.cubicTo(2.33333325f,4.33333349f, 3.83333325f,3.83333349f, 2,4);
3271 pathB.close(); 3281 pathB.close();
3272 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 3282 testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
3273 } 3283 }
3274 3284
3275 static void cubicOp114(skiatest::Reporter* reporter, const char* filename) { 3285 static void cubicOp114(skiatest::Reporter* reporter, const char* filename) {
3286 if (!FLAGS_runFail) {
3287 return;
3288 }
3276 SkPath path, pathB; 3289 SkPath path, pathB;
3277 path.setFillType(SkPath::kWinding_FillType); 3290 path.setFillType(SkPath::kWinding_FillType);
3278 path.moveTo(0, 1); 3291 path.moveTo(0, 1);
3279 path.cubicTo(1, 3, -1, 2, 3.5f, 1.33333337f); 3292 path.cubicTo(1, 3, -1, 2, 3.5f, 1.33333337f);
3280 path.close(); 3293 path.close();
3281 pathB.setFillType(SkPath::kWinding_FillType); 3294 pathB.setFillType(SkPath::kWinding_FillType);
3282 pathB.moveTo(1, 3); 3295 pathB.moveTo(1, 3);
3283 pathB.cubicTo(-1, 2, 3.5f, 1.33333337f, 0, 1); 3296 pathB.cubicTo(-1, 2, 3.5f, 1.33333337f, 0, 1);
3284 pathB.close(); 3297 pathB.close();
3285 testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_ru nFail); 3298 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
3286 } 3299 }
3287 3300
3288 static void cubicOp114asQuad(skiatest::Reporter* reporter, const char* filename) { 3301 static void cubicOp114asQuad(skiatest::Reporter* reporter, const char* filename) {
3289 SkPath path, pathB; 3302 SkPath path, pathB;
3290 path.setFillType(SkPath::kWinding_FillType); 3303 path.setFillType(SkPath::kWinding_FillType);
3291 path.moveTo(0, 1); 3304 path.moveTo(0, 1);
3292 path.cubicTo(1, 3, -1, 2, 3.5f, 1.33333337f); 3305 path.cubicTo(1, 3, -1, 2, 3.5f, 1.33333337f);
3293 path.close(); 3306 path.close();
3294 pathB.setFillType(SkPath::kWinding_FillType); 3307 pathB.setFillType(SkPath::kWinding_FillType);
3295 pathB.moveTo(1, 3); 3308 pathB.moveTo(1, 3);
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
3441 path.setFillType(SkPath::kEvenOdd_FillType); 3454 path.setFillType(SkPath::kEvenOdd_FillType);
3442 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); 3455 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
3443 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction); 3456 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
3444 pathB.setFillType(SkPath::kWinding_FillType); 3457 pathB.setFillType(SkPath::kWinding_FillType);
3445 pathB.addRect(0, 0, 2, 2, SkPath::kCW_Direction); 3458 pathB.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
3446 pathB.addRect(0, 0, 3, 3, SkPath::kCW_Direction); 3459 pathB.addRect(0, 0, 3, 3, SkPath::kCW_Direction);
3447 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 3460 testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
3448 } 3461 }
3449 3462
3450 static void issue2753(skiatest::Reporter* reporter, const char* filename) { 3463 static void issue2753(skiatest::Reporter* reporter, const char* filename) {
3464 if (!FLAGS_runFail) {
3465 return;
3466 }
3451 SkPath path1; 3467 SkPath path1;
3452 path1.moveTo(142.701f, 110.568f); 3468 path1.moveTo(142.701f, 110.568f);
3453 path1.lineTo(142.957f, 100); 3469 path1.lineTo(142.957f, 100);
3454 path1.lineTo(153.835f, 100); 3470 path1.lineTo(153.835f, 100);
3455 path1.lineTo(154.592f, 108.188f); 3471 path1.lineTo(154.592f, 108.188f);
3456 path1.cubicTo(154.592f, 108.188f, 153.173f, 108.483f, 152.83f, 109.412f); 3472 path1.cubicTo(154.592f, 108.188f, 153.173f, 108.483f, 152.83f, 109.412f);
3457 path1.cubicTo(152.83f, 109.412f, 142.701f, 110.568f, 142.701f, 110.568f); 3473 path1.cubicTo(152.83f, 109.412f, 142.701f, 110.568f, 142.701f, 110.568f);
3458 path1.close(); 3474 path1.close();
3459 3475
3460 SkPath path2; 3476 SkPath path2;
3461 path2.moveTo(39, 124.001f); 3477 path2.moveTo(39, 124.001f);
3462 path2.cubicTo(39, 124.001f, 50.6f, 117.001f, 50.6f, 117.001f); 3478 path2.cubicTo(39, 124.001f, 50.6f, 117.001f, 50.6f, 117.001f);
3463 path2.cubicTo(50.6f, 117.001f, 164.601f, 85.2f, 188.201f, 117.601f); 3479 path2.cubicTo(50.6f, 117.001f, 164.601f, 85.2f, 188.201f, 117.601f);
3464 path2.cubicTo(188.201f, 117.601f, 174.801f, 93, 39, 124.001f); 3480 path2.cubicTo(188.201f, 117.601f, 174.801f, 93, 39, 124.001f);
3465 path2.close(); 3481 path2.close();
3466 3482
3467 testPathOpCheck(reporter, path1, path2, kUnion_PathOp, filename, FLAGS_runFa il); 3483 testPathOp(reporter, path1, path2, kUnion_PathOp, filename);
3468 } 3484 }
3469 3485
3470 static void issue2808(skiatest::Reporter* reporter, const char* filename) { 3486 static void issue2808(skiatest::Reporter* reporter, const char* filename) {
3471 SkPath path1, path2; 3487 SkPath path1, path2;
3472 3488
3473 path1.moveTo(509.20300293f, 385.601989746f); 3489 path1.moveTo(509.20300293f, 385.601989746f);
3474 path1.quadTo(509.20300293f, 415.68838501f, 487.928710938f, 436.96270752f ); 3490 path1.quadTo(509.20300293f, 415.68838501f, 487.928710938f, 436.96270752f );
3475 path1.quadTo(466.654388428f, 458.236999512f, 436.567993164f, 458.2369995 12f); 3491 path1.quadTo(466.654388428f, 458.236999512f, 436.567993164f, 458.2369995 12f);
3476 path1.quadTo(406.4815979f, 458.236999512f, 385.207275391f, 436.96270752f ); 3492 path1.quadTo(406.4815979f, 458.236999512f, 385.207275391f, 436.96270752f );
3477 path1.quadTo(363.932983398f, 415.68838501f, 363.932983398f, 385.60198974 6f); 3493 path1.quadTo(363.932983398f, 415.68838501f, 363.932983398f, 385.60198974 6f);
(...skipping 10 matching lines...) Expand all
3488 path2.quadTo(400, 301.028259277f, 400, 290.87298584f); 3504 path2.quadTo(400, 301.028259277f, 400, 290.87298584f);
3489 path2.quadTo(400, 280.717712402f, 407.180847168f, 273.536865234f); 3505 path2.quadTo(400, 280.717712402f, 407.180847168f, 273.536865234f);
3490 path2.quadTo(414.361724854f, 266.355987549f, 424.516998291f, 266.3559875 49f); 3506 path2.quadTo(414.361724854f, 266.355987549f, 424.516998291f, 266.3559875 49f);
3491 path2.quadTo(434.672271729f, 266.355987549f, 441.853149414f, 273.5368652 34f); 3507 path2.quadTo(434.672271729f, 266.355987549f, 441.853149414f, 273.5368652 34f);
3492 path2.quadTo(449.033996582f, 280.717712402f, 449.033996582f, 290.8729858 4f); 3508 path2.quadTo(449.033996582f, 280.717712402f, 449.033996582f, 290.8729858 4f);
3493 path2.close(); 3509 path2.close();
3494 3510
3495 testPathOp(reporter, path1, path2, kUnion_PathOp, filename); 3511 testPathOp(reporter, path1, path2, kUnion_PathOp, filename);
3496 } 3512 }
3497 3513
3498 static void fuzz763_3084(skiatest::Reporter* reporter, const char* filename) {
3499 SkPath path;
3500 path.setFillType((SkPath::FillType) 1);
3501 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
3502 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
3503 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
3504 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
3505 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
3506 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
3507 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3508 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3509 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
3510 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
3511 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3512 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
3513 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
3514 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
3515 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
3516 path.close();
3517 path.moveTo(SkBits2Float(0x421d76c6), SkBits2Float(0x414d1957));
3518 path.quadTo(SkBits2Float(0x4229fd05), SkBits2Float(0x413bbdcc), SkBits2Float(0x4 235e9b0), SkBits2Float(0x4152e45d));
3519 path.quadTo(SkBits2Float(0x4241d65c), SkBits2Float(0x416a0aee), SkBits2Float(0x4 2462d3e), SkBits2Float(0x418e11f4));
3520 path.quadTo(SkBits2Float(0x424a8421), SkBits2Float(0x41a71e71), SkBits2Float(0x4 244ba7d), SkBits2Float(0x41bef7c6));
3521 path.quadTo(SkBits2Float(0x423ef0da), SkBits2Float(0x41d6d11e), SkBits2Float(0x4 2326a9b), SkBits2Float(0x41df7ee4));
3522 path.quadTo(SkBits2Float(0x42273b3e), SkBits2Float(0x41e73f0f), SkBits2Float(0x4 21c865e), SkBits2Float(0x41ded7e1));
3523 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41f0534a), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
3524 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
3525 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
3526 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
3527 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3528 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3529 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
3530 path.quadTo(SkBits2Float(0x4209f7d0), SkBits2Float(0x41c80000), SkBits2Float(0x4 20f2625), SkBits2Float(0x41cbccd7));
3531 path.quadTo(SkBits2Float(0x420ba850), SkBits2Float(0x41c340da), SkBits2Float(0x4 209b422), SkBits2Float(0x41b7f99d));
3532 path.quadTo(SkBits2Float(0x42055d40), SkBits2Float(0x419eed20), SkBits2Float(0x4 20b26e4), SkBits2Float(0x418713c8));
3533 path.quadTo(SkBits2Float(0x4210f088), SkBits2Float(0x415e74e2), SkBits2Float(0x4 21d76c6), SkBits2Float(0x414d1957));
3534 path.close();
3535
3536 SkPath path1(path);
3537 path.reset();
3538 path.setFillType((SkPath::FillType) 0);
3539 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000));
3540 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
3541 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
3542 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
3543 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3544 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3545 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
3546 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
3547 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
3548 path.close();
3549
3550 SkPath path2(path);
3551 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3552 }
3553
3554 static void fuzz763_1823(skiatest::Reporter* reporter, const char* filename) {
3555 SkPath path;
3556 path.setFillType((SkPath::FillType) 1);
3557 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
3558 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
3559 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
3560 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
3561 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
3562 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
3563 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3564 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3565 path.quadTo(SkBits2Float(0x405eb92c), SkBits2Float(0x422355aa), SkBits2Float(0x3 eee625a), SkBits2Float(0x4223f3e8));
3566 path.quadTo(SkBits2Float(0x3f238500), SkBits2Float(0x4224bba7), SkBits2Float(0x3 f4dcc60), SkBits2Float(0x4225921a));
3567 path.quadTo(SkBits2Float(0x4036c5c0), SkBits2Float(0x422ffa87), SkBits2Float(0x4 01de138), SkBits2Float(0x423d244e));
3568 path.quadTo(SkBits2Float(0x4004fcb0), SkBits2Float(0x424a4e17), SkBits2Float(0xb f0628a0), SkBits2Float(0x42528342));
3569 path.quadTo(SkBits2Float(0xc04810f8), SkBits2Float(0x425ab86c), SkBits2Float(0xc 0cd56bc), SkBits2Float(0x42592a22));
3570 path.quadTo(SkBits2Float(0xc11b5280), SkBits2Float(0x42579bda), SkBits2Float(0xc 13c272a), SkBits2Float(0x424d336e));
3571 path.quadTo(SkBits2Float(0xc15cfbd4), SkBits2Float(0x4242cb00), SkBits2Float(0xc 156c2ae), SkBits2Float(0x4235a138));
3572 path.quadTo(SkBits2Float(0xc150898c), SkBits2Float(0x42287770), SkBits2Float(0xc 126e7d8), SkBits2Float(0x42204246));
3573 path.quadTo(SkBits2Float(0xc1066ae4), SkBits2Float(0x4219da96), SkBits2Float(0xc 0be6f82), SkBits2Float(0x42196502));
3574 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x42106507), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3575 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
3576 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
3577 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
3578 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
3579 path.close();
3580 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
3581 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
3582 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
3583 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
3584 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
3585 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
3586 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
3587 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3588 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3589 path.close();
3590
3591 SkPath path1(path);
3592 path.reset();
3593 path.setFillType((SkPath::FillType) 0);
3594 path.moveTo(SkBits2Float(0x41000000), SkBits2Float(0x42040000));
3595 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3596 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
3597 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
3598 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3599 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ed7d86), SkBits2Float(0xc 0b504f3), SkBits2Float(0x41dabec3));
3600 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x41c80000), SkBits2Float(0x0 0000000), SkBits2Float(0x41c80000));
3601 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x41c80000), SkBits2Float(0x4 0b504f3), SkBits2Float(0x41dabec3));
3602 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3603 path.close();
3604
3605 SkPath path2(path);
3606 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3607 }
3608
3609 static void fuzz763_378(skiatest::Reporter* reporter, const char* filename) {
3610 SkPath path;
3611 path.setFillType((SkPath::FillType) 1);
3612 path.moveTo(SkBits2Float(0x41013776), SkBits2Float(0xc25007a8));
3613 path.quadTo(SkBits2Float(0x412f219e), SkBits2Float(0xc256a86f), SkBits2Float(0x4 1625842), SkBits2Float(0xc2533a60));
3614 path.quadTo(SkBits2Float(0x418ac776), SkBits2Float(0xc24fcc52), SkBits2Float(0x4 1980904), SkBits2Float(0xc24451c8));
3615 path.quadTo(SkBits2Float(0x41a54a92), SkBits2Float(0xc238d73e), SkBits2Float(0x4 19e6e72), SkBits2Float(0xc22c0994));
3616 path.quadTo(SkBits2Float(0x41979256), SkBits2Float(0xc21f3bea), SkBits2Float(0x4 1809d42), SkBits2Float(0xc2189b23));
3617 path.quadTo(SkBits2Float(0x4153505c), SkBits2Float(0xc211fa5c), SkBits2Float(0x4 12019b5), SkBits2Float(0xc215686b));
3618 path.quadTo(SkBits2Float(0x40d9c61e), SkBits2Float(0xc218d67a), SkBits2Float(0x4 0a4bfe8), SkBits2Float(0xc2245104));
3619 path.quadTo(SkBits2Float(0x405f7360), SkBits2Float(0xc22fcb8e), SkBits2Float(0x4 08b2a24), SkBits2Float(0xc23c9937));
3620 path.quadTo(SkBits2Float(0x40a69a9c), SkBits2Float(0xc24966e1), SkBits2Float(0x4 1013776), SkBits2Float(0xc25007a8));
3621 path.close();
3622 path.moveTo(SkBits2Float(0xc21aa3d0), SkBits2Float(0xc21a9d6c));
3623 path.quadTo(SkBits2Float(0xc21144a0), SkBits2Float(0xc223fd00), SkBits2Float(0xc 2040363), SkBits2Float(0xc223fd46));
3624 path.quadTo(SkBits2Float(0xc1ed844d), SkBits2Float(0xc223fd8c), SkBits2Float(0xc 1dac526), SkBits2Float(0xc21a9e5c));
3625 path.quadTo(SkBits2Float(0xc1c80600), SkBits2Float(0xc2113f2c), SkBits2Float(0xc 1c80574), SkBits2Float(0xc203fdef));
3626 path.quadTo(SkBits2Float(0xc1c804e8), SkBits2Float(0xc1ed7964), SkBits2Float(0xc 1dac348), SkBits2Float(0xc1daba3e));
3627 path.quadTo(SkBits2Float(0xc1ed81a8), SkBits2Float(0xc1c7fb18), SkBits2Float(0xc 2040211), SkBits2Float(0xc1c7fa8c));
3628 path.quadTo(SkBits2Float(0xc211434e), SkBits2Float(0xc1c7fa00), SkBits2Float(0xc 21aa2e0), SkBits2Float(0xc1dab860));
3629 path.quadTo(SkBits2Float(0xc2240274), SkBits2Float(0xc1ed76bf), SkBits2Float(0xc 22402ba), SkBits2Float(0xc203fc9d));
3630 path.quadTo(SkBits2Float(0xc2240300), SkBits2Float(0xc2113dda), SkBits2Float(0xc 21aa3d0), SkBits2Float(0xc21a9d6c));
3631 path.close();
3632 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
3633 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
3634 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
3635 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
3636 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
3637 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
3638 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3639 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3640 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
3641 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
3642 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3643 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
3644 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
3645 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
3646 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
3647 path.close();
3648 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
3649 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
3650 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
3651 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
3652 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
3653 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
3654 path.quadTo(SkBits2Float(0xc24fcaa2), SkBits2Float(0x418ace05), SkBits2Float(0xc 2533929), SkBits2Float(0x41626a5d));
3655 path.lineTo(SkBits2Float(0xc25338d1), SkBits2Float(0x41626f8c));
3656 path.quadTo(SkBits2Float(0xc24fca68), SkBits2Float(0x418ad2e8), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4));
3657 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee));
3658 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 218995e), SkBits2Float(0x4180a5aa));
3659 path.quadTo(SkBits2Float(0xc211f8e8), SkBits2Float(0x41536071), SkBits2Float(0xc 2156751), SkBits2Float(0x41202a2d));
3660 path.quadTo(SkBits2Float(0xc2156774), SkBits2Float(0x41202819), SkBits2Float(0xc 2156798), SkBits2Float(0x41202604));
3661 path.quadTo(SkBits2Float(0xc2156d3e), SkBits2Float(0x411fd1b7), SkBits2Float(0xc 2157321), SkBits2Float(0x411f7b6e));
3662 path.quadTo(SkBits2Float(0xc218e910), SkBits2Float(0x40d986da), SkBits2Float(0xc 2245097), SkBits2Float(0x40a4daf8));
3663 path.quadTo(SkBits2Float(0xc22fcb44), SkBits2Float(0x405fad48), SkBits2Float(0xc 23c98dc), SkBits2Float(0x408b493c));
3664 path.quadTo(SkBits2Float(0xc2496673), SkBits2Float(0x40a6bbcc), SkBits2Float(0xc 25006fe), SkBits2Float(0x4101489a));
3665 path.quadTo(SkBits2Float(0xc256a729), SkBits2Float(0x412f30b9), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
3666 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
3667 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
3668 path.close();
3669 path.moveTo(SkBits2Float(0xc2533937), SkBits2Float(0x41626995));
3670 path.quadTo(SkBits2Float(0xc2533968), SkBits2Float(0x416266bf), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
3671 path.lineTo(SkBits2Float(0x41dac1c6), SkBits2Float(0x41dabbc0));
3672 path.quadTo(SkBits2Float(0x41dac044), SkBits2Float(0x41dabd41), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3673 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3674 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
3675 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
3676 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
3677 path.quadTo(SkBits2Float(0x421aa1af), SkBits2Float(0x421a9f8e), SkBits2Float(0x4 21aa2bf), SkBits2Float(0x421a9e7d));
3678 path.quadTo(SkBits2Float(0x42240200), SkBits2Float(0x42113efb), SkBits2Float(0x4 22401d1), SkBits2Float(0x4203fdbe));
3679 path.quadTo(SkBits2Float(0x422401a3), SkBits2Float(0x41ed7902), SkBits2Float(0x4 21aa220), SkBits2Float(0x41daba81));
3680 path.quadTo(SkBits2Float(0x4211429e), SkBits2Float(0x41c7fc00), SkBits2Float(0x4 2040161), SkBits2Float(0x41c7fc5d));
3681 path.quadTo(SkBits2Float(0x41ed8047), SkBits2Float(0x41c7fcbb), SkBits2Float(0x4 1dac1c6), SkBits2Float(0x41dabbc0));
3682 path.lineTo(SkBits2Float(0xc2533937), SkBits2Float(0x41626995));
3683 path.close();
3684
3685 SkPath path1(path);
3686 path.reset();
3687 path.setFillType((SkPath::FillType) 0);
3688 path.moveTo(SkBits2Float(0xc2444fb0), SkBits2Float(0x419813d4));
3689 path.quadTo(SkBits2Float(0xc24fca68), SkBits2Float(0x418ad2e8), SkBits2Float(0xc 25338d1), SkBits2Float(0x41626f8c));
3690 path.quadTo(SkBits2Float(0xc256a73a), SkBits2Float(0x412f3944), SkBits2Float(0xc 25006c4), SkBits2Float(0x41014e62));
3691 path.quadTo(SkBits2Float(0xc249664e), SkBits2Float(0x40a6c6fc), SkBits2Float(0xc 23c98bd), SkBits2Float(0x408b53b8));
3692 path.quadTo(SkBits2Float(0xc22fcb2b), SkBits2Float(0x405fc0d8), SkBits2Float(0xc 2245073), SkBits2Float(0x40a4e41c));
3693 path.quadTo(SkBits2Float(0xc218d5ba), SkBits2Float(0x40d9e7cc), SkBits2Float(0xc 2156751), SkBits2Float(0x41202a2d));
3694 path.quadTo(SkBits2Float(0xc211f8e8), SkBits2Float(0x41536071), SkBits2Float(0xc 218995e), SkBits2Float(0x4180a5aa));
3695 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee));
3696 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4));
3697 path.close();
3698 SkPath path2(path);
3699 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
3700 }
3701
3702 static void fuzz763_378b(skiatest::Reporter* reporter, const char* filename) {
3703 SkPath path;
3704 path.setFillType((SkPath::FillType) 1);
3705 path.moveTo(-47.1494f, 4.35143f);
3706 path.quadTo(-39.8075f, 18.9486f, -43.0083f, 19.8062f);
3707 path.quadTo(-50.35f, 5.21042f, -52.0068f, 8.08022f);
3708 path.quadTo(-53.6632f, 10.9494f, -52.8062f, 14.1494f);
3709 path.quadTo(-53.6639f, 10.9486f, -52.007f, 8.07884f);
3710 path.quadTo(-50.3502f, 5.20908f, -47.1494f, 4.35143f);
3711 path.close();
3712 SkPath path1(path);
3713 path.reset();
3714 path.setFillType((SkPath::FillType) 0);
3715 path.moveTo(SkBits2Float(0xc2444fb0), SkBits2Float(0x419813d4));
3716 path.quadTo(SkBits2Float(0xc24fca68), SkBits2Float(0x418ad2e8), SkBits2Float(0xc 25338d1), SkBits2Float(0x41626f8c));
3717 path.quadTo(SkBits2Float(0xc256a73a), SkBits2Float(0x412f3944), SkBits2Float(0xc 25006c4), SkBits2Float(0x41014e62));
3718 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee));
3719 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4));
3720 path.close();
3721 SkPath path2(path);
3722 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
3723 }
3724
3725 static void fuzz763_378c(skiatest::Reporter* reporter, const char* filename) {
3726 SkPath path;
3727 path.setFillType((SkPath::FillType) 1);
3728 path.moveTo(-47.1494f, 4.35143f);
3729 path.quadTo(-46.208f, 20.6664f, -43.0072f, 19.8086f);
3730 path.quadTo(-39.8065f, 18.9507f, -38.1498f, 16.0809f);
3731 path.quadTo(-36.4931f, 13.211f, -37.3509f, 10.0103f);
3732 path.quadTo(-37.351f, 10.0098f, -37.3512f, 10.0093f);
3733 path.close();
3734 SkPath path1(path);
3735 path.reset();
3736 path.setFillType((SkPath::FillType) 0);
3737 path.moveTo(-49.0778f, 19.0097f);
3738 path.quadTo(-38.2087f, 6.80955f, -37.3509f, 10.0103f);
3739 path.quadTo(-36.4931f, 13.211f, -38.1498f, 16.0809f);
3740 path.quadTo(-39.8065f, 18.9507f, -43.0072f, 19.8086f);
3741 path.close();
3742 SkPath path2(path);
3743 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3744 }
3745
3746 static void fuzz763_378d(skiatest::Reporter* reporter, const char* filename) {
3747 SkPath path;
3748 path.setFillType((SkPath::FillType) 1);
3749 path.moveTo(-47.1494f, 4.35143f);
3750 path.quadTo(-38.2091f, 6.80749f, -37.3514f, 10.0083f); // required
3751 path.quadTo(-36.4938f, 13.2091f, -38.1506f, 16.0788f); // required
3752 path.close();
3753 SkPath path1(path);
3754 path.reset();
3755 path.setFillType((SkPath::FillType) 0);
3756 path.moveTo(-49.0778f, 19.0097f);
3757 path.quadTo(-38.2087f, 6.80955f, -37.3509f, 10.0103f);
3758 path.quadTo(-36.4931f, 13.211f, -38.1498f, 16.0809f);
3759 path.close();
3760 SkPath path2(path);
3761 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3762 }
3763
3764 static void fuzz763_558(skiatest::Reporter* reporter, const char* filename) {
3765 SkPath path;
3766 path.setFillType((SkPath::FillType) 1);
3767 path.moveTo(SkBits2Float(0x41c95d06), SkBits2Float(0xc238e312));
3768 path.quadTo(SkBits2Float(0x41e37302), SkBits2Float(0xc23b3f66), SkBits2Float(0x4 1f93bb2), SkBits2Float(0xc233b1b3));
3769 path.quadTo(SkBits2Float(0x42025d9e), SkBits2Float(0xc22fb50a), SkBits2Float(0x4 205bcea), SkBits2Float(0xc22a30db));
3770 path.quadTo(SkBits2Float(0x420be531), SkBits2Float(0xc22837fe), SkBits2Float(0x4 21120f1), SkBits2Float(0xc2239353));
3771 path.quadTo(SkBits2Float(0x421b0b2d), SkBits2Float(0xc21ac757), SkBits2Float(0x4 21bd594), SkBits2Float(0xc20d8c25));
3772 path.quadTo(SkBits2Float(0x421c9ffc), SkBits2Float(0xc20050f2), SkBits2Float(0x4 213d3fe), SkBits2Float(0xc1eccd6f));
3773 path.quadTo(SkBits2Float(0x420b0802), SkBits2Float(0xc1d8f8fa), SkBits2Float(0x4 1fb99a0), SkBits2Float(0xc1d7642b));
3774 path.quadTo(SkBits2Float(0x41e1233b), SkBits2Float(0xc1d5cf5c), SkBits2Float(0x4 1cd4ec5), SkBits2Float(0xc1e76755));
3775 path.quadTo(SkBits2Float(0x41c5ef3d), SkBits2Float(0xc1edf201), SkBits2Float(0x4 1c11591), SkBits2Float(0xc1f5b68f));
3776 path.quadTo(SkBits2Float(0x41b863c9), SkBits2Float(0xc1f896c5), SkBits2Float(0x4 1b04a41), SkBits2Float(0xc1fe34bf));
3777 path.quadTo(SkBits2Float(0x419a8190), SkBits2Float(0xc206a812), SkBits2Float(0x4 195c8e8), SkBits2Float(0xc213b310));
3778 path.quadTo(SkBits2Float(0x41911040), SkBits2Float(0xc220be0e), SkBits2Float(0x4 1a02ba6), SkBits2Float(0xc22ba266));
3779 path.quadTo(SkBits2Float(0x41af470a), SkBits2Float(0xc23686bf), SkBits2Float(0x4 1c95d06), SkBits2Float(0xc238e312));
3780 path.close();
3781 path.moveTo(SkBits2Float(0xc2169738), SkBits2Float(0xc2131d1b));
3782 path.quadTo(SkBits2Float(0xc2096e21), SkBits2Float(0xc214b131), SkBits2Float(0xc 1fe042e), SkBits2Float(0xc20c809d));
3783 path.quadTo(SkBits2Float(0xc1e92c1a), SkBits2Float(0xc204500a), SkBits2Float(0xc 1e603ef), SkBits2Float(0xc1ee4de5));
3784 path.quadTo(SkBits2Float(0xc1e2dbc3), SkBits2Float(0xc1d3fbb6), SkBits2Float(0xc 1f33ce9), SkBits2Float(0xc1bf23a3));
3785 path.quadTo(SkBits2Float(0xc201cf08), SkBits2Float(0xc1aa4b8f), SkBits2Float(0xc 20ef820), SkBits2Float(0xc1a72363));
3786 path.quadTo(SkBits2Float(0xc21c2138), SkBits2Float(0xc1a3fb38), SkBits2Float(0xc 2268d41), SkBits2Float(0xc1b45c5e));
3787 path.quadTo(SkBits2Float(0xc230f94b), SkBits2Float(0xc1c4bd85), SkBits2Float(0xc 2328d61), SkBits2Float(0xc1df0fb4));
3788 path.quadTo(SkBits2Float(0xc2342177), SkBits2Float(0xc1f961e4), SkBits2Float(0xc 22bf0e3), SkBits2Float(0xc2071cfb));
3789 path.quadTo(SkBits2Float(0xc223c050), SkBits2Float(0xc2118905), SkBits2Float(0xc 2169738), SkBits2Float(0xc2131d1b));
3790 path.close();
3791 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
3792 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
3793 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
3794 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
3795 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
3796 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
3797 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3798 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3799 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
3800 path.quadTo(SkBits2Float(0xbe8f799b), SkBits2Float(0x42240000), SkBits2Float(0xb f0db675), SkBits2Float(0x4223eed6));
3801 path.quadTo(SkBits2Float(0xc060c2a3), SkBits2Float(0x42233513), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
3802 path.lineTo(SkBits2Float(0xc0c24f68), SkBits2Float(0x4218d9ff));
3803 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x421005d8), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3804 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
3805 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
3806 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
3807 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
3808 path.close();
3809 path.moveTo(SkBits2Float(0x42215fd9), SkBits2Float(0xc1c64bb4));
3810 path.quadTo(SkBits2Float(0x422dad8e), SkBits2Float(0xc1d0284f), SkBits2Float(0x4 239dd52), SkBits2Float(0xc1c5bb1d));
3811 path.quadTo(SkBits2Float(0x42460d14), SkBits2Float(0xc1bb4dea), SkBits2Float(0x4 24afb61), SkBits2Float(0xc1a2b282));
3812 path.quadTo(SkBits2Float(0x424fe9af), SkBits2Float(0xc18a1717), SkBits2Float(0x4 24ab316), SkBits2Float(0xc1636f22));
3813 path.quadTo(SkBits2Float(0x42457c7c), SkBits2Float(0xc132b016), SkBits2Float(0x4 2392ec8), SkBits2Float(0xc11ef6e3));
3814 path.quadTo(SkBits2Float(0x422ce113), SkBits2Float(0xc10b3dad), SkBits2Float(0x4 220b150), SkBits2Float(0xc1201812));
3815 path.quadTo(SkBits2Float(0x4214818d), SkBits2Float(0xc134f276), SkBits2Float(0x4 20f9340), SkBits2Float(0xc1662949));
3816 path.quadTo(SkBits2Float(0x420aa4f2), SkBits2Float(0xc18bb00e), SkBits2Float(0x4 20fdb8c), SkBits2Float(0xc1a40f94));
3817 path.quadTo(SkBits2Float(0x42151225), SkBits2Float(0xc1bc6f1a), SkBits2Float(0x4 2215fd9), SkBits2Float(0xc1c64bb4));
3818 path.close();
3819 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
3820 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
3821 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
3822 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
3823 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
3824 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
3825 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
3826 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
3827 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
3828 path.close();
3829 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
3830 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
3831 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
3832 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
3833 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
3834 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
3835 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
3836 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3837 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3838 path.close();
3839
3840 SkPath path1(path);
3841 path.reset();
3842 path.setFillType((SkPath::FillType) 0);
3843 path.moveTo(SkBits2Float(0xbfe9fe20), SkBits2Float(0x42526568));
3844 path.quadTo(SkBits2Float(0xc08f5cf4), SkBits2Float(0x425a57e7), SkBits2Float(0xc 0f853f0), SkBits2Float(0x4258763b));
3845 path.quadTo(SkBits2Float(0xc130a57c), SkBits2Float(0x42569490), SkBits2Float(0xc 1506f76), SkBits2Float(0x424bf8e3));
3846 path.quadTo(SkBits2Float(0xc1703970), SkBits2Float(0x42415d36), SkBits2Float(0xc 168b2c0), SkBits2Float(0x42343e56));
3847 path.quadTo(SkBits2Float(0xc1612c17), SkBits2Float(0x42271f76), SkBits2Float(0xc 136bd61), SkBits2Float(0x421f2cf7));
3848 path.quadTo(SkBits2Float(0xc10c4ead), SkBits2Float(0x42173a78), SkBits2Float(0xc 0afa654), SkBits2Float(0x42191c24));
3849 path.quadTo(SkBits2Float(0xc00d5ea8), SkBits2Float(0x421afdcf), SkBits2Float(0xb e636c00), SkBits2Float(0x4225997c));
3850 path.quadTo(SkBits2Float(0x3fe1e250), SkBits2Float(0x42303529), SkBits2Float(0x3 fa5acf0), SkBits2Float(0x423d5409));
3851 path.quadTo(SkBits2Float(0x3f52ef00), SkBits2Float(0x424a72ea), SkBits2Float(0xb fe9fe20), SkBits2Float(0x42526568));
3852 path.close();
3853
3854 SkPath path2(path);
3855 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3856 }
3857
3858 static void fuzz763_378a(skiatest::Reporter* reporter, const char* filename) {
3859 SkPath path;
3860 path.setFillType((SkPath::FillType) 1);
3861 path.moveTo(SkBits2Float(0x40f4c1fc), SkBits2Float(0xc25049c6));
3862 path.quadTo(SkBits2Float(0x41281306), SkBits2Float(0xc25702a0), SkBits2Float(0x4 15b6610), SkBits2Float(0xc253af82));
3863 path.quadTo(SkBits2Float(0x41875c90), SkBits2Float(0xc2505c66), SkBits2Float(0x4 194ce44), SkBits2Float(0xc244efe4));
3864 path.quadTo(SkBits2Float(0x41a23ff8), SkBits2Float(0xc2398363), SkBits2Float(0x4 19b99bc), SkBits2Float(0xc22caea0));
3865 path.quadTo(SkBits2Float(0x4194f385), SkBits2Float(0xc21fd9dc), SkBits2Float(0x4 17c3502), SkBits2Float(0xc2192102));
3866 path.quadTo(SkBits2Float(0x414e82fc), SkBits2Float(0xc2126828), SkBits2Float(0x4 11b2fef), SkBits2Float(0xc215bb45));
3867 path.quadTo(SkBits2Float(0x40cfb9c4), SkBits2Float(0xc2190e62), SkBits2Float(0x4 099f2f4), SkBits2Float(0xc2247ae4));
3868 path.quadTo(SkBits2Float(0x40485848), SkBits2Float(0xc22fe766), SkBits2Float(0x4 07d8a18), SkBits2Float(0xc23cbc28));
3869 path.quadTo(SkBits2Float(0x40995df0), SkBits2Float(0xc24990ec), SkBits2Float(0x4 0f4c1fc), SkBits2Float(0xc25049c6));
3870 path.close();
3871 path.moveTo(SkBits2Float(0xc20605f2), SkBits2Float(0xc22259cd));
3872 path.quadTo(SkBits2Float(0xc1f189ee), SkBits2Float(0xc22283df), SkBits2Float(0xc 1de900b), SkBits2Float(0xc219426c));
3873 path.quadTo(SkBits2Float(0xc1cb9626), SkBits2Float(0xc21000fa), SkBits2Float(0xc 1cb4202), SkBits2Float(0xc202c000));
3874 path.quadTo(SkBits2Float(0xc1caeddd), SkBits2Float(0xc1eafe0b), SkBits2Float(0xc 1dd70c3), SkBits2Float(0xc1d80427));
3875 path.quadTo(SkBits2Float(0xc1eff3a7), SkBits2Float(0xc1c50a43), SkBits2Float(0xc 2053ace), SkBits2Float(0xc1c4b61e));
3876 path.quadTo(SkBits2Float(0xc2127bc8), SkBits2Float(0xc1c461fa), SkBits2Float(0xc 21bf8ba), SkBits2Float(0xc1d6e4df));
3877 path.quadTo(SkBits2Float(0xc22575ad), SkBits2Float(0xc1e967c4), SkBits2Float(0xc 2259fbf), SkBits2Float(0xc201f4dc));
3878 path.quadTo(SkBits2Float(0xc225c9d1), SkBits2Float(0xc20f35d6), SkBits2Float(0xc 21c885e), SkBits2Float(0xc218b2c8));
3879 path.quadTo(SkBits2Float(0xc21346ec), SkBits2Float(0xc2222fbb), SkBits2Float(0xc 20605f2), SkBits2Float(0xc22259cd));
3880 path.close();
3881 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
3882 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
3883 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
3884 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
3885 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
3886 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
3887 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
3888 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
3889 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
3890 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
3891 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
3892 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
3893 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
3894 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
3895 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
3896 path.close();
3897 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
3898 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
3899 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
3900 path.quadTo(SkBits2Float(0xc2155d3d), SkBits2Float(0x4120c08f), SkBits2Float(0xc 2155303), SkBits2Float(0x41215e9f));
3901 path.quadTo(SkBits2Float(0xc21547f6), SkBits2Float(0x4121fb98), SkBits2Float(0xc 2153d2f), SkBits2Float(0x412299db));
3902 path.quadTo(SkBits2Float(0xc2153265), SkBits2Float(0x41233845), SkBits2Float(0xc 21527fc), SkBits2Float(0x4123d684));
3903 path.quadTo(SkBits2Float(0xc2151cc4), SkBits2Float(0x41247361), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
3904 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
3905 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
3906 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
3907 path.quadTo(SkBits2Float(0xc24f36b0), SkBits2Float(0x418e3b60), SkBits2Float(0xc 252bffc), SkBits2Float(0x41695dc8));
3908 path.quadTo(SkBits2Float(0xc252cf70), SkBits2Float(0x41687e79), SkBits2Float(0xc 252de2e), SkBits2Float(0x41679ef4));
3909 path.quadTo(SkBits2Float(0xc252ee09), SkBits2Float(0x4166c0c4), SkBits2Float(0xc 252fd41), SkBits2Float(0x4165e14c));
3910 path.quadTo(SkBits2Float(0xc2530c80), SkBits2Float(0x41650165), SkBits2Float(0xc 2531afd), SkBits2Float(0x416421f9));
3911 path.quadTo(SkBits2Float(0xc2532a97), SkBits2Float(0x416343e9), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
3912 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
3913 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
3914 path.close();
3915 path.moveTo(SkBits2Float(0x4204d274), SkBits2Float(0x41c5cf9d));
3916 path.quadTo(SkBits2Float(0x42121393), SkBits2Float(0x41c59784), SkBits2Float(0x4 21b86b4), SkBits2Float(0x41d82e73));
3917 path.quadTo(SkBits2Float(0x4224f9d6), SkBits2Float(0x41eac561), SkBits2Float(0x4 22515e3), SkBits2Float(0x4202a3d1));
3918 path.quadTo(SkBits2Float(0x422531ef), SkBits2Float(0x420fe4f0), SkBits2Float(0x4 21be677), SkBits2Float(0x42195811));
3919 path.quadTo(SkBits2Float(0x421b94ff), SkBits2Float(0x4219aae4), SkBits2Float(0x4 21b423a), SkBits2Float(0x4219fb06));
3920 path.lineTo(SkBits2Float(0x41dabec3), SkBits2Float(0x421aa09e));
3921 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
3922 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
3923 path.quadTo(SkBits2Float(0x41db32ee), SkBits2Float(0x41da4a98), SkBits2Float(0x4 1dba82d), SkBits2Float(0x41d9d952));
3924 path.quadTo(SkBits2Float(0x41dc1880), SkBits2Float(0x41d9631e), SkBits2Float(0x4 1dc8bb9), SkBits2Float(0x41d8edf9));
3925 path.quadTo(SkBits2Float(0x41ef22a8), SkBits2Float(0x41c607b5), SkBits2Float(0x4 204d274), SkBits2Float(0x41c5cf9d));
3926 path.close();
3927
3928 SkPath path1(path);
3929 path.reset();
3930 path.setFillType((SkPath::FillType) 0);
3931 path.moveTo(SkBits2Float(0xc243ae22), SkBits2Float(0x419b4beb));
3932 path.quadTo(SkBits2Float(0xc24f36b0), SkBits2Float(0x418e3b60), SkBits2Float(0xc 252bffc), SkBits2Float(0x41695dc8));
3933 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296));
3934 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660));
3935 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c));
3936 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
3937 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
3938 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
3939 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
3940 path.close();
3941
3942 SkPath path2(path);
3943 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3944 }
3945
3946
3947 static void fuzz763_378a_1(skiatest::Reporter* reporter, const char* filename) {
3948 SkPath path;
3949 path.setFillType((SkPath::FillType) 1);
3950 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
3951 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
3952 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
3953 path.quadTo(SkBits2Float(0xc2155d3d), SkBits2Float(0x4120c08f), SkBits2Float(0xc 2155303), SkBits2Float(0x41215e9f));
3954 path.quadTo(SkBits2Float(0xc21547f6), SkBits2Float(0x4121fb98), SkBits2Float(0xc 2153d2f), SkBits2Float(0x412299db));
3955 path.quadTo(SkBits2Float(0xc2153265), SkBits2Float(0x41233845), SkBits2Float(0xc 21527fc), SkBits2Float(0x4123d684));
3956 path.quadTo(SkBits2Float(0xc2151cc4), SkBits2Float(0x41247361), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
3957 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
3958 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
3959 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
3960 path.quadTo(SkBits2Float(0xc24f36b0), SkBits2Float(0x418e3b60), SkBits2Float(0xc 252bffc), SkBits2Float(0x41695dc8));
3961 path.quadTo(SkBits2Float(0xc252cf70), SkBits2Float(0x41687e79), SkBits2Float(0xc 252de2e), SkBits2Float(0x41679ef4));
3962 path.quadTo(SkBits2Float(0xc252ee09), SkBits2Float(0x4166c0c4), SkBits2Float(0xc 252fd41), SkBits2Float(0x4165e14c));
3963 path.quadTo(SkBits2Float(0xc2530c80), SkBits2Float(0x41650165), SkBits2Float(0xc 2531afd), SkBits2Float(0x416421f9));
3964 path.quadTo(SkBits2Float(0xc2532a97), SkBits2Float(0x416343e9), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
3965 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
3966 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
3967 path.close();
3968
3969 SkPath path1(path);
3970 path.reset();
3971 path.setFillType((SkPath::FillType) 0);
3972 path.moveTo(SkBits2Float(0xc243ae22), SkBits2Float(0x419b4beb));
3973 path.quadTo(SkBits2Float(0xc24f36b0), SkBits2Float(0x418e3b60), SkBits2Float(0xc 252bffc), SkBits2Float(0x41695dc8));
3974 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296));
3975 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660));
3976 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c));
3977 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
3978 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
3979 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
3980 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
3981 path.close();
3982
3983 SkPath path2(path);
3984 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3985 }
3986
3987 static void cubicOp115(skiatest::Reporter* reporter, const char* filename) {
3988 SkPath path, pathB;
3989 path.setFillType(SkPath::kWinding_FillType);
3990 path.moveTo(0,1);
3991 path.cubicTo(3,4, 2,1, 5,3);
3992 path.close();
3993 pathB.setFillType(SkPath::kWinding_FillType);
3994 pathB.moveTo(1,2);
3995 pathB.cubicTo(3,5, 1,0, 4,3);
3996 pathB.close();
3997 SkPath path2(path);
3998 testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
3999 }
4000
4001 static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) {
4002 SkPath path;
4003 path.setFillType((SkPath::FillType) 1);
4004 path.moveTo(SkBits2Float(0x40dce520), SkBits2Float(0xc250b45c));
4005 path.quadTo(SkBits2Float(0x411bc0ec), SkBits2Float(0xc25796e0), SkBits2Float(0x4 14f4352), SkBits2Float(0xc25472d6));
4006 path.quadTo(SkBits2Float(0x418162dd), SkBits2Float(0xc2514ece), SkBits2Float(0x4 18f27e4), SkBits2Float(0xc245fb37));
4007 path.quadTo(SkBits2Float(0x419cecea), SkBits2Float(0xc23aa7a0), SkBits2Float(0x4 196a4d8), SkBits2Float(0xc22dc706));
4008 path.quadTo(SkBits2Float(0x41905cc8), SkBits2Float(0xc220e66c), SkBits2Float(0x4 1736b34), SkBits2Float(0xc21a03e9));
4009 path.quadTo(SkBits2Float(0x41461cda), SkBits2Float(0xc2132166), SkBits2Float(0x4 1129a71), SkBits2Float(0xc216456f));
4010 path.quadTo(SkBits2Float(0x40be3010), SkBits2Float(0xc2196978), SkBits2Float(0x4 0871bf8), SkBits2Float(0xc224bd0e));
4011 path.quadTo(SkBits2Float(0x40200fb8), SkBits2Float(0xc23010a5), SkBits2Float(0x4 0525050), SkBits2Float(0xc23cf13e));
4012 path.quadTo(SkBits2Float(0x4082486c), SkBits2Float(0xc249d1d9), SkBits2Float(0x4 0dce520), SkBits2Float(0xc250b45c));
4013 path.close();
4014 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
4015 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
4016 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
4017 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
4018 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
4019 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
4020 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
4021 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
4022 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
4023 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
4024 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
4025 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
4026 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
4027 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
4028 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
4029 path.close();
4030 path.moveTo(SkBits2Float(0x422b20ca), SkBits2Float(0xc1a252a8));
4031 path.quadTo(SkBits2Float(0x4237e448), SkBits2Float(0xc1a97900), SkBits2Float(0x4 24371e0), SkBits2Float(0xc19c7a4f));
4032 path.quadTo(SkBits2Float(0x424eff77), SkBits2Float(0xc18f7b9e), SkBits2Float(0x4 25292a1), SkBits2Float(0xc16be93c));
4033 path.quadTo(SkBits2Float(0x425625cd), SkBits2Float(0xc138db44), SkBits2Float(0x4 24fa674), SkBits2Float(0xc10aa4e6));
4034 path.quadTo(SkBits2Float(0x4249271c), SkBits2Float(0xc0b8dd14), SkBits2Float(0x4 23c639c), SkBits2Float(0xc09c43bc));
4035 path.quadTo(SkBits2Float(0x422fa01e), SkBits2Float(0xc07f54c8), SkBits2Float(0x4 2241287), SkBits2Float(0xc0b3a528));
4036 path.quadTo(SkBits2Float(0x421884f0), SkBits2Float(0xc0e79fee), SkBits2Float(0x4 214f1c4), SkBits2Float(0xc126ddf2));
4037 path.quadTo(SkBits2Float(0x42115e99), SkBits2Float(0xc159ebed), SkBits2Float(0x4 217ddf2), SkBits2Float(0xc1841124));
4038 path.quadTo(SkBits2Float(0x421e5d4a), SkBits2Float(0xc19b2c54), SkBits2Float(0x4 22b20ca), SkBits2Float(0xc1a252a8));
4039 path.close();
4040 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
4041 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
4042 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
4043 path.quadTo(SkBits2Float(0xc2152d73), SkBits2Float(0x412389fb), SkBits2Float(0xc 214fe6a), SkBits2Float(0x4126ec3a));
4044 path.quadTo(SkBits2Float(0xc214b621), SkBits2Float(0x412a3217), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
4045 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
4046 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
4047 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
4048 path.quadTo(SkBits2Float(0xc24e2cd0), SkBits2Float(0x41942565), SkBits2Float(0xc 251e4cc), SkBits2Float(0x417566f6));
4049 path.quadTo(SkBits2Float(0xc2523ea2), SkBits2Float(0x41709990), SkBits2Float(0xc 252817b), SkBits2Float(0x416bd61f));
4050 path.quadTo(SkBits2Float(0xc252e6b7), SkBits2Float(0x41673927), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
4051 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
4052 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
4053 path.close();
4054 path.moveTo(SkBits2Float(0x42074f3a), SkBits2Float(0x41bef2d8));
4055 path.quadTo(SkBits2Float(0x42148e85), SkBits2Float(0x41be0d1d), SkBits2Float(0x4 21e3dbf), SkBits2Float(0x41d026ae));
4056 path.quadTo(SkBits2Float(0x4227ecfa), SkBits2Float(0x41e24040), SkBits2Float(0x4 2285fd8), SkBits2Float(0x41fcbed6));
4057 path.quadTo(SkBits2Float(0x4228d2b5), SkBits2Float(0x420b9eb6), SkBits2Float(0x4 21fc5ec), SkBits2Float(0x42154df0));
4058 path.quadTo(SkBits2Float(0x421f5958), SkBits2Float(0x4215c221), SkBits2Float(0x4 21eea62), SkBits2Float(0x42163126));
4059 path.quadTo(SkBits2Float(0x421e81d1), SkBits2Float(0x4216a62c), SkBits2Float(0x4 21e13f4), SkBits2Float(0x4217191c));
4060 path.quadTo(SkBits2Float(0x421d36b1), SkBits2Float(0x42180097), SkBits2Float(0x4 21c5020), SkBits2Float(0x4218d2e4));
4061 path.quadTo(SkBits2Float(0x421bb44d), SkBits2Float(0x421985ae), SkBits2Float(0x4 21b0c17), SkBits2Float(0x421a3367));
4062 path.lineTo(SkBits2Float(0x421aa09e), SkBits2Float(0x421aa09e));
4063 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
4064 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
4065 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
4066 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
4067 path.quadTo(SkBits2Float(0x41dbfdf8), SkBits2Float(0x41d97f8e), SkBits2Float(0x4 1dd45f8), SkBits2Float(0x41d85595));
4068 path.quadTo(SkBits2Float(0x41de6877), SkBits2Float(0x41d706ef), SkBits2Float(0x4 1dfa063), SkBits2Float(0x41d5c09b));
4069 path.quadTo(SkBits2Float(0x41e03b86), SkBits2Float(0x41d51e4d), SkBits2Float(0x4 1e0d904), SkBits2Float(0x41d48124));
4070 path.quadTo(SkBits2Float(0x41e16d06), SkBits2Float(0x41d3db0f), SkBits2Float(0x4 1e2064d), SkBits2Float(0x41d33709));
4071 path.quadTo(SkBits2Float(0x41f41fdf), SkBits2Float(0x41bfd894), SkBits2Float(0x4 2074f3a), SkBits2Float(0x41bef2d8));
4072 path.close();
4073 SkPath path1(path);
4074 path.reset();
4075 path.setFillType((SkPath::FillType) 0);
4076 path.moveTo(SkBits2Float(0xc2428ca4), SkBits2Float(0x41a0e11e));
4077 path.quadTo(SkBits2Float(0xc24e2cd0), SkBits2Float(0x41942565), SkBits2Float(0xc 251e4cc), SkBits2Float(0x417566f6));
4078 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c));
4079 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390));
4080 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a));
4081 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
4082 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
4083 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
4084 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
4085 path.close();
4086
4087 SkPath path2(path);
4088 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4089 }
4090
4091 static void fuzz763_8712a(skiatest::Reporter* reporter, const char* filename) {
4092 SkPath path;
4093 path.setFillType((SkPath::FillType) 1);
4094 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
4095 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
4096 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
4097 path.quadTo(SkBits2Float(0xc2152d73), SkBits2Float(0x412389fb), SkBits2Float(0xc 214fe6a), SkBits2Float(0x4126ec3a));
4098 path.quadTo(SkBits2Float(0xc214b621), SkBits2Float(0x412a3217), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
4099 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
4100 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
4101 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
4102 path.quadTo(SkBits2Float(0xc24e2cd0), SkBits2Float(0x41942565), SkBits2Float(0xc 251e4cc), SkBits2Float(0x417566f6));
4103 path.quadTo(SkBits2Float(0xc2523ea2), SkBits2Float(0x41709990), SkBits2Float(0xc 252817b), SkBits2Float(0x416bd61f));
4104 path.quadTo(SkBits2Float(0xc252e6b7), SkBits2Float(0x41673927), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
4105 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
4106 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
4107 path.close();
4108 SkPath path1(path);
4109 path.reset();
4110 path.setFillType((SkPath::FillType) 0);
4111 path.moveTo(SkBits2Float(0xc2428ca4), SkBits2Float(0x41a0e11e));
4112 path.quadTo(SkBits2Float(0xc24e2cd0), SkBits2Float(0x41942565), SkBits2Float(0xc 251e4cc), SkBits2Float(0x417566f6));
4113 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c));
4114 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390));
4115 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a));
4116 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
4117 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
4118 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
4119 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
4120 path.close();
4121
4122 SkPath path2(path);
4123 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4124 }
4125
4126 static void fuzz763_4014(skiatest::Reporter* reporter, const char* filename) {
4127 SkPath path;
4128 path.setFillType((SkPath::FillType) 1);
4129 path.moveTo(SkBits2Float(0x4126977e), SkBits2Float(0xc24e5cc8));
4130 path.quadTo(SkBits2Float(0x4155a79e), SkBits2Float(0xc2547762), SkBits2Float(0x4 1841952), SkBits2Float(0xc250767b));
4131 path.quadTo(SkBits2Float(0x419d5ed4), SkBits2Float(0xc24c7594), SkBits2Float(0x4 1a99408), SkBits2Float(0xc240b18c));
4132 path.quadTo(SkBits2Float(0x41b5c93d), SkBits2Float(0xc234ed84), SkBits2Float(0x4 1adc770), SkBits2Float(0xc2284ac3));
4133 path.quadTo(SkBits2Float(0x41a5c5a2), SkBits2Float(0xc21ba802), SkBits2Float(0x4 18e3d92), SkBits2Float(0xc2158d68));
4134 path.quadTo(SkBits2Float(0x416d6b02), SkBits2Float(0xc20f72ce), SkBits2Float(0x4 13adfff), SkBits2Float(0xc21373b4));
4135 path.quadTo(SkBits2Float(0x410854fa), SkBits2Float(0xc217749a), SkBits2Float(0x4 0dfd522), SkBits2Float(0xc22338a3));
4136 path.quadTo(SkBits2Float(0x40af0050), SkBits2Float(0xc22efcab), SkBits2Float(0x4 0cf0788), SkBits2Float(0xc23b9f6c));
4137 path.quadTo(SkBits2Float(0x40ef0eb8), SkBits2Float(0xc248422e), SkBits2Float(0x4 126977e), SkBits2Float(0xc24e5cc8));
4138 path.close();
4139 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
4140 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
4141 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
4142 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
4143 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
4144 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
4145 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
4146 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
4147 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
4148 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
4149 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
4150 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
4151 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
4152 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
4153 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
4154 path.close();
4155 path.moveTo(SkBits2Float(0x422dc5fa), SkBits2Float(0xc196a9b4));
4156 path.quadTo(SkBits2Float(0x423aa688), SkBits2Float(0xc19cf222), SkBits2Float(0x4 245fa38), SkBits2Float(0xc18f2d6c));
4157 path.quadTo(SkBits2Float(0x42514de7), SkBits2Float(0xc18168b7), SkBits2Float(0x4 254721e), SkBits2Float(0xc14f4f32));
4158 path.quadTo(SkBits2Float(0x42579654), SkBits2Float(0xc11bccf8), SkBits2Float(0x4 250b3fa), SkBits2Float(0xc0dcfc74));
4159 path.quadTo(SkBits2Float(0x4249d19f), SkBits2Float(0xc0825efc), SkBits2Float(0x4 23cf110), SkBits2Float(0xc0527a88));
4160 path.quadTo(SkBits2Float(0x42301082), SkBits2Float(0xc0203718), SkBits2Float(0x4 224bcd2), SkBits2Float(0xc0872e60));
4161 path.quadTo(SkBits2Float(0x42196923), SkBits2Float(0xc0be4136), SkBits2Float(0x4 21644ec), SkBits2Float(0xc112a2d8));
4162 path.quadTo(SkBits2Float(0x421320b5), SkBits2Float(0xc1462514), SkBits2Float(0x4 21a0310), SkBits2Float(0xc17373d0));
4163 path.quadTo(SkBits2Float(0x4220e56a), SkBits2Float(0xc1906147), SkBits2Float(0x4 22dc5fa), SkBits2Float(0xc196a9b4));
4164 path.close();
4165 path.moveTo(SkBits2Float(0xc23d30a0), SkBits2Float(0x400e5c28));
4166 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8));
4167 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3));
4168 path.quadTo(SkBits2Float(0xc216ac8b), SkBits2Float(0x410c0373), SkBits2Float(0xc 21678a8), SkBits2Float(0x4112d552));
4169 path.quadTo(SkBits2Float(0xc215ddb7), SkBits2Float(0x411942a8), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
4170 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
4171 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
4172 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
4173 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
4174 path.quadTo(SkBits2Float(0xc253e12c), SkBits2Float(0x41589e3d), SkBits2Float(0xc 2542b01), SkBits2Float(0x414f09d7));
4175 path.quadTo(SkBits2Float(0xc25503cd), SkBits2Float(0x414600f6), SkBits2Float(0xc 2558f0e), SkBits2Float(0x413c1fa8));
4176 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684));
4177 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28));
4178 path.close();
4179 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
4180 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
4181 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
4182 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
4183 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
4184 path.quadTo(SkBits2Float(0x4218d6c4), SkBits2Float(0x421c6a78), SkBits2Float(0x4 216e8ba), SkBits2Float(0x421ddcf4));
4185 path.quadTo(SkBits2Float(0x42156061), SkBits2Float(0x421fb9cf), SkBits2Float(0x4 2138263), SkBits2Float(0x42216e93));
4186 path.quadTo(SkBits2Float(0x42129692), SkBits2Float(0x4222460e), SkBits2Float(0x4 211a2ed), SkBits2Float(0x422307e2));
4187 path.quadTo(SkBits2Float(0x4210c6f1), SkBits2Float(0x4223e438), SkBits2Float(0x4 20fd652), SkBits2Float(0x4224b658));
4188 path.quadTo(SkBits2Float(0x4205da74), SkBits2Float(0x422d6e4b), SkBits2Float(0x4 1f141e8), SkBits2Float(0x422c893f));
4189 path.quadTo(SkBits2Float(0x41d6cee9), SkBits2Float(0x422ba432), SkBits2Float(0x4 1c55f04), SkBits2Float(0x4221a853));
4190 path.quadTo(SkBits2Float(0x41b3ef1f), SkBits2Float(0x4217ac75), SkBits2Float(0x4 1b5b938), SkBits2Float(0x420a72f5));
4191 path.quadTo(SkBits2Float(0x41b78350), SkBits2Float(0x41fa72eb), SkBits2Float(0x4 1cb7b0e), SkBits2Float(0x41e90306));
4192 path.quadTo(SkBits2Float(0x41ccce3f), SkBits2Float(0x41e7dad2), SkBits2Float(0x4 1ce28c1), SkBits2Float(0x41e6c848));
4193 path.quadTo(SkBits2Float(0x41cf607c), SkBits2Float(0x41e58ed0), SkBits2Float(0x4 1d0aced), SkBits2Float(0x41e45f0b));
4194 path.quadTo(SkBits2Float(0x41d34d34), SkBits2Float(0x41e1f8bf), SkBits2Float(0x4 1d60d52), SkBits2Float(0x41dfea66));
4195 path.quadTo(SkBits2Float(0x41d83ad5), SkBits2Float(0x41dd42b1), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
4196 path.close();
4197 SkPath path1(path);
4198 path.reset();
4199 path.setFillType((SkPath::FillType) 0);
4200 path.moveTo(SkBits2Float(0xc2478a00), SkBits2Float(0x418639e0));
4201 path.quadTo(SkBits2Float(0xc252b546), SkBits2Float(0x416fe6f8), SkBits2Float(0xc 2558f0e), SkBits2Float(0x413c1fa8));
4202 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684));
4203 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28));
4204 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8));
4205 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3));
4206 path.quadTo(SkBits2Float(0xc21434af), SkBits2Float(0x4138d815), SkBits2Float(0xc 21b57e0), SkBits2Float(0x41658529));
4207 path.quadTo(SkBits2Float(0xc2227b12), SkBits2Float(0x4189191e), SkBits2Float(0xc 22f6ce6), SkBits2Float(0x418eccb0));
4208 path.quadTo(SkBits2Float(0xc23c5ebc), SkBits2Float(0x41948044), SkBits2Float(0xc 2478a00), SkBits2Float(0x418639e0));
4209 path.close();
4210
4211 SkPath path2(path);
4212 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4213 }
4214
4215 static void fuzz763_4014a(skiatest::Reporter* reporter, const char* filename) {
4216 SkPath path;
4217 path.setFillType((SkPath::FillType) 1);
4218 path.moveTo(SkBits2Float(0xc23d30a0), SkBits2Float(0x400e5c28)); // -47.2975f, 2.22437f
4219 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8)); // -44.0613f, 1.51169f, -41.2691f, 3.29606 f
4220 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3)); // -38.4768f, 5.08043f, -37.7641f, 8.31659 f
4221 path.quadTo(SkBits2Float(0xc216ac8b), SkBits2Float(0x410c0373), SkBits2Float(0xc 21678a8), SkBits2Float(0x4112d552)); // -37.6685f, 8.75084f, -37.6178f, 9.17708 f
4222 path.quadTo(SkBits2Float(0xc215ddb7), SkBits2Float(0x411942a8), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -37.4665f, 9.57877f, -37.3514f, 10.0083 f
4223 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4224 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4225 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4226 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4227 path.quadTo(SkBits2Float(0xc253e12c), SkBits2Float(0x41589e3d), SkBits2Float(0xc 2542b01), SkBits2Float(0x414f09d7)); // -52.9699f, 13.5386f, -53.042f, 12.9399f
4228 path.quadTo(SkBits2Float(0xc25503cd), SkBits2Float(0x414600f6), SkBits2Float(0xc 2558f0e), SkBits2Float(0x413c1fa8)); // -53.2537f, 12.3752f, -53.3897f, 11.7577 f
4229 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684)); // -54.1024f, 8.52157f, -52.318f, 5.72931f
4230 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28)); // -50.5336f, 2.93706f, -47.2975f, 2.22437 f
4231 path.close();
4232
4233 SkPath path1(path);
4234 path.reset();
4235 path.setFillType((SkPath::FillType) 0);
4236 path.moveTo(SkBits2Float(0xc2478a00), SkBits2Float(0x418639e0)); // -49.8848f, 16.7783f
4237 path.quadTo(SkBits2Float(0xc252b546), SkBits2Float(0x416fe6f8), SkBits2Float(0xc 2558f0e), SkBits2Float(0x413c1fa8)); // -52.677f, 14.9939f, -53.3897f, 11.7577f
4238 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684)); // -54.1024f, 8.52157f, -52.318f, 5.72931f
4239 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28)); // -50.5336f, 2.93706f, -47.2975f, 2.22437 f
4240 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8)); // -44.0613f, 1.51169f, -41.2691f, 3.29606 f
4241 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3)); // -38.4768f, 5.08043f, -37.7641f, 8.31659 f
4242 path.quadTo(SkBits2Float(0xc21434af), SkBits2Float(0x4138d815), SkBits2Float(0xc 21b57e0), SkBits2Float(0x41658529)); // -37.0514f, 11.5528f, -38.8358f, 14.345f
4243 path.quadTo(SkBits2Float(0xc2227b12), SkBits2Float(0x4189191e), SkBits2Float(0xc 22f6ce6), SkBits2Float(0x418eccb0)); // -40.6202f, 17.1373f, -43.8563f, 17.8499 f
4244 path.quadTo(SkBits2Float(0xc23c5ebc), SkBits2Float(0x41948044), SkBits2Float(0xc 2478a00), SkBits2Float(0x418639e0)); // -47.0925f, 18.5626f, -49.8848f, 16.7783 f
4245 path.close();
4246
4247 SkPath path2(path);
4248 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4249 }
4250
4251 static void fuzz763_1404(skiatest::Reporter* reporter, const char* filename) {
4252 SkPath path;
4253 path.setFillType((SkPath::FillType) 1);
4254 path.moveTo(SkBits2Float(0x419b2e3e), SkBits2Float(0xc243b405));
4255 path.quadTo(SkBits2Float(0x41b4811d), SkBits2Float(0xc2479f9a), SkBits2Float(0x4 1cbf476), SkBits2Float(0xc2417131));
4256 path.quadTo(SkBits2Float(0x41e19882), SkBits2Float(0xc23bbceb), SkBits2Float(0x4 1e9f15f), SkBits2Float(0xc23083cb));
4257 path.quadTo(SkBits2Float(0x4200ef06), SkBits2Float(0xc2310b91), SkBits2Float(0x4 20a6762), SkBits2Float(0xc2294dac));
4258 path.quadTo(SkBits2Float(0x4214aa80), SkBits2Float(0xc220ea0a), SkBits2Float(0x4 215fd8a), SkBits2Float(0xc213b9c8));
4259 path.quadTo(SkBits2Float(0x42175094), SkBits2Float(0xc2068986), SkBits2Float(0x4 20eecf0), SkBits2Float(0xc1f88cd3));
4260 path.quadTo(SkBits2Float(0x4206894d), SkBits2Float(0xc1e4069a), SkBits2Float(0x4 1f2b216), SkBits2Float(0xc1e16085));
4261 path.quadTo(SkBits2Float(0x41d85192), SkBits2Float(0xc1deba71), SkBits2Float(0x4 1c3cb5a), SkBits2Float(0xc1ef81b8));
4262 path.quadTo(SkBits2Float(0x41b61bc0), SkBits2Float(0xc1fab1e0), SkBits2Float(0x4 1b05ee8), SkBits2Float(0xc2051350));
4263 path.quadTo(SkBits2Float(0x419fe690), SkBits2Float(0xc204b4a5), SkBits2Float(0x4 190436e), SkBits2Float(0xc208d3d1));
4264 path.quadTo(SkBits2Float(0x4171a027), SkBits2Float(0xc20f0238), SkBits2Float(0x4 161f1d7), SkBits2Float(0xc21baba8));
4265 path.quadTo(SkBits2Float(0x41524386), SkBits2Float(0xc2285517), SkBits2Float(0x4 16afd23), SkBits2Float(0xc2340ec3));
4266 path.quadTo(SkBits2Float(0x4181db5f), SkBits2Float(0xc23fc871), SkBits2Float(0x4 19b2e3e), SkBits2Float(0xc243b405));
4267 path.close();
4268 path.moveTo(SkBits2Float(0xc221f910), SkBits2Float(0xc2067acc));
4269 path.quadTo(SkBits2Float(0xc214fb93), SkBits2Float(0xc2091d7b), SkBits2Float(0xc 209ef07), SkBits2Float(0xc201cb14));
4270 path.quadTo(SkBits2Float(0xc1fdc4f6), SkBits2Float(0xc1f4f15c), SkBits2Float(0xc 1f87f97), SkBits2Float(0xc1daf662));
4271 path.quadTo(SkBits2Float(0xc1f33a38), SkBits2Float(0xc1c0fb68), SkBits2Float(0xc 200ef83), SkBits2Float(0xc1aae250));
4272 path.quadTo(SkBits2Float(0xc20841e9), SkBits2Float(0xc194c938), SkBits2Float(0xc 2153f65), SkBits2Float(0xc18f83d9));
4273 path.quadTo(SkBits2Float(0xc2223ce2), SkBits2Float(0xc18a3e7a), SkBits2Float(0xc 22d496e), SkBits2Float(0xc198e348));
4274 path.quadTo(SkBits2Float(0xc23855fb), SkBits2Float(0xc1a78814), SkBits2Float(0xc 23af8aa), SkBits2Float(0xc1c1830c));
4275 path.quadTo(SkBits2Float(0xc23d9b5a), SkBits2Float(0xc1db7e06), SkBits2Float(0xc 23648f3), SkBits2Float(0xc1f1971e));
4276 path.quadTo(SkBits2Float(0xc22ef68d), SkBits2Float(0xc203d81c), SkBits2Float(0xc 221f910), SkBits2Float(0xc2067acc));
4277 path.close();
4278 path.moveTo(SkBits2Float(0x4218d883), SkBits2Float(0xc1dfb2a2));
4279 path.quadTo(SkBits2Float(0x4224b610), SkBits2Float(0xc1eb836c), SkBits2Float(0x4 231475d), SkBits2Float(0xc1e31687));
4280 path.quadTo(SkBits2Float(0x423dd8aa), SkBits2Float(0xc1daa9a1), SkBits2Float(0x4 243c10e), SkBits2Float(0xc1c2ee88));
4281 path.quadTo(SkBits2Float(0x4249a974), SkBits2Float(0xc1ab336d), SkBits2Float(0x4 2457300), SkBits2Float(0xc19210d4));
4282 path.quadTo(SkBits2Float(0x42413c8e), SkBits2Float(0xc171dc76), SkBits2Float(0x4 2355f01), SkBits2Float(0xc15a3ae1));
4283 path.quadTo(SkBits2Float(0x42298174), SkBits2Float(0xc142994c), SkBits2Float(0x4 21cf027), SkBits2Float(0xc1537318));
4284 path.quadTo(SkBits2Float(0x42105edb), SkBits2Float(0xc1644ce3), SkBits2Float(0x4 20a7675), SkBits2Float(0xc189e18c));
4285 path.quadTo(SkBits2Float(0x42048e10), SkBits2Float(0xc1a19ca6), SkBits2Float(0x4 208c483), SkBits2Float(0xc1babf40));
4286 path.quadTo(SkBits2Float(0x420cfaf6), SkBits2Float(0xc1d3e1d8), SkBits2Float(0x4 218d883), SkBits2Float(0xc1dfb2a2));
4287 path.close();
4288 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
4289 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
4290 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
4291 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
4292 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
4293 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
4294 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
4295 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
4296 path.quadTo(SkBits2Float(0x4087d82a), SkBits2Float(0x42204637), SkBits2Float(0x4 01ecaaa), SkBits2Float(0x422284dc));
4297 path.quadTo(SkBits2Float(0x4033f0a5), SkBits2Float(0x4223bc28), SkBits2Float(0x4 047ae10), SkBits2Float(0x4225218a));
4298 path.quadTo(SkBits2Float(0x40aa0f54), SkBits2Float(0x422f1027), SkBits2Float(0x4 0a38748), SkBits2Float(0x423c4af2));
4299 path.quadTo(SkBits2Float(0x409cff44), SkBits2Float(0x424985be), SkBits2Float(0x4 01b14b8), SkBits2Float(0x42524cc7));
4300 path.quadTo(SkBits2Float(0xbd754800), SkBits2Float(0x425b13d0), SkBits2Float(0xc 05781d0), SkBits2Float(0x425a42cf));
4301 path.quadTo(SkBits2Float(0xc0d59744), SkBits2Float(0x425971cf), SkBits2Float(0xc 10de7c8), SkBits2Float(0x424f8332));
4302 path.quadTo(SkBits2Float(0xc13103ee), SkBits2Float(0x42459494), SkBits2Float(0xc 12dbfea), SkBits2Float(0x423859c9));
4303 path.quadTo(SkBits2Float(0xc12a7be8), SkBits2Float(0x422b1efe), SkBits2Float(0xc 102c172), SkBits2Float(0x422257f4));
4304 path.quadTo(SkBits2Float(0xc0dbff18), SkBits2Float(0x421dc1e9), SkBits2Float(0xc 0ab47a0), SkBits2Float(0x421bca58));
4305 path.quadTo(SkBits2Float(0xc0ad79af), SkBits2Float(0x421b8a4a), SkBits2Float(0xc 0afa610), SkBits2Float(0x421b4830));
4306 path.quadTo(SkBits2Float(0xc0b25ad5), SkBits2Float(0x421af5e2), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
4307 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
4308 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
4309 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
4310 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
4311 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
4312 path.close();
4313 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
4314 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
4315 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
4316 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
4317 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
4318 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
4319 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
4320 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec));
4321 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec));
4322 path.close();
4323 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
4324 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
4325 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
4326 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
4327 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
4328 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
4329 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
4330 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
4331 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
4332 path.close();
4333
4334 SkPath path1(path);
4335 path.reset();
4336 path.setFillType((SkPath::FillType) 0);
4337 path.moveTo(SkBits2Float(0x401b14b8), SkBits2Float(0x42524cc7));
4338 path.quadTo(SkBits2Float(0xbd754800), SkBits2Float(0x425b13d0), SkBits2Float(0xc 05781d0), SkBits2Float(0x425a42cf));
4339 path.quadTo(SkBits2Float(0xc0d59744), SkBits2Float(0x425971cf), SkBits2Float(0xc 10de7c8), SkBits2Float(0x424f8332));
4340 path.quadTo(SkBits2Float(0xc13103ee), SkBits2Float(0x42459494), SkBits2Float(0xc 12dbfea), SkBits2Float(0x423859c9));
4341 path.quadTo(SkBits2Float(0xc12a7be8), SkBits2Float(0x422b1efe), SkBits2Float(0xc 102c172), SkBits2Float(0x422257f4));
4342 path.quadTo(SkBits2Float(0xc0b60dfc), SkBits2Float(0x421990ea), SkBits2Float(0xc 0186f48), SkBits2Float(0x421a61ec));
4343 path.quadTo(SkBits2Float(0x3f6cf5e0), SkBits2Float(0x421b32ec), SkBits2Float(0x4 047ae10), SkBits2Float(0x4225218a));
4344 path.quadTo(SkBits2Float(0x40aa0f54), SkBits2Float(0x422f1027), SkBits2Float(0x4 0a38748), SkBits2Float(0x423c4af2));
4345 path.quadTo(SkBits2Float(0x409cff44), SkBits2Float(0x424985be), SkBits2Float(0x4 01b14b8), SkBits2Float(0x42524cc7));
4346 path.close();
4347
4348 SkPath path2(path);
4349 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4350 }
4351
4352 static void fuzz763_4713(skiatest::Reporter* reporter, const char* filename) {
4353 SkPath path;
4354 path.setFillType((SkPath::FillType) 1);
4355 path.moveTo(SkBits2Float(0x40f7bc68), SkBits2Float(0xc2503bb0));
4356 path.quadTo(SkBits2Float(0x41299c84), SkBits2Float(0xc256ef4e), SkBits2Float(0x4 15ce976), SkBits2Float(0xc2539652));
4357 path.quadTo(SkBits2Float(0x41881b33), SkBits2Float(0xc2503d58), SkBits2Float(0x4 1958271), SkBits2Float(0xc244cdc4));
4358 path.quadTo(SkBits2Float(0x41a2e9af), SkBits2Float(0xc2395e30), SkBits2Float(0x4 19c37b8), SkBits2Float(0xc22c8af3));
4359 path.quadTo(SkBits2Float(0x419585c2), SkBits2Float(0xc21fb7b7), SkBits2Float(0x4 17d4d34), SkBits2Float(0xc2190418));
4360 path.quadTo(SkBits2Float(0x414f8ee4), SkBits2Float(0xc2125079), SkBits2Float(0x4 11c41f2), SkBits2Float(0xc215a974));
4361 path.quadTo(SkBits2Float(0x40d1ea00), SkBits2Float(0xc2190270), SkBits2Float(0x4 09c4d08), SkBits2Float(0xc2247204));
4362 path.quadTo(SkBits2Float(0x404d6020), SkBits2Float(0xc22fe198), SkBits2Float(0x4 08177f0), SkBits2Float(0xc23cb4d4));
4363 path.quadTo(SkBits2Float(0x409c3fc8), SkBits2Float(0xc2498810), SkBits2Float(0x4 0f7bc68), SkBits2Float(0xc2503bb0));
4364 path.close();
4365 path.moveTo(SkBits2Float(0xc20487d4), SkBits2Float(0xc2239250));
4366 path.quadTo(SkBits2Float(0xc1ee8d37), SkBits2Float(0xc2239d4e), SkBits2Float(0xc 1dbbeef), SkBits2Float(0xc21a45b5));
4367 path.quadTo(SkBits2Float(0xc1c8f0a7), SkBits2Float(0xc210ee1d), SkBits2Float(0xc 1c8daab), SkBits2Float(0xc203ace5));
4368 path.quadTo(SkBits2Float(0xc1c8c4af), SkBits2Float(0xc1ecd758), SkBits2Float(0xc 1db73e0), SkBits2Float(0xc1da0910));
4369 path.quadTo(SkBits2Float(0xc1ee2310), SkBits2Float(0xc1c73ac7), SkBits2Float(0xc 20452c1), SkBits2Float(0xc1c724cb));
4370 path.quadTo(SkBits2Float(0xc21193f9), SkBits2Float(0xc1c70ecf), SkBits2Float(0xc 21afb1d), SkBits2Float(0xc1d9be01));
4371 path.quadTo(SkBits2Float(0xc2246242), SkBits2Float(0xc1ec6d31), SkBits2Float(0xc 2246d40), SkBits2Float(0xc20377d2));
4372 path.quadTo(SkBits2Float(0xc224783e), SkBits2Float(0xc210b90a), SkBits2Float(0xc 21b20a5), SkBits2Float(0xc21a202d));
4373 path.quadTo(SkBits2Float(0xc211c90c), SkBits2Float(0xc2238752), SkBits2Float(0xc 20487d4), SkBits2Float(0xc2239250));
4374 path.close();
4375 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
4376 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
4377 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
4378 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
4379 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
4380 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
4381 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
4382 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
4383 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
4384 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
4385 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
4386 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
4387 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
4388 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
4389 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
4390 path.close();
4391 path.moveTo(SkBits2Float(0xc23c7b18), SkBits2Float(0x40950470));
4392 path.quadTo(SkBits2Float(0xc22fb33d), SkBits2Float(0x4071d1b0), SkBits2Float(0xc 2242dae), SkBits2Float(0x40ad5534));
4393 path.quadTo(SkBits2Float(0xc218a81f), SkBits2Float(0x40e1c194), SkBits2Float(0xc 21524ab), SkBits2Float(0x41240037));
4394 path.quadTo(SkBits2Float(0xc211a138), SkBits2Float(0x41571fa5), SkBits2Float(0xc 2182ec4), SkBits2Float(0x41829af0));
4395 path.quadTo(SkBits2Float(0xc21ebc50), SkBits2Float(0x4199a610), SkBits2Float(0xc 22b842b), SkBits2Float(0x41a0acf4));
4396 path.quadTo(SkBits2Float(0xc2384c07), SkBits2Float(0x41a7b3dc), SkBits2Float(0xc 243d196), SkBits2Float(0x419a98c4));
4397 path.quadTo(SkBits2Float(0xc24f5726), SkBits2Float(0x418d7dad), SkBits2Float(0xc 252da98), SkBits2Float(0x4167dbea));
4398 path.quadTo(SkBits2Float(0xc2565e0c), SkBits2Float(0x4134bc7e), SkBits2Float(0xc 24fd080), SkBits2Float(0x4106a640));
4399 path.quadTo(SkBits2Float(0xc24942f4), SkBits2Float(0x40b12008), SkBits2Float(0xc 23c7b18), SkBits2Float(0x40950470));
4400 path.close();
4401 path.moveTo(SkBits2Float(0x4204f72e), SkBits2Float(0x41c56cd2));
4402 path.quadTo(SkBits2Float(0x42123842), SkBits2Float(0x41c52adf), SkBits2Float(0x4 21baed7), SkBits2Float(0x41d7bac6));
4403 path.quadTo(SkBits2Float(0x4225256d), SkBits2Float(0x41ea4aad), SkBits2Float(0x4 2254667), SkBits2Float(0x4202666b));
4404 path.quadTo(SkBits2Float(0x42256760), SkBits2Float(0x420fa77f), SkBits2Float(0x4 21c1f6c), SkBits2Float(0x42191e14));
4405 path.quadTo(SkBits2Float(0x421bff97), SkBits2Float(0x42193e89), SkBits2Float(0x4 21bdf6b), SkBits2Float(0x42195eb8));
4406 path.quadTo(SkBits2Float(0x421bbff6), SkBits2Float(0x42197f32), SkBits2Float(0x4 21ba03b), SkBits2Float(0x42199f57));
4407 path.quadTo(SkBits2Float(0x421b605e), SkBits2Float(0x4219e00a), SkBits2Float(0x4 21b1fa8), SkBits2Float(0x421a1f22));
4408 path.quadTo(SkBits2Float(0x421ae0f1), SkBits2Float(0x421a604b), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
4409 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
4410 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
4411 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
4412 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
4413 path.quadTo(SkBits2Float(0x41db19b1), SkBits2Float(0x41da63d5), SkBits2Float(0x4 1db755b), SkBits2Float(0x41da0a9b));
4414 path.quadTo(SkBits2Float(0x41dbce01), SkBits2Float(0x41d9ae59), SkBits2Float(0x4 1dc285e), SkBits2Float(0x41d952ce));
4415 path.quadTo(SkBits2Float(0x41dc55b6), SkBits2Float(0x41d924df), SkBits2Float(0x4 1dc82cd), SkBits2Float(0x41d8f7cd));
4416 path.quadTo(SkBits2Float(0x41dcaf1e), SkBits2Float(0x41d8ca01), SkBits2Float(0x4 1dcdc4c), SkBits2Float(0x41d89bf0));
4417 path.quadTo(SkBits2Float(0x41ef6c33), SkBits2Float(0x41c5aec5), SkBits2Float(0x4 204f72e), SkBits2Float(0x41c56cd2));
4418 path.close();
4419
4420 SkPath path1(path);
4421 path.reset();
4422 path.setFillType((SkPath::FillType) 0);
4423 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000));
4424 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
4425 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
4426 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
4427 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
4428 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
4429 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
4430 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
4431 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
4432 path.close();
4433
4434 SkPath path2(path);
4435 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4436 }
4437
4438 static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) {
4439 SkPath path;
4440 path.setFillType((SkPath::FillType) 1);
4441 path.moveTo(SkBits2Float(0x413a5194), SkBits2Float(0xc24d4e33)); // 11.6449f, - 51.3264f
4442 path.quadTo(SkBits2Float(0x4169f3fc), SkBits2Float(0xc2532032), SkBits2Float(0x4 18e0c8b), SkBits2Float(0xc24ed218)); // 14.6221f, -52.7814f, 17.7561f, -51.7052 f
4443 path.quadTo(SkBits2Float(0x41a71f17), SkBits2Float(0xc24a83ff), SkBits2Float(0x4 1b2c316), SkBits2Float(0xc23e9b65)); // 20.8902f, -50.6289f, 22.3453f, -47.6518 f
4444 path.quadTo(SkBits2Float(0x41be6714), SkBits2Float(0xc232b2cb), SkBits2Float(0x4 1b5cae0), SkBits2Float(0xc2262985)); // 23.8003f, -44.6746f, 22.7241f, -41.5405 f
4445 path.quadTo(SkBits2Float(0x41ad2ead), SkBits2Float(0xc219a03f), SkBits2Float(0x4 1955d79), SkBits2Float(0xc213ce40)); // 21.6478f, -38.4065f, 18.6706f, -36.9514 f
4446 path.quadTo(SkBits2Float(0x417b188a), SkBits2Float(0xc20dfc40), SkBits2Float(0x4 148f373), SkBits2Float(0xc2124a5a)); // 15.6935f, -35.4963f, 12.5594f, -36.5726 f
4447 path.quadTo(SkBits2Float(0x4116ce5a), SkBits2Float(0xc2169874), SkBits2Float(0x4 0ff0cba), SkBits2Float(0xc222810e)); // 9.42538f, -37.6489f, 7.9703f, -40.626f
4448 path.quadTo(SkBits2Float(0x40d07cc0), SkBits2Float(0xc22e69a8), SkBits2Float(0x4 0f2ed90), SkBits2Float(0xc23af2ee)); // 6.51523f, -43.6032f, 7.5915f, -46.7372f
4449 path.quadTo(SkBits2Float(0x410aaf2c), SkBits2Float(0xc2477c34), SkBits2Float(0x4 13a5194), SkBits2Float(0xc24d4e33)); // 8.66777f, -49.8713f, 11.6449f, -51.3264 f
4450 path.close();
4451 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4452 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4453 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4454 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4455 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4456 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4457 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4458 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e)); // 8, 36.3137f, 5.65685f, 38.6569f
4459 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); // 3.31371f, 41, 0, 41
4460 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); // -3.31371f, 41, -5.65685f, 38.6569f
4461 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 36.3137f, -8, 33
4462 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4463 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4464 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4465 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4466 path.close();
4467 path.moveTo(SkBits2Float(0xc23d594a), SkBits2Float(0x3f8b9aa0)); // -47.3372f, 1.09066f
4468 path.quadTo(SkBits2Float(0xc23056ee), SkBits2Float(0x3ee95200), SkBits2Float(0xc 2255841), SkBits2Float(0x40139cf0)); // -44.0849f, 0.455704f, -41.3362f, 2.3064 5f
4469 path.quadTo(SkBits2Float(0xc21a5994), SkBits2Float(0x408507d0), SkBits2Float(0xc 217cf63), SkBits2Float(0x40ed1ab6)); // -38.5875f, 4.1572f, -37.9525f, 7.40951f
4470 path.quadTo(SkBits2Float(0xc21747fe), SkBits2Float(0x41016369), SkBits2Float(0xc 2172ef9), SkBits2Float(0x410bdff7)); // -37.8203f, 8.08677f, -37.7959f, 8.74218 f
4471 path.quadTo(SkBits2Float(0xc2161ebf), SkBits2Float(0x411577cf), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -37.53f, 9.34175f, -37.3514f, 10.0083f
4472 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4473 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4474 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4475 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4476 path.quadTo(SkBits2Float(0xc2543df8), SkBits2Float(0x415334fe), SkBits2Float(0xc 2546005), SkBits2Float(0x41447d40)); // -53.0605f, 13.2004f, -53.0938f, 12.2806 f
4477 path.quadTo(SkBits2Float(0xc255df09), SkBits2Float(0x41370862), SkBits2Float(0xc 2569fcc), SkBits2Float(0x41279af0)); // -53.4678f, 11.4395f, -53.6561f, 10.4753 f
4478 path.quadTo(SkBits2Float(0xc25929fe), SkBits2Float(0x40e722fc), SkBits2Float(0xc 251c2d2), SkBits2Float(0x408f2d94)); // -54.291f, 7.22302f, -52.4403f, 4.47431f
4479 path.quadTo(SkBits2Float(0xc24a5ba8), SkBits2Float(0x3fdce0a0), SkBits2Float(0xc 23d594a), SkBits2Float(0x3f8b9aa0)); // -50.5895f, 1.72561f, -47.3372f, 1.09066 f
4480 path.close();
4481 path.moveTo(SkBits2Float(0xc18b14a2), SkBits2Float(0x42164b25)); // -17.3851f, 37.5734f
4482 path.quadTo(SkBits2Float(0xc1675bab), SkBits2Float(0x421010e4), SkBits2Float(0xc 134a62c), SkBits2Float(0x4213efa5)); // -14.4599f, 36.0165f, -11.2906f, 36.984f
4483 path.quadTo(SkBits2Float(0xc101f0aa), SkBits2Float(0x4217ce66), SkBits2Float(0xc 0d20f46), SkBits2Float(0x422381cc)); // -8.12126f, 37.9516f, -6.56436f, 40.8768 f
4484 path.quadTo(SkBits2Float(0xc0a03d38), SkBits2Float(0x422f3532), SkBits2Float(0xc 0bf3344), SkBits2Float(0x423be292)); // -5.00747f, 43.8019f, -5.97501f, 46.9713 f
4485 path.quadTo(SkBits2Float(0xc0de294c), SkBits2Float(0x42488ff2), SkBits2Float(0xc 11de23e), SkBits2Float(0x424eca34)); // -6.94254f, 50.1406f, -9.86773f, 51.6975 f
4486 path.quadTo(SkBits2Float(0xc14cafd4), SkBits2Float(0x42550476), SkBits2Float(0xc 17f6556), SkBits2Float(0x425125b4)); // -12.7929f, 53.2544f, -15.9622f, 52.2868 f
4487 path.quadTo(SkBits2Float(0xc1990d6c), SkBits2Float(0x424d46f3), SkBits2Float(0xc 1a581f0), SkBits2Float(0x4241938e)); // -19.1316f, 51.3193f, -20.6884f, 48.3941 f
4488 path.quadTo(SkBits2Float(0xc1b1f673), SkBits2Float(0x4235e028), SkBits2Float(0xc 1aa38f0), SkBits2Float(0x422932c8)); // -22.2453f, 45.4689f, -21.2778f, 42.2996 f
4489 path.quadTo(SkBits2Float(0xc1a27b6c), SkBits2Float(0x421c8567), SkBits2Float(0xc 18b14a2), SkBits2Float(0x42164b25)); // -20.3103f, 39.1303f, -17.3851f, 37.5734 f
4490 path.close();
4491 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); // 27.3431f, 2 7.3431f
4492 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
4493 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
4494 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
4495 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 41, 36.3137f, 38.6569f, 38.6569f
4496 path.quadTo(SkBits2Float(0x4217d943), SkBits2Float(0x421d67f9), SkBits2Float(0x4 214ba8d), SkBits2Float(0x421f5c6e)); // 37.9622f, 39.3515f, 37.1822f, 39.8403f
4497 path.quadTo(SkBits2Float(0x42129039), SkBits2Float(0x422256bd), SkBits2Float(0x4 20f9986), SkBits2Float(0x4224eb5c)); // 36.6408f, 40.5847f, 35.8999f, 41.2298f
4498 path.quadTo(SkBits2Float(0x420e25cf), SkBits2Float(0x42262f05), SkBits2Float(0x4 20ca0a4), SkBits2Float(0x42273ec0)); // 35.5369f, 41.5459f, 35.1569f, 41.8113f
4499 path.quadTo(SkBits2Float(0x420b5228), SkBits2Float(0x42288f80), SkBits2Float(0x4 209d382), SkBits2Float(0x4229c624)); // 34.8302f, 42.1401f, 34.4566f, 42.4435f
4500 path.quadTo(SkBits2Float(0x41ff1232), SkBits2Float(0x423220d2), SkBits2Float(0x4 1e4b406), SkBits2Float(0x4230c247)); // 31.8839f, 44.5321f, 28.5879f, 44.1897f
4501 path.quadTo(SkBits2Float(0x41ca55dc), SkBits2Float(0x422f63bd), SkBits2Float(0x4 1b9a084), SkBits2Float(0x42251952)); // 25.2919f, 43.8474f, 23.2034f, 41.2747f
4502 path.quadTo(SkBits2Float(0x41a8eb2b), SkBits2Float(0x421acee9), SkBits2Float(0x4 1aba840), SkBits2Float(0x420d9fd3)); // 21.1148f, 38.7021f, 21.4572f, 35.4061f
4503 path.quadTo(SkBits2Float(0x41ae6555), SkBits2Float(0x420070be), SkBits2Float(0x4 1c2fa28), SkBits2Float(0x41f02c24)); // 21.7995f, 32.1101f, 24.3721f, 30.0216f
4504 path.quadTo(SkBits2Float(0x41c514db), SkBits2Float(0x41ee76d0), SkBits2Float(0x4 1c73f0f), SkBits2Float(0x41ecf584)); // 24.6352f, 29.808f, 24.9058f, 29.6199f
4505 path.quadTo(SkBits2Float(0x41c919c1), SkBits2Float(0x41eb15ab), SkBits2Float(0x4 1cb250b), SkBits2Float(0x41e94e07)); // 25.1376f, 29.3856f, 25.3931f, 29.1631f
4506 path.quadTo(SkBits2Float(0x41cf4ed6), SkBits2Float(0x41e5ae04), SkBits2Float(0x4 1d3c048), SkBits2Float(0x41e2e387)); // 25.9135f, 28.71f, 26.4689f, 28.3611f
4507 path.quadTo(SkBits2Float(0x41d4d649), SkBits2Float(0x41e1661f), SkBits2Float(0x4 1d605fb), SkBits2Float(0x41dff35b)); // 26.6046f, 28.1749f, 26.7529f, 27.9938f
4508 path.quadTo(SkBits2Float(0x41d7094e), SkBits2Float(0x41deb6c2), SkBits2Float(0x4 1d81f4d), SkBits2Float(0x41dd81fd)); // 26.8795f, 27.8392f, 27.0153f, 27.6885f
4509 path.lineTo(SkBits2Float(0x41d81f53), SkBits2Float(0x41dd81f7)); // 27.0153f, 2 7.6885f
4510 path.quadTo(SkBits2Float(0x41d96269), SkBits2Float(0x41dc1b1d), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 27.1731f, 27.5132f, 27.3431f, 27.3431f
4511 path.close();
4512
4513 SkPath path1(path);
4514 path.reset();
4515 path.setFillType((SkPath::FillType) 0);
4516 path.moveTo(SkBits2Float(0x421a8288), SkBits2Float(0x420efdef)); // 38.6275f, 3 5.748f
4517 path.quadTo(SkBits2Float(0x4219989b), SkBits2Float(0x421c3719), SkBits2Float(0x4 20f9986), SkBits2Float(0x4224eb5c)); // 38.399f, 39.0538f, 35.8999f, 41.2298f
4518 path.quadTo(SkBits2Float(0x42059a71), SkBits2Float(0x422d9f9f), SkBits2Float(0x4 1f0c28e), SkBits2Float(0x422cb5b2)); // 33.4008f, 43.4059f, 30.095f, 43.1774f
4519 path.quadTo(SkBits2Float(0x41d65038), SkBits2Float(0x422bcbc5), SkBits2Float(0x4 1c4e7b3), SkBits2Float(0x4221ccb0)); // 26.7892f, 42.949f, 24.6131f, 40.4499f
4520 path.quadTo(SkBits2Float(0x41b37f2c), SkBits2Float(0x4217cd9b), SkBits2Float(0x4 1b55306), SkBits2Float(0x420a9471)); // 22.4371f, 37.9508f, 22.6655f, 34.645f
4521 path.quadTo(SkBits2Float(0x41b726e0), SkBits2Float(0x41fab68c), SkBits2Float(0x4 1cb250b), SkBits2Float(0x41e94e07)); // 22.894f, 31.3391f, 25.3931f, 29.1631f
4522 path.quadTo(SkBits2Float(0x41df2336), SkBits2Float(0x41d7e580), SkBits2Float(0x4 1f9958b), SkBits2Float(0x41d9b95a)); // 27.8922f, 26.9871f, 31.198f, 27.2155f
4523 path.quadTo(SkBits2Float(0x420a03ef), SkBits2Float(0x41db8d34), SkBits2Float(0x4 212b832), SkBits2Float(0x41ef8b5f)); // 34.5038f, 27.4439f, 36.6799f, 29.9431f
4524 path.quadTo(SkBits2Float(0x421b6c75), SkBits2Float(0x4201c4c5), SkBits2Float(0x4 21a8288), SkBits2Float(0x420efdef)); // 38.8559f, 32.4422f, 38.6275f, 35.748f
4525 path.close();
4526
4527 SkPath path2(path);
4528 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4529 }
4530
4531 // SkDQuadIntersection.cpp:594: failed assertion "way_roughly_zero(fT[0][index])
4532 static void fuzz763_20016(skiatest::Reporter* reporter, const char* filename) {
4533 SkPath path;
4534 path.setFillType((SkPath::FillType) 1);
4535 path.moveTo(SkBits2Float(0x41e88c66), SkBits2Float(0xc22f800b)); // 29.0686f, - 43.875f
4536 path.quadTo(SkBits2Float(0x420178e8), SkBits2Float(0xc230b9b9), SkBits2Float(0x4 20babd1), SkBits2Float(0xc228426b)); // 32.3681f, -44.1814f, 34.9178f, -42.0649 f
4537 path.quadTo(SkBits2Float(0x4215debb), SkBits2Float(0xc21fcb1e), SkBits2Float(0x4 2171869), SkBits2Float(0xc2129869)); // 37.4675f, -39.9484f, 37.7738f, -36.6488 f
4538 path.quadTo(SkBits2Float(0x42185217), SkBits2Float(0xc20565b3), SkBits2Float(0x4 20fdac9), SkBits2Float(0xc1f66594)); // 38.0802f, -33.3493f, 35.9637f, -30.7996 f
4539 path.quadTo(SkBits2Float(0x4207637c), SkBits2Float(0xc1e1ffc1), SkBits2Float(0x4 1f4618e), SkBits2Float(0xc1df8c65)); // 33.8472f, -28.2499f, 30.5476f, -27.9436 f
4540 path.quadTo(SkBits2Float(0x41d9fc22), SkBits2Float(0xc1dd190a), SkBits2Float(0x4 1c59650), SkBits2Float(0xc1ee07a4)); // 27.2481f, -27.6372f, 24.6984f, -29.7537 f
4541 path.quadTo(SkBits2Float(0x41b1307c), SkBits2Float(0xc1fef63e), SkBits2Float(0x4 1aebd21), SkBits2Float(0xc20cadd5)); // 22.1487f, -31.8702f, 21.8423f, -35.1698 f
4542 path.quadTo(SkBits2Float(0x41ac49c5), SkBits2Float(0xc219e08a), SkBits2Float(0x4 1bd3860), SkBits2Float(0xc2241373)); // 21.536f, -38.4693f, 23.6525f, -41.019f
4543 path.quadTo(SkBits2Float(0x41ce26fa), SkBits2Float(0xc22e465d), SkBits2Float(0x4 1e88c66), SkBits2Float(0xc22f800b)); // 25.769f, -43.5687f, 29.0686f, -43.875f
4544 path.close();
4545 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4546 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4547 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4548 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4549 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4550 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4551 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4552 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x42100ef9), SkBits2Float(0x4 0c1f194), SkBits2Float(0x4218e765)); // 8, 36.0146f, 6.06074f, 38.226f
4553 path.quadTo(SkBits2Float(0x4100db87), SkBits2Float(0x42186e1c), SkBits2Float(0x4 11cd246), SkBits2Float(0x421bbc51)); // 8.0536f, 38.1075f, 9.80134f, 38.9339f
4554 path.quadTo(SkBits2Float(0x41326be0), SkBits2Float(0x42146b95), SkBits2Float(0x4 156b15b), SkBits2Float(0x421110b0)); // 11.1513f, 37.1051f, 13.4183f, 36.2663f
4555 path.quadTo(SkBits2Float(0x41843577), SkBits2Float(0x420c7739), SkBits2Float(0x4 19c4b3e), SkBits2Float(0x421200ec)); // 16.5261f, 35.1164f, 19.5367f, 36.5009f
4556 path.quadTo(SkBits2Float(0x41b46104), SkBits2Float(0x42178a9f), SkBits2Float(0x4 1bd93f2), SkBits2Float(0x4223f904)); // 22.5474f, 37.8854f, 23.6972f, 40.9932f
4557 path.quadTo(SkBits2Float(0x41c6c6e0), SkBits2Float(0x42306768), SkBits2Float(0x4 1bbb37b), SkBits2Float(0x423c724c)); // 24.8471f, 44.101f, 23.4626f, 47.1116f
4558 path.quadTo(SkBits2Float(0x41b0a015), SkBits2Float(0x42487d2f), SkBits2Float(0x4 197c34c), SkBits2Float(0x424d16a6)); // 22.0782f, 50.1222f, 18.9704f, 51.2721f
4559 path.quadTo(SkBits2Float(0x417dcd04), SkBits2Float(0x4251b01e), SkBits2Float(0x4 14da178), SkBits2Float(0x424c266a)); // 15.8626f, 52.422f, 12.8519f, 51.0375f
4560 path.quadTo(SkBits2Float(0x414d992c), SkBits2Float(0x424c2576), SkBits2Float(0x4 14d90e0), SkBits2Float(0x424c2481)); // 12.8499f, 51.0366f, 12.8479f, 51.0356f
4561 path.quadTo(SkBits2Float(0x414d8b5f), SkBits2Float(0x424c2655), SkBits2Float(0x4 14d85dc), SkBits2Float(0x424c2828)); // 12.8465f, 51.0374f, 12.8452f, 51.0392f
4562 path.quadTo(SkBits2Float(0x412d952c), SkBits2Float(0x4256bc8e), SkBits2Float(0x4 0f225c0), SkBits2Float(0x4258923c)); // 10.8489f, 53.6841f, 7.56711f, 54.1428f
4563 path.quadTo(SkBits2Float(0x4089212c), SkBits2Float(0x425a67eb), SkBits2Float(0x3 fd1f7e0), SkBits2Float(0x42526bbf)); // 4.2853f, 54.6015f, 1.64038f, 52.6052f
4564 path.quadTo(SkBits2Float(0xbf8094f0), SkBits2Float(0x424a6f94), SkBits2Float(0xb fbb4ab0), SkBits2Float(0x423d4f00)); // -1.00455f, 50.609f, -1.46322f, 47.3271f
4565 path.quadTo(SkBits2Float(0xbff60080), SkBits2Float(0x42302e6e), SkBits2Float(0x3 d985000), SkBits2Float(0x42259a07)); // -1.92189f, 44.0453f, 0.0743713f, 41.400 4f
4566 path.quadTo(SkBits2Float(0x3e6fb042), SkBits2Float(0x4224c15b), SkBits2Float(0x3 ecdd2ea), SkBits2Float(0x4223f703)); // 0.234071f, 41.1888f, 0.402f, 40.9912f
4567 path.quadTo(SkBits2Float(0x3e4fb040), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); // 0.202821f, 41, 0, 41
4568 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); // -3.31371f, 41, -5.65685f, 38.6569f
4569 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 36.3137f, -8, 33
4570 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4571 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4572 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4573 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4574 path.close();
4575 path.moveTo(SkBits2Float(0xc24a80c4), SkBits2Float(0xc16637fc)); // -50.6257f, -14.3887f
4576 path.quadTo(SkBits2Float(0xc23faf8f), SkBits2Float(0xc1826e03), SkBits2Float(0xc 2329eca), SkBits2Float(0xc17bee18)); // -47.9214f, -16.3037f, -44.6551f, -15.74 56f
4577 path.quadTo(SkBits2Float(0xc2258e06), SkBits2Float(0xc173002c), SkBits2Float(0xc 21de504), SkBits2Float(0xc147bb58)); // -41.3887f, -15.1875f, -39.4736f, -12.48 32f
4578 path.quadTo(SkBits2Float(0xc2163c02), SkBits2Float(0xc11c7684), SkBits2Float(0xc 218777c), SkBits2Float(0xc0d066e4)); // -37.5586f, -9.77893f, -38.1167f, -6.512 56f
4579 path.quadTo(SkBits2Float(0xc21ab2f8), SkBits2Float(0xc04fc188), SkBits2Float(0xc 225842d), SkBits2Float(0xbfaa62c0)); // -38.6748f, -3.24619f, -41.3791f, -1.331 14f
4580 path.quadTo(SkBits2Float(0xc2305562), SkBits2Float(0x3f157b20), SkBits2Float(0xc 23d6626), SkBits2Float(0x3cd38800)); // -44.0834f, 0.58391f, -47.3498f, 0.02582 17f
4581 path.quadTo(SkBits2Float(0xc24a76ea), SkBits2Float(0xbf084280), SkBits2Float(0xc 2521fed), SkBits2Float(0xc04f23f0)); // -50.6161f, -0.532265f, -52.5312f, -3.23 657f
4582 path.quadTo(SkBits2Float(0xc259c8f0), SkBits2Float(0xc0be1ba0), SkBits2Float(0xc 2578d74), SkBits2Float(0xc11350e2)); // -54.4462f, -5.94087f, -53.8881f, -9.207 25f
4583 path.quadTo(SkBits2Float(0xc25551f9), SkBits2Float(0xc14793f2), SkBits2Float(0xc 24a80c4), SkBits2Float(0xc16637fc)); // -53.3301f, -12.4736f, -50.6257f, -14.38 87f
4584 path.close();
4585 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); // -47.1494f, 4.35143f
4586 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); // -43.9486f, 3.49378f, -41.0788f, 5.15063 f
4587 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -38.2091f, 6.80749f, -37.3514f, 10.0083 f
4588 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4589 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4590 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4591 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4592 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec)); // -53.6639f, 10.9486f, -52.007f, 8.07884f
4593 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec)); // -50.3502f, 5.20908f, -47.1494f, 4.35143 f
4594 path.close();
4595 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); // 27.3431f, 2 7.3431f
4596 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
4597 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
4598 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
4599 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 41, 36.3137f, 38.6569f, 38.6569f
4600 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41
4601 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f
4602 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33
4603 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
4604 path.close();
4605 path.moveTo(SkBits2Float(0xc1beec1e), SkBits2Float(0x4207519a)); // -23.8653f, 33.8297f
4606 path.quadTo(SkBits2Float(0xc1a5a92e), SkBits2Float(0x42034ca6), SkBits2Float(0xc 18e1d36), SkBits2Float(0x42096379)); // -20.7076f, 32.8249f, -17.7643f, 34.3471 f
4607 path.quadTo(SkBits2Float(0xc16d2279), SkBits2Float(0x420f7a4d), SkBits2Float(0xc 15d0ea8), SkBits2Float(0x421c1bc5)); // -14.8209f, 35.8694f, -13.8161f, 39.0271 f
4608 path.quadTo(SkBits2Float(0xc14cfad8), SkBits2Float(0x4228bd3d), SkBits2Float(0xc 1655627), SkBits2Float(0x42348339)); // -12.8112f, 42.1848f, -14.3335f, 45.1281 f
4609 path.quadTo(SkBits2Float(0xc17db174), SkBits2Float(0x42404936), SkBits2Float(0xc 1981baa), SkBits2Float(0x42444e2a)); // -15.8558f, 48.0715f, -19.0135f, 49.0763 f
4610 path.quadTo(SkBits2Float(0xc1b15e9a), SkBits2Float(0x4248531e), SkBits2Float(0xc 1c8ea94), SkBits2Float(0x42423c4a)); // -22.1712f, 50.0812f, -25.1145f, 48.5589 f
4611 path.quadTo(SkBits2Float(0xc1e0768c), SkBits2Float(0x423c2577), SkBits2Float(0xc 1e88074), SkBits2Float(0x422f83ff)); // -28.0579f, 47.0366f, -29.0627f, 43.8789 f
4612 path.quadTo(SkBits2Float(0xc1f08a5c), SkBits2Float(0x4222e287), SkBits2Float(0xc 1e45cb6), SkBits2Float(0x42171c8a)); // -30.0676f, 40.7212f, -28.5453f, 37.7779 f
4613 path.quadTo(SkBits2Float(0xc1d82f0e), SkBits2Float(0x420b568e), SkBits2Float(0xc 1beec1e), SkBits2Float(0x4207519a)); // -27.023f, 34.8345f, -23.8653f, 33.8297f
4614 path.close();
4615
4616 SkPath path1(path);
4617 path.reset();
4618 path.setFillType((SkPath::FillType) 0);
4619 path.moveTo(SkBits2Float(0x41bbb37b), SkBits2Float(0x423c724c)); // 23.4626f, 4 7.1116f
4620 path.quadTo(SkBits2Float(0x41b0a015), SkBits2Float(0x42487d2f), SkBits2Float(0x4 197c34c), SkBits2Float(0x424d16a6)); // 22.0782f, 50.1222f, 18.9704f, 51.2721f
4621 path.quadTo(SkBits2Float(0x417dcd04), SkBits2Float(0x4251b01e), SkBits2Float(0x4 14da178), SkBits2Float(0x424c266a)); // 15.8626f, 52.422f, 12.8519f, 51.0375f
4622 path.quadTo(SkBits2Float(0x411d75ea), SkBits2Float(0x42469cb8), SkBits2Float(0x4 10b100e), SkBits2Float(0x423a2e53)); // 9.84129f, 49.653f, 8.69142f, 46.5452f
4623 path.quadTo(SkBits2Float(0x40f15460), SkBits2Float(0x422dbfee), SkBits2Float(0x4 10ed0fc), SkBits2Float(0x4221b50b)); // 7.54155f, 43.4374f, 8.92602f, 40.4268f
4624 path.quadTo(SkBits2Float(0x4124f7c7), SkBits2Float(0x4215aa28), SkBits2Float(0x4 156b15b), SkBits2Float(0x421110b0)); // 10.3105f, 37.4162f, 13.4183f, 36.2663f
4625 path.quadTo(SkBits2Float(0x41843577), SkBits2Float(0x420c7739), SkBits2Float(0x4 19c4b3e), SkBits2Float(0x421200ec)); // 16.5261f, 35.1164f, 19.5367f, 36.5009f
4626 path.quadTo(SkBits2Float(0x41b46104), SkBits2Float(0x42178a9f), SkBits2Float(0x4 1bd93f2), SkBits2Float(0x4223f904)); // 22.5474f, 37.8854f, 23.6972f, 40.9932f
4627 path.quadTo(SkBits2Float(0x41c6c6e0), SkBits2Float(0x42306768), SkBits2Float(0x4 1bbb37b), SkBits2Float(0x423c724c)); // 24.8471f, 44.101f, 23.4626f, 47.1116f
4628 path.close();
4629
4630 SkPath path2(path);
4631 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4632 }
4633
4634 //SkOpSegment.cpp:3475: failed assertion "firstAngle"
4635 static void fuzz763_17370(skiatest::Reporter* reporter, const char* filename) {
4636 SkPath path;
4637 path.setFillType((SkPath::FillType) 1);
4638 path.moveTo(SkBits2Float(0x41fb8980), SkBits2Float(0xc20d9cf4)); // 31.4421f, - 35.4033f
4639 path.quadTo(SkBits2Float(0x42081e43), SkBits2Float(0xc215e4e6), SkBits2Float(0x4 2154ac6), SkBits2Float(0xc2146e6f)); // 34.0296f, -37.4735f, 37.323f, -37.1078f
4640 path.quadTo(SkBits2Float(0x4222774a), SkBits2Float(0xc212f7f8), SkBits2Float(0x4 22abf3a), SkBits2Float(0xc2089e76)); // 40.6165f, -36.7422f, 42.6867f, -34.1547 f
4641 path.quadTo(SkBits2Float(0x4233072c), SkBits2Float(0xc1fc89e5), SkBits2Float(0x4 23190b5), SkBits2Float(0xc1e230df)); // 44.757f, -31.5673f, 44.3913f, -28.2739f
4642 path.quadTo(SkBits2Float(0x42301a3e), SkBits2Float(0xc1c7d7d8), SkBits2Float(0x4 225c0bc), SkBits2Float(0xc1b747f6)); // 44.0256f, -24.9804f, 41.4382f, -22.9101 f
4643 path.quadTo(SkBits2Float(0x421b6738), SkBits2Float(0xc1a6b815), SkBits2Float(0x4 20e3ab6), SkBits2Float(0xc1a9a502)); // 38.8508f, -20.8399f, 35.5573f, -21.2056 f
4644 path.quadTo(SkBits2Float(0x42010e32), SkBits2Float(0xc1ac91ef), SkBits2Float(0x4 1f18c82), SkBits2Float(0xc1c144f4)); // 32.2639f, -21.5713f, 30.1936f, -24.1587 f
4645 path.quadTo(SkBits2Float(0x41e0fca1), SkBits2Float(0xc1d5f7fa), SkBits2Float(0x4 1e3e98e), SkBits2Float(0xc1f05101)); // 28.1234f, -26.7461f, 28.489f, -30.0396f
4646 path.quadTo(SkBits2Float(0x41e6d67b), SkBits2Float(0xc2055504), SkBits2Float(0x4 1fb8980), SkBits2Float(0xc20d9cf4)); // 28.8547f, -33.333f, 31.4421f, -35.4033f
4647 path.close();
4648 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4649 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4650 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4651 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4652 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4653 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4654 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4655 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x420ff6ba), SkBits2Float(0x4 0c2ea2a), SkBits2Float(0x4218c3c6)); // 8, 35.9909f, 6.09108f, 38.1912f
4656 path.quadTo(SkBits2Float(0x41135b8a), SkBits2Float(0x42173bf5), SkBits2Float(0x4 13c53fb), SkBits2Float(0x421ec49c)); // 9.20985f, 37.8086f, 11.7705f, 39.692f
4657 path.quadTo(SkBits2Float(0x416709c9), SkBits2Float(0x42269f2a), SkBits2Float(0x4 16f0674), SkBits2Float(0x4233b9ad)); // 14.4399f, 41.6554f, 14.9391f, 44.9313f
4658 path.quadTo(SkBits2Float(0x41770320), SkBits2Float(0x4240d431), SkBits2Float(0x4 15798ee), SkBits2Float(0x424b81a4)); // 15.4383f, 48.2072f, 13.4748f, 50.8766f
4659 path.quadTo(SkBits2Float(0x41382eba), SkBits2Float(0x42562f18), SkBits2Float(0x4 103c4ac), SkBits2Float(0x42582e42)); // 11.5114f, 53.546f, 8.23552f, 54.0452f
4660 path.quadTo(SkBits2Float(0x409eb53c), SkBits2Float(0x425a2d6e), SkBits2Float(0x4 0129340), SkBits2Float(0x425252e0)); // 4.95962f, 54.5444f, 2.29024f, 52.5809f
4661 path.quadTo(SkBits2Float(0x3ee54581), SkBits2Float(0x424ce72c), SkBits2Float(0xb eb8b807), SkBits2Float(0x4244fb36)); // 0.447796f, 51.2258f, -0.360779f, 49.245 3f
4662 path.quadTo(SkBits2Float(0xbf99615c), SkBits2Float(0x424cdad2), SkBits2Float(0xc 043dd58), SkBits2Float(0x42522abc)); // -1.19828f, 51.2137f, -3.06038f, 52.5417 f
4663 path.quadTo(SkBits2Float(0xc0b84398), SkBits2Float(0x4259dd06), SkBits2Float(0xc 1106c72), SkBits2Float(0x4257acc2)); // -5.75825f, 54.4658f, -9.02648f, 53.9187 f
4664 path.quadTo(SkBits2Float(0xc144b71a), SkBits2Float(0x42557c80), SkBits2Float(0xc 163803e), SkBits2Float(0x424ab1e2)); // -12.2947f, 53.3716f, -14.2188f, 50.6737 f
4665 path.quadTo(SkBits2Float(0xc18124b1), SkBits2Float(0x423fe745), SkBits2Float(0xc 1798856), SkBits2Float(0x4232d49b)); // -16.1429f, 47.9758f, -15.5958f, 44.7076 f
4666 path.quadTo(SkBits2Float(0xc170c74c), SkBits2Float(0x4225c1f0), SkBits2Float(0xc 1459cd6), SkBits2Float(0x421e0fa8)); // -15.0487f, 41.4394f, -12.3508f, 39.5153 f
4667 path.quadTo(SkBits2Float(0xc11a7260), SkBits2Float(0x42165d5e), SkBits2Float(0xc 0cc4f70), SkBits2Float(0x42188da2)); // -9.65292f, 37.5912f, -6.3847f, 38.1383f
4668 path.quadTo(SkBits2Float(0xc0c78c19), SkBits2Float(0x4218a726), SkBits2Float(0xc 0c2e01e), SkBits2Float(0x4218c538)); // -6.23585f, 38.1632f, -6.08986f, 38.1926 f
4669 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x420ff7b5), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 35.9919f, -8, 33
4670 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4671 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4672 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4673 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4674 path.close();
4675 path.moveTo(SkBits2Float(0xc23ab9e7), SkBits2Float(0xc1c274dd)); // -46.6815f, -24.3071f
4676 path.quadTo(SkBits2Float(0xc22e95fe), SkBits2Float(0xc1cd18ca), SkBits2Float(0xc 2223d50), SkBits2Float(0xc1c373a5)); // -43.6465f, -25.6371f, -40.5599f, -24.43 15f
4677 path.quadTo(SkBits2Float(0xc215e4a2), SkBits2Float(0xc1b9ce80), SkBits2Float(0xc 21092ac), SkBits2Float(0xc1a186ac)); // -37.4733f, -23.2258f, -36.1432f, -20.19 08f
4678 path.quadTo(SkBits2Float(0xc20b40b5), SkBits2Float(0xc1893ed9), SkBits2Float(0xc 2101348), SkBits2Float(0xc1611afc)); // -34.8132f, -17.1557f, -36.0188f, -14.06 91f
4679 path.quadTo(SkBits2Float(0xc214e5da), SkBits2Float(0xc12fb844), SkBits2Float(0xc 22109c4), SkBits2Float(0xc11a706a)); // -37.2245f, -10.9825f, -40.2595f, -9.652 44f
4680 path.quadTo(SkBits2Float(0xc22d2dae), SkBits2Float(0xc1052890), SkBits2Float(0xc 239865c), SkBits2Float(0xc11872dd)); // -43.2946f, -8.3224f, -46.3812f, -9.5280 4f
4681 path.quadTo(SkBits2Float(0xc245df09), SkBits2Float(0xc12bbd26), SkBits2Float(0xc 24b3100), SkBits2Float(0xc15c4ccc)); // -49.4678f, -10.7337f, -50.7979f, -13.76 87f
4682 path.quadTo(SkBits2Float(0xc25082f6), SkBits2Float(0xc1866e3a), SkBits2Float(0xc 24bb063), SkBits2Float(0xc19f1f96)); // -52.1279f, -16.8038f, -50.9223f, -19.89 04f
4683 path.quadTo(SkBits2Float(0xc246ddd1), SkBits2Float(0xc1b7d0f0), SkBits2Float(0xc 23ab9e7), SkBits2Float(0xc1c274dd)); // -49.7166f, -22.977f, -46.6815f, -24.307 1f
4684 path.close();
4685 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); // -47.1494f, 4.35143f
4686 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); // -43.9486f, 3.49378f, -41.0788f, 5.15063 f
4687 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -38.2091f, 6.80749f, -37.3514f, 10.0083 f
4688 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4689 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4690 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4691 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4692 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec)); // -53.6639f, 10.9486f, -52.007f, 8.07884f
4693 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec)); // -50.3502f, 5.20908f, -47.1494f, 4.35143 f
4694 path.close();
4695 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); // 27.3431f, 2 7.3431f
4696 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
4697 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
4698 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
4699 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 41, 36.3137f, 38.6569f, 38.6569f
4700 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41
4701 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f
4702 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33
4703 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
4704 path.close();
4705 path.moveTo(SkBits2Float(0xc1d961c1), SkBits2Float(0x41f9e1da)); // -27.1727f, 31.2353f
4706 path.quadTo(SkBits2Float(0xc1bf6f78), SkBits2Float(0x41f47252), SkBits2Float(0xc 1a93eb6), SkBits2Float(0x42017995)); // -23.9294f, 30.5558f, -21.1556f, 32.3687 f
4707 path.quadTo(SkBits2Float(0xc1930df4), SkBits2Float(0x4208ba01), SkBits2Float(0xc 18d9e6c), SkBits2Float(0x4215b325)); // -18.3818f, 34.1816f, -17.7024f, 37.4249 f
4708 path.quadTo(SkBits2Float(0xc1882ee5), SkBits2Float(0x4222ac49), SkBits2Float(0xc 196afbd), SkBits2Float(0x422dc4aa)); // -17.0229f, 40.6682f, -18.8358f, 43.4421 f
4709 path.quadTo(SkBits2Float(0xc1a53094), SkBits2Float(0x4238dd0c), SkBits2Float(0xc 1bf22dd), SkBits2Float(0x423b94cf)); // -20.6487f, 46.2159f, -23.892f, 46.8953f
4710 path.quadTo(SkBits2Float(0xc1d91525), SkBits2Float(0x423e4c93), SkBits2Float(0xc 1ef45e7), SkBits2Float(0x42370c27)); // -27.1353f, 47.5748f, -29.9091f, 45.7619 f
4711 path.quadTo(SkBits2Float(0xc202bb55), SkBits2Float(0x422fcbbc), SkBits2Float(0xc 2057319), SkBits2Float(0x4222d298)); // -32.6829f, 43.949f, -33.3624f, 40.7057f
4712 path.quadTo(SkBits2Float(0xc2082adc), SkBits2Float(0x4215d973), SkBits2Float(0xc 200ea70), SkBits2Float(0x420ac112)); // -34.0419f, 37.4624f, -32.2289f, 34.6885 f
4713 path.quadTo(SkBits2Float(0xc1f35409), SkBits2Float(0x41ff5161), SkBits2Float(0xc 1d961c1), SkBits2Float(0x41f9e1da)); // -30.416f, 31.9147f, -27.1727f, 31.2353f
4714 path.close();
4715 path.moveTo(SkBits2Float(0xbfccf162), SkBits2Float(0x42236913)); // -1.60112f, 40.8526f
4716 path.quadTo(SkBits2Float(0xbf54c171), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); // -0.831077f, 41, 0, 41
4717 path.quadTo(SkBits2Float(0x3dcda9e6), SkBits2Float(0x42240000), SkBits2Float(0x3 e4cbe2e), SkBits2Float(0x4223fdcc)); // 0.100422f, 41, 0.199944f, 40.9978f
4718 path.quadTo(SkBits2Float(0x3f12dfd9), SkBits2Float(0x4223f586), SkBits2Float(0x3 f6f571b), SkBits2Float(0x4223ce2c)); // 0.573728f, 40.9898f, 0.934923f, 40.9513 f
4719 path.quadTo(SkBits2Float(0x3f4168dc), SkBits2Float(0x4224a9bb), SkBits2Float(0x3 f15fde0), SkBits2Float(0x422595d9)); // 0.755506f, 41.1658f, 0.585905f, 41.3963 f
4720 path.quadTo(SkBits2Float(0x3d27275b), SkBits2Float(0x42288cb9), SkBits2Float(0xb ea10331), SkBits2Float(0x422bb375)); // 0.040809f, 42.1374f, -0.314477f, 42.925 3f
4721 path.quadTo(SkBits2Float(0xbf287eab), SkBits2Float(0x4228877a), SkBits2Float(0xb f989f50), SkBits2Float(0x42258882)); // -0.658183f, 42.1323f, -1.19236f, 41.383 3f
4722 path.quadTo(SkBits2Float(0xbfb1e0f9), SkBits2Float(0x42246d34), SkBits2Float(0xb fccf162), SkBits2Float(0x42236913)); // -1.38968f, 41.1066f, -1.60112f, 40.8526 f
4723 path.close();
4724
4725 SkPath path1(path);
4726 path.reset();
4727 path.setFillType((SkPath::FillType) 0);
4728 path.moveTo(SkBits2Float(0x415798ee), SkBits2Float(0x424b81a4)); // 13.4748f, 5 0.8766f
4729 path.quadTo(SkBits2Float(0x41382eba), SkBits2Float(0x42562f18), SkBits2Float(0x4 103c4ac), SkBits2Float(0x42582e42)); // 11.5114f, 53.546f, 8.23552f, 54.0452f
4730 path.quadTo(SkBits2Float(0x409eb53c), SkBits2Float(0x425a2d6e), SkBits2Float(0x4 0129340), SkBits2Float(0x425252e0)); // 4.95962f, 54.5444f, 2.29024f, 52.5809f
4731 path.quadTo(SkBits2Float(0xbec21f80), SkBits2Float(0x424a7854), SkBits2Float(0xb f60da80), SkBits2Float(0x423d5dd0)); // -0.379147f, 50.6175f, -0.878334f, 47.34 16f
4732 path.quadTo(SkBits2Float(0xbfb052b0), SkBits2Float(0x4230434d), SkBits2Float(0x3 f15fde0), SkBits2Float(0x422595d9)); // -1.37752f, 44.0657f, 0.585905f, 41.3963 f
4733 path.quadTo(SkBits2Float(0x40232840), SkBits2Float(0x421ae866), SkBits2Float(0x4 0ba6840), SkBits2Float(0x4218e93b)); // 2.54933f, 38.727f, 5.82523f, 38.2278f
4734 path.quadTo(SkBits2Float(0x41119e2f), SkBits2Float(0x4216ea10), SkBits2Float(0x4 13c53fb), SkBits2Float(0x421ec49c)); // 9.10112f, 37.7286f, 11.7705f, 39.692f
4735 path.quadTo(SkBits2Float(0x416709c9), SkBits2Float(0x42269f2a), SkBits2Float(0x4 16f0674), SkBits2Float(0x4233b9ad)); // 14.4399f, 41.6554f, 14.9391f, 44.9313f
4736 path.quadTo(SkBits2Float(0x41770320), SkBits2Float(0x4240d431), SkBits2Float(0x4 15798ee), SkBits2Float(0x424b81a4)); // 15.4383f, 48.2072f, 13.4748f, 50.8766f
4737 path.close();
4738
4739 SkPath path2(path);
4740 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4741 }
4742
4743 // SkDQuadIntersection.cpp:598: failed assertion "way_roughly_equal(fT[0][index] , 1)"
4744 static void fuzz763_35322(skiatest::Reporter* reporter, const char* filename) {
4745 SkPath path;
4746 path.setFillType((SkPath::FillType) 1);
4747 path.moveTo(SkBits2Float(0x41042400), SkBits2Float(0xc24fea42)); // 8.25879f, - 51.9788f
4748 path.quadTo(SkBits2Float(0x413225f2), SkBits2Float(0xc25680b3), SkBits2Float(0x4 165502a), SkBits2Float(0xc2530720)); // 11.1343f, -53.6257f, 14.3321f, -52.757f
4749 path.quadTo(SkBits2Float(0x418c3d32), SkBits2Float(0xc24f8d8e), SkBits2Float(0x4 1996a13), SkBits2Float(0xc2440d11)); // 17.5299f, -51.8882f, 19.1768f, -49.0128 f
4750 path.quadTo(SkBits2Float(0x41a696f3), SkBits2Float(0xc2388c95), SkBits2Float(0x4 19fa3cc), SkBits2Float(0xc22bc206)); // 20.8237f, -46.1373f, 19.955f, -42.9395f
4751 path.quadTo(SkBits2Float(0x4198b0a8), SkBits2Float(0xc21ef778), SkBits2Float(0x4 181afaf), SkBits2Float(0xc2186108)); // 19.0863f, -39.7417f, 16.2108f, -38.0948 f
4752 path.quadTo(SkBits2Float(0x41555d6e), SkBits2Float(0xc211ca98), SkBits2Float(0x4 1223335), SkBits2Float(0xc215442b)); // 13.3353f, -36.4478f, 10.1375f, -37.3166 f
4753 path.quadTo(SkBits2Float(0x40de11f8), SkBits2Float(0xc218bdbe), SkBits2Float(0x4 0a95e78), SkBits2Float(0xc2243e3a)); // 6.93969f, -38.1853f, 5.29278f, -41.0608 f
4754 path.quadTo(SkBits2Float(0x406955e8), SkBits2Float(0xc22fbeb6), SkBits2Float(0x4 090778c), SkBits2Float(0xc23c8944)); // 3.64587f, -43.9362f, 4.51459f, -47.134f
4755 path.quadTo(SkBits2Float(0x40ac4420), SkBits2Float(0xc24953d2), SkBits2Float(0x4 1042400), SkBits2Float(0xc24fea42)); // 5.38332f, -50.3319f, 8.25879f, -51.9788 f
4756 path.close();
4757 path.moveTo(SkBits2Float(0x41cb7543), SkBits2Float(0xc2385013)); // 25.4323f, - 46.0782f
4758 path.quadTo(SkBits2Float(0x41e591fd), SkBits2Float(0xc23a9972), SkBits2Float(0x4 1fb44a5), SkBits2Float(0xc232fbf5)); // 28.6963f, -46.6498f, 31.4085f, -44.7461 f
4759 path.quadTo(SkBits2Float(0x42087ba8), SkBits2Float(0xc22b5e79), SkBits2Float(0x4 20ac507), SkBits2Float(0xc21e501c)); // 34.1208f, -42.8423f, 34.6924f, -39.5782 f
4760 path.quadTo(SkBits2Float(0x420d0e67), SkBits2Float(0xc21141bf), SkBits2Float(0x4 20570ea), SkBits2Float(0xc206686a)); // 35.2641f, -36.3142f, 33.3603f, -33.602f
4761 path.quadTo(SkBits2Float(0x41fba6dc), SkBits2Float(0xc1f71e2c), SkBits2Float(0x4 1e18a22), SkBits2Float(0xc1f28b6c)); // 31.4565f, -30.8897f, 28.1924f, -30.3181 f
4762 path.quadTo(SkBits2Float(0x41c76d67), SkBits2Float(0xc1edf8ad), SkBits2Float(0x4 1b1babe), SkBits2Float(0xc1fd33a6)); // 24.9284f, -29.7464f, 22.2162f, -31.6502 f
4763 path.quadTo(SkBits2Float(0x419c0815), SkBits2Float(0xc2063750), SkBits2Float(0x4 1977556), SkBits2Float(0xc21345ad)); // 19.5039f, -33.554f, 18.9323f, -36.818f
4764 path.quadTo(SkBits2Float(0x4192e296), SkBits2Float(0xc220540a), SkBits2Float(0x4 1a21d8f), SkBits2Float(0xc22b2d5e)); // 18.3606f, -40.0821f, 20.2644f, -42.7943 f
4765 path.quadTo(SkBits2Float(0x41b15888), SkBits2Float(0xc23606b3), SkBits2Float(0x4 1cb7543), SkBits2Float(0xc2385013)); // 22.1682f, -45.5065f, 25.4323f, -46.0782 f
4766 path.close();
4767 path.moveTo(SkBits2Float(0x4206de71), SkBits2Float(0xc204f99f)); // 33.7172f, - 33.2438f
4768 path.quadTo(SkBits2Float(0x4211be80), SkBits2Float(0xc20c8d7c), SkBits2Float(0x4 21ecad2), SkBits2Float(0xc20a388c)); // 36.436f, -35.1382f, 39.6981f, -34.5552f
4769 path.quadTo(SkBits2Float(0x422bd724), SkBits2Float(0xc207e39b), SkBits2Float(0x4 2336b00), SkBits2Float(0xc1fa0718)); // 42.9601f, -33.9723f, 44.8545f, -31.2535 f
4770 path.quadTo(SkBits2Float(0x423afedd), SkBits2Float(0xc1e446f9), SkBits2Float(0x4 238a9ec), SkBits2Float(0xc1ca2e57)); // 46.7489f, -28.5347f, 46.1659f, -25.2726 f
4771 path.quadTo(SkBits2Float(0x423654fc), SkBits2Float(0xc1b015b3), SkBits2Float(0x4 22b74ed), SkBits2Float(0xc1a0edfa)); // 45.583f, -22.0106f, 42.8642f, -20.1162f
4772 path.quadTo(SkBits2Float(0x422094de), SkBits2Float(0xc191c640), SkBits2Float(0x4 213888c), SkBits2Float(0xc1967021)); // 40.1454f, -18.2218f, 36.8833f, -18.8048 f
4773 path.quadTo(SkBits2Float(0x42067c3a), SkBits2Float(0xc19b1a02), SkBits2Float(0x4 1fdd0bc), SkBits2Float(0xc1b0da20)); // 33.6213f, -19.3877f, 31.7269f, -22.1065 f
4774 path.quadTo(SkBits2Float(0x41eea902), SkBits2Float(0xc1c69a3f), SkBits2Float(0x4 1f352e3), SkBits2Float(0xc1e0b2e3)); // 29.8325f, -24.8253f, 30.4155f, -28.0873 f
4775 path.quadTo(SkBits2Float(0x41f7fcc4), SkBits2Float(0xc1facb85), SkBits2Float(0x4 206de71), SkBits2Float(0xc204f99f)); // 30.9984f, -31.3494f, 33.7172f, -33.2438 f
4776 path.close();
4777 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4778 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4779 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4780 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4781 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4782 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4783 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4784 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e)); // 8, 36.3137f, 5.65685f, 38.6569f
4785 path.quadTo(SkBits2Float(0x40b4fa00), SkBits2Float(0x421aa1fd), SkBits2Float(0x4 0b4ef0c), SkBits2Float(0x421aa35b)); // 5.65552f, 38.6582f, 5.65418f, 38.6595f
4786 path.quadTo(SkBits2Float(0x40f11f68), SkBits2Float(0x421c342c), SkBits2Float(0x4 111ddac), SkBits2Float(0x42218978)); // 7.53508f, 39.0509f, 9.11662f, 40.3842f
4787 path.quadTo(SkBits2Float(0x413a6700), SkBits2Float(0x422a1497), SkBits2Float(0x4 13ee6c0), SkBits2Float(0x42374996)); // 11.6501f, 42.5201f, 11.9313f, 45.8219f
4788 path.quadTo(SkBits2Float(0x41436686), SkBits2Float(0x42447e96), SkBits2Float(0x4 1213a06), SkBits2Float(0x424ea0eb)); // 12.2125f, 49.1236f, 10.0767f, 51.6571f
4789 path.quadTo(SkBits2Float(0x40fe1b10), SkBits2Float(0x4258c340), SkBits2Float(0x4 0947314), SkBits2Float(0x4259e330)); // 7.9408f, 54.1907f, 4.63905f, 54.4719f
4790 path.quadTo(SkBits2Float(0x3fab2c60), SkBits2Float(0x425b0321), SkBits2Float(0xb f991e40), SkBits2Float(0x42527802)); // 1.33729f, 54.7531f, -1.19624f, 52.6172f
4791 path.quadTo(SkBits2Float(0xc06eb470), SkBits2Float(0x4249ece2), SkBits2Float(0xc 08059b8), SkBits2Float(0x423cb7e2)); // -3.72976f, 50.4813f, -4.01095f, 47.1796 f
4792 path.quadTo(SkBits2Float(0xc0895940), SkBits2Float(0x422f82e3), SkBits2Float(0xc 00a0088), SkBits2Float(0x4225608e)); // -4.29214f, 43.8778f, -2.15628f, 41.3443 f
4793 path.quadTo(SkBits2Float(0xbff725c6), SkBits2Float(0x42244eb9), SkBits2Float(0xb fd8a182), SkBits2Float(0x4223569a)); // -1.93084f, 41.0769f, -1.69243f, 40.8346 f
4794 path.quadTo(SkBits2Float(0xc07bec59), SkBits2Float(0x42218277), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); // -3.9363f, 40.3774f, -5.65685f, 38.6569f
4795 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 36.3137f, -8, 33
4796 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4797 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4798 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4799 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4800 path.close();
4801 path.moveTo(SkBits2Float(0xc233e0fb), SkBits2Float(0xc1dac1ac)); // -44.9697f, -27.3446f
4802 path.quadTo(SkBits2Float(0xc22769b6), SkBits2Float(0xc1e3c410), SkBits2Float(0xc 21b69b6), SkBits2Float(0xc1d881ca)); // -41.8532f, -28.4707f, -38.8532f, -27.06 34f
4803 path.quadTo(SkBits2Float(0xc20f69b6), SkBits2Float(0xc1cd3f84), SkBits2Float(0xc 20ae884), SkBits2Float(0xc1b450fa)); // -35.8532f, -25.656f, -34.7271f, -22.539 5f
4804 path.quadTo(SkBits2Float(0xc2066752), SkBits2Float(0xc19b6270), SkBits2Float(0xc 20c0875), SkBits2Float(0xc1836270)); // -33.6009f, -19.4231f, -35.0083f, -16.42 31f
4805 path.quadTo(SkBits2Float(0xc211a998), SkBits2Float(0xc156c4e1), SkBits2Float(0xc 21e20dd), SkBits2Float(0xc144c018)); // -36.4156f, -13.4231f, -39.5321f, -12.29 69f
4806 path.quadTo(SkBits2Float(0xc22a9822), SkBits2Float(0xc132bb50), SkBits2Float(0xc 2369821), SkBits2Float(0xc1493fdc)); // -42.6486f, -11.1707f, -45.6486f, -12.57 81f
4807 path.quadTo(SkBits2Float(0xc2429822), SkBits2Float(0xc15fc467), SkBits2Float(0xc 2471954), SkBits2Float(0xc188d0be)); // -48.6486f, -13.9854f, -49.7747f, -17.10 19f
4808 path.quadTo(SkBits2Float(0xc24b9a86), SkBits2Float(0xc1a1bf48), SkBits2Float(0xc 245f962), SkBits2Float(0xc1b9bf47)); // -50.9009f, -20.2184f, -49.4935f, -23.21 84f
4809 path.quadTo(SkBits2Float(0xc2405840), SkBits2Float(0xc1d1bf48), SkBits2Float(0xc 233e0fb), SkBits2Float(0xc1dac1ac)); // -48.0862f, -26.2184f, -44.9697f, -27.34 46f
4810 path.close();
4811 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); // -47.1494f, 4.35143f
4812 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); // -43.9486f, 3.49378f, -41.0788f, 5.15063 f
4813 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -38.2091f, 6.80749f, -37.3514f, 10.0083 f
4814 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4815 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4816 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4817 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4818 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec)); // -53.6639f, 10.9486f, -52.007f, 8.07884f
4819 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec)); // -50.3502f, 5.20908f, -47.1494f, 4.35143 f
4820 path.close();
4821 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); // 27.3431f, 2 7.3431f
4822 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
4823 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
4824 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
4825 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 41, 36.3137f, 38.6569f, 38.6569f
4826 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41
4827 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f
4828 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33
4829 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
4830 path.close();
4831
4832 SkPath path1(path);
4833 path.reset();
4834 path.setFillType((SkPath::FillType) 0);
4835 path.moveTo(SkBits2Float(0x41213a06), SkBits2Float(0x424ea0eb)); // 10.0767f, 5 1.6571f
4836 path.quadTo(SkBits2Float(0x40fe1b10), SkBits2Float(0x4258c340), SkBits2Float(0x4 0947314), SkBits2Float(0x4259e330)); // 7.9408f, 54.1907f, 4.63905f, 54.4719f
4837 path.quadTo(SkBits2Float(0x3fab2c60), SkBits2Float(0x425b0321), SkBits2Float(0xb f991e40), SkBits2Float(0x42527802)); // 1.33729f, 54.7531f, -1.19624f, 52.6172f
4838 path.quadTo(SkBits2Float(0xc06eb470), SkBits2Float(0x4249ece2), SkBits2Float(0xc 08059b8), SkBits2Float(0x423cb7e2)); // -3.72976f, 50.4813f, -4.01095f, 47.1796 f
4839 path.quadTo(SkBits2Float(0xc0895940), SkBits2Float(0x422f82e3), SkBits2Float(0xc 00a0088), SkBits2Float(0x4225608e)); // -4.29214f, 43.8778f, -2.15628f, 41.3443 f
4840 path.quadTo(SkBits2Float(0xbca74400), SkBits2Float(0x421b3e39), SkBits2Float(0x4 0520168), SkBits2Float(0x421a1e48)); // -0.0204182f, 38.8108f, 3.28134f, 38.529 6f
4841 path.quadTo(SkBits2Float(0x40d2a8b0), SkBits2Float(0x4218fe58), SkBits2Float(0x4 111ddac), SkBits2Float(0x42218978)); // 6.58309f, 38.2484f, 9.11662f, 40.3842f
4842 path.quadTo(SkBits2Float(0x413a6700), SkBits2Float(0x422a1497), SkBits2Float(0x4 13ee6c0), SkBits2Float(0x42374996)); // 11.6501f, 42.5201f, 11.9313f, 45.8219f
4843 path.quadTo(SkBits2Float(0x41436686), SkBits2Float(0x42447e96), SkBits2Float(0x4 1213a06), SkBits2Float(0x424ea0eb)); // 12.2125f, 49.1236f, 10.0767f, 51.6571f
4844 path.close();
4845
4846 SkPath path2(path);
4847 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4848 }
4849
4850 // SkPathOpsOp.cpp:52: failed assertion "angle != firstAngle || !loop"
4851 static void fuzz763_849020(skiatest::Reporter* reporter, const char* filename) {
4852 SkPath path;
4853 path.setFillType((SkPath::FillType) 1);
4854 path.moveTo(SkBits2Float(0x411e4374), SkBits2Float(0xc24ec58f)); // 9.89147f, - 51.6929f
4855 path.quadTo(SkBits2Float(0x414d13fa), SkBits2Float(0xc254fe70), SkBits2Float(0x4 17fc7a6), SkBits2Float(0xc2511e30)); // 12.8174f, -53.2485f, 15.9862f, -52.2795 f
4856 path.quadTo(SkBits2Float(0x41993dab), SkBits2Float(0xc24d3df4), SkBits2Float(0x4 1a5af6e), SkBits2Float(0xc24189d2)); // 19.1551f, -51.3105f, 20.7107f, -48.3846 f
4857 path.quadTo(SkBits2Float(0x41b22132), SkBits2Float(0xc235d5b1), SkBits2Float(0x4 1aa60b2), SkBits2Float(0xc22928c4)); // 22.2662f, -45.4587f, 21.2972f, -42.2898 f
4858 path.quadTo(SkBits2Float(0x41a2a038), SkBits2Float(0xc21c7bda), SkBits2Float(0x4 18b37f4), SkBits2Float(0xc21642f8)); // 20.3282f, -39.1209f, 17.4023f, -37.5654 f
4859 path.quadTo(SkBits2Float(0x41679f65), SkBits2Float(0xc2100a16), SkBits2Float(0x4 134ebb5), SkBits2Float(0xc213ea55)); // 14.4764f, -36.0098f, 11.3075f, -36.9788 f
4860 path.quadTo(SkBits2Float(0x41023808), SkBits2Float(0xc217ca94), SkBits2Float(0x4 0d2a902), SkBits2Float(0xc2237eb5)); // 8.13868f, -37.9478f, 6.58313f, -40.8737 f
4861 path.quadTo(SkBits2Float(0x40a0e1f4), SkBits2Float(0xc22f32d6), SkBits2Float(0x4 0bfe3ec), SkBits2Float(0xc23bdfc1)); // 5.02758f, -43.7996f, 5.99657f, -46.9685 f
4862 path.quadTo(SkBits2Float(0x40dee5e0), SkBits2Float(0xc2488cad), SkBits2Float(0x4 11e4374), SkBits2Float(0xc24ec58f)); // 6.96556f, -50.1374f, 9.89147f, -51.6929 f
4863 path.close();
4864 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4865 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4866 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4867 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4868 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4869 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4870 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4871 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e)); // 8, 36.3137f, 5.65685f, 38.6569f
4872 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); // 3.31371f, 41, 0, 41
4873 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); // -3.31371f, 41, -5.65685f, 38.6569f
4874 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 36.3137f, -8, 33
4875 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4876 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4877 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4878 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4879 path.close();
4880 path.moveTo(SkBits2Float(0xc23d1735), SkBits2Float(0x402cdce8)); // -47.2727f, 2.70098f
4881 path.quadTo(SkBits2Float(0xc2302ce7), SkBits2Float(0x3ffa54f0), SkBits2Float(0xc 224ef5c), SkBits2Float(0x406d8f00)); // -44.0438f, 1.95572f, -41.2337f, 3.71185 f
4882 path.quadTo(SkBits2Float(0xc219b1d2), SkBits2Float(0x40aef9c4), SkBits2Float(0xc 216b6ab), SkBits2Float(0x410b261b)); // -38.4237f, 5.46799f, -37.6784f, 8.6968f
4883 path.quadTo(SkBits2Float(0xc2166795), SkBits2Float(0x411080a8), SkBits2Float(0xc 2163402), SkBits2Float(0x4115c8a0)); // -37.6012f, 9.03141f, -37.5508f, 9.36148 f
4884 path.quadTo(SkBits2Float(0xc215c2e1), SkBits2Float(0x411ad33f), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -37.4403f, 9.67657f, -37.3514f, 10.0083 f
4885 path.quadTo(SkBits2Float(0xc211f9a2), SkBits2Float(0x41535866), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4938f, 13.2091f, -38.1506f, 16.0788 f
4886 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4887 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4888 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); // -51.9486f, 17.3502f, -52.8062f, 14.1494 f
4889 path.quadTo(SkBits2Float(0xc253bae4), SkBits2Float(0x415ad9be), SkBits2Float(0xc 2540461), SkBits2Float(0x41536cea)); // -52.9325f, 13.6782f, -53.0043f, 13.2141 f
4890 path.quadTo(SkBits2Float(0xc254a293), SkBits2Float(0x414c5480), SkBits2Float(0xc 25512ee), SkBits2Float(0x4144b962)); // -53.1588f, 12.7706f, -53.2685f, 12.2953 f
4891 path.quadTo(SkBits2Float(0xc2580e14), SkBits2Float(0x41111028), SkBits2Float(0xc 25107cc), SkBits2Float(0x40c833fc)); // -54.0137f, 9.06644f, -52.2576f, 6.25635 f
4892 path.quadTo(SkBits2Float(0xc24a0183), SkBits2Float(0x405c8f50), SkBits2Float(0xc 23d1735), SkBits2Float(0x402cdce8)); // -50.5015f, 3.44625f, -47.2727f, 2.70098 f
4893 path.close();
4894 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); // 27.3431f, 2 7.3431f
4895 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
4896 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
4897 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
4898 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 41, 36.3137f, 38.6569f, 38.6569f
4899 path.quadTo(SkBits2Float(0x421a60e3), SkBits2Float(0x421ae059), SkBits2Float(0x4 21a205f), SkBits2Float(0x421b1e77)); // 38.5946f, 38.7191f, 38.5316f, 38.7798f
4900 path.lineTo(SkBits2Float(0x421a2049), SkBits2Float(0x421b1e8d)); // 38.5315f, 3 8.7798f
4901 path.quadTo(SkBits2Float(0x4218fba8), SkBits2Float(0x421c384c), SkBits2Float(0x4 217c88e), SkBits2Float(0x421d2f21)); // 38.2458f, 39.055f, 37.9459f, 39.296f
4902 path.quadTo(SkBits2Float(0x42168e68), SkBits2Float(0x421e9b27), SkBits2Float(0x4 2152104), SkBits2Float(0x421fefda)); // 37.6391f, 39.6515f, 37.2822f, 39.9842f
4903 path.quadTo(SkBits2Float(0x42146c3b), SkBits2Float(0x4220986c), SkBits2Float(0x4 213b29d), SkBits2Float(0x42213416)); // 37.1057f, 40.1488f, 36.9244f, 40.3009f
4904 path.quadTo(SkBits2Float(0x42130756), SkBits2Float(0x4221df6b), SkBits2Float(0x4 2124f9e), SkBits2Float(0x422284d0)); // 36.7572f, 40.4682f, 36.5778f, 40.6297f
4905 path.quadTo(SkBits2Float(0x420875c9), SkBits2Float(0x422b6326), SkBits2Float(0x4 1f6726d), SkBits2Float(0x422ab150)); // 34.115f, 42.8468f, 30.8059f, 42.6732f
4906 path.quadTo(SkBits2Float(0x41dbf947), SkBits2Float(0x4229ff79), SkBits2Float(0x4 1ca3c9c), SkBits2Float(0x422025a4)); // 27.4967f, 42.4995f, 25.2796f, 40.0368f
4907 path.quadTo(SkBits2Float(0x41b87ff1), SkBits2Float(0x42164bcf), SkBits2Float(0x4 1b9e39e), SkBits2Float(0x42090f3c)); // 23.0625f, 37.574f, 23.2361f, 34.2649f
4908 path.quadTo(SkBits2Float(0x41bb474a), SkBits2Float(0x41f7a551), SkBits2Float(0x4 1cefaf4), SkBits2Float(0x41e5e8a6)); // 23.4098f, 30.9557f, 25.8725f, 28.7386f
4909 path.quadTo(SkBits2Float(0x41cffe18), SkBits2Float(0x41e4ff5a), SkBits2Float(0x4 1d105e6), SkBits2Float(0x41e422e9)); // 25.9991f, 28.6247f, 26.1279f, 28.517f
4910 path.quadTo(SkBits2Float(0x41d1f880), SkBits2Float(0x41e32f61), SkBits2Float(0x4 1d2f77e), SkBits2Float(0x41e2419e)); // 26.2463f, 28.3981f, 26.3708f, 28.282f
4911 path.quadTo(SkBits2Float(0x41d4f9d5), SkBits2Float(0x41e06208), SkBits2Float(0x4 1d70fba), SkBits2Float(0x41deb6ad)); // 26.622f, 28.0479f, 26.8827f, 27.8392f
4912 path.quadTo(SkBits2Float(0x41d8cd7c), SkBits2Float(0x41dcb00a), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 27.1003f, 27.586f, 27.3431f, 27.3431f
4913 path.close();
4914 path.moveTo(SkBits2Float(0xc185f1f2), SkBits2Float(0x42177488)); // -16.7431f, 37.8638f
4915 path.quadTo(SkBits2Float(0xc15d848f), SkBits2Float(0x42110787), SkBits2Float(0xc 12a8d7f), SkBits2Float(0x4214aee9)); // -13.8449f, 36.2574f, -10.6595f, 37.1708 f
4916 path.quadTo(SkBits2Float(0xc0ef2cde), SkBits2Float(0x4218564b), SkBits2Float(0xc 0bbc4da), SkBits2Float(0x4223ee21)); // -7.47423f, 38.0843f, -5.86778f, 40.9825 f
4917 path.quadTo(SkBits2Float(0xc0885cd4), SkBits2Float(0x422f85f6), SkBits2Float(0xc 0a597e8), SkBits2Float(0x423c43ba)); // -4.26133f, 43.8808f, -5.17479f, 47.0661 f
4918 path.quadTo(SkBits2Float(0xc0c2d2f4), SkBits2Float(0x4249017e), SkBits2Float(0xc 10fc8d0), SkBits2Float(0x424f6e7e)); // -6.08825f, 50.2515f, -8.98653f, 51.8579 f
4919 path.quadTo(SkBits2Float(0xc13e2826), SkBits2Float(0x4255db7f), SkBits2Float(0xc 1711f36), SkBits2Float(0x4252341c)); // -11.8848f, 53.4644f, -15.0701f, 52.5509 f
4920 path.quadTo(SkBits2Float(0xc1920b22), SkBits2Float(0x424e8cbc), SkBits2Float(0xc 19ee524), SkBits2Float(0x4242f4e6)); // -18.2554f, 51.6374f, -19.8619f, 48.7392 f
4921 path.quadTo(SkBits2Float(0xc1abbf24), SkBits2Float(0x42375d10), SkBits2Float(0xc 1a47060), SkBits2Float(0x422a9f4c)); // -21.4683f, 45.8409f, -20.5549f, 42.6556 f
4922 path.quadTo(SkBits2Float(0xc19d219e), SkBits2Float(0x421de188), SkBits2Float(0xc 185f1f2), SkBits2Float(0x42177488)); // -19.6414f, 39.4702f, -16.7431f, 37.8638 f
4923 path.close();
4924
4925 SkPath path1(path);
4926 path.reset();
4927 path.setFillType((SkPath::FillType) 0);
4928 path.moveTo(SkBits2Float(0x421f4961), SkBits2Float(0x4209a6a0)); // 39.8217f, 3 4.4127f
4929 path.quadTo(SkBits2Float(0x421ed2ca), SkBits2Float(0x4216e5cb), SkBits2Float(0x4 2152104), SkBits2Float(0x421fefda)); // 39.7058f, 37.7244f, 37.2822f, 39.9842f
4930 path.quadTo(SkBits2Float(0x420b6f41), SkBits2Float(0x4228f9ea), SkBits2Float(0x4 1fc602b), SkBits2Float(0x42288353)); // 34.8586f, 42.2441f, 31.547f, 42.1282f
4931 path.quadTo(SkBits2Float(0x41e1e1d7), SkBits2Float(0x42280cbd), SkBits2Float(0x4 1cfcdb9), SkBits2Float(0x421e5af7)); // 28.2353f, 42.0124f, 25.9755f, 39.5888f
4932 path.quadTo(SkBits2Float(0x41bdb999), SkBits2Float(0x4214a933), SkBits2Float(0x4 1bea6c6), SkBits2Float(0x42076a08)); // 23.7156f, 37.1652f, 23.8314f, 33.8535f
4933 path.quadTo(SkBits2Float(0x41bf93f3), SkBits2Float(0x41f455bd), SkBits2Float(0x4 1d2f77e), SkBits2Float(0x41e2419e)); // 23.9472f, 30.5419f, 26.3708f, 28.282f
4934 path.quadTo(SkBits2Float(0x41e65b07), SkBits2Float(0x41d02d7f), SkBits2Float(0x4 2006cae), SkBits2Float(0x41d11aac)); // 28.7944f, 26.0222f, 32.1061f, 26.138f
4935 path.quadTo(SkBits2Float(0x420dabd9), SkBits2Float(0x41d207d9), SkBits2Float(0x4 216b5e7), SkBits2Float(0x41e56b63)); // 35.4178f, 26.2538f, 37.6776f, 28.6774f
4936 path.quadTo(SkBits2Float(0x421fbff7), SkBits2Float(0x41f8ceed), SkBits2Float(0x4 21f4961), SkBits2Float(0x4209a6a0)); // 39.9375f, 31.101f, 39.8217f, 34.4127f
4937 path.close();
4938
4939 SkPath path2(path);
4940 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4941 }
4942
4943 static void fuzz763_1597464(skiatest::Reporter* reporter, const char* filename) {
4944 SkPath path;
4945 path.setFillType((SkPath::FillType) 1);
4946 path.moveTo(SkBits2Float(0x4101092a), SkBits2Float(0xc2500973)); // 8.06474f, - 52.0092f
4947 path.quadTo(SkBits2Float(0x412ef1d8), SkBits2Float(0xc256aade), SkBits2Float(0x4 1622940), SkBits2Float(0xc2533d84)); // 10.934f, -53.6669f, 14.1351f, -52.8101f
4948 path.quadTo(SkBits2Float(0x418ab055), SkBits2Float(0xc24fd02d), SkBits2Float(0x4 197f32a), SkBits2Float(0xc2445602)); // 17.3361f, -51.9533f, 18.9937f, -49.084f
4949 path.quadTo(SkBits2Float(0x41a535ff), SkBits2Float(0xc238dbd6), SkBits2Float(0x4 19e5b4c), SkBits2Float(0xc22c0dfb)); // 20.6514f, -46.2147f, 19.7946f, -43.0137 f
4950 path.quadTo(SkBits2Float(0x4197809e), SkBits2Float(0xc21f4021), SkBits2Float(0x4 1808c46), SkBits2Float(0xc2189eb6)); // 18.9378f, -39.8126f, 16.0685f, -38.155f
4951 path.quadTo(SkBits2Float(0x41532fdd), SkBits2Float(0xc211fd4c), SkBits2Float(0x4 11ff875), SkBits2Float(0xc2156aa5)); // 13.1992f, -36.4974f, 9.99816f, -37.3541 f
4952 path.quadTo(SkBits2Float(0x40d98218), SkBits2Float(0xc218d7fd), SkBits2Float(0x4 0a476c4), SkBits2Float(0xc2245229)); // 6.79713f, -38.2109f, 5.1395f, -41.0802f
4953 path.quadTo(SkBits2Float(0x405ed6e0), SkBits2Float(0xc22fcc54), SkBits2Float(0x4 08ad638), SkBits2Float(0xc23c9a2e)); // 3.48186f, -43.9495f, 4.33865f, -47.1506 f
4954 path.quadTo(SkBits2Float(0x40a640f4), SkBits2Float(0xc2496808), SkBits2Float(0x4 101092a), SkBits2Float(0xc2500973)); // 5.19543f, -50.3516f, 8.06474f, -52.0092 f
4955 path.close();
4956 path.moveTo(SkBits2Float(0xc21ab0b3), SkBits2Float(0xc21a9087)); // -38.6726f, -38.6411f
4957 path.quadTo(SkBits2Float(0xc211524c), SkBits2Float(0xc223f0e2), SkBits2Float(0xc 204110f), SkBits2Float(0xc223f243)); // -36.3304f, -40.9852f, -33.0167f, -40.98 66f
4958 path.quadTo(SkBits2Float(0xc1ed9fa5), SkBits2Float(0xc223f3a4), SkBits2Float(0xc 1dadeef), SkBits2Float(0xc21a953c)); // -29.703f, -40.9879f, -27.3589f, -38.645 7f
4959 path.quadTo(SkBits2Float(0xc1c81e38), SkBits2Float(0xc21136d5), SkBits2Float(0xc 1c81b76), SkBits2Float(0xc203f598)); // -25.0148f, -36.3035f, -25.0134f, -32.98 98f
4960 path.quadTo(SkBits2Float(0xc1c818b4), SkBits2Float(0xc1ed68b6), SkBits2Float(0xc 1dad584), SkBits2Float(0xc1daa800)); // -25.0121f, -29.6761f, -27.3543f, -27.33 2f
4961 path.quadTo(SkBits2Float(0xc1ed9254), SkBits2Float(0xc1c7e74a), SkBits2Float(0xc 2040a66), SkBits2Float(0xc1c7e488)); // -29.6964f, -24.9879f, -33.0102f, -24.98 66f
4962 path.quadTo(SkBits2Float(0xc2114ba3), SkBits2Float(0xc1c7e1c6), SkBits2Float(0xc 21aabfe), SkBits2Float(0xc1da9e95)); // -36.3239f, -24.9852f, -38.668f, -27.327 4f
4963 path.quadTo(SkBits2Float(0xc2240c5a), SkBits2Float(0xc1ed5b65), SkBits2Float(0xc 2240dbb), SkBits2Float(0xc203eeef)); // -41.0121f, -29.6696f, -41.0134f, -32.98 33f
4964 path.quadTo(SkBits2Float(0xc2240f1c), SkBits2Float(0xc211302c), SkBits2Float(0xc 21ab0b3), SkBits2Float(0xc21a9087)); // -41.0148f, -36.297f, -38.6726f, -38.641 1f
4965 path.close();
4966 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); // -19.799f, - 19.799f
4967 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); // -11.598f, -28, 0, -28
4968 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); // 11.598f, -28, 19.799f, -19.799f
4969 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); // 28, -11.598f, 28, 0
4970 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); // 28, 11.598f, 19.799f, 19.799f
4971 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); // 13.7163f, 25.8817f, 5.76477f, 27.4529f
4972 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); // 8, 29.7635f, 8, 33
4973 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e)); // 8, 36.3137f, 5.65685f, 38.6569f
4974 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); // 3.31371f, 41, 0, 41
4975 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); // -3.31371f, 41, -5.65685f, 38.6569f
4976 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); // -8, 36.3137f, -8, 33
4977 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); // -8, 29.7635f, -5.76477f, 27.4529f
4978 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); // -13.7163f, 25.8817f, -19.799f, 19.799f
4979 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); // -28, 11.598f, -28, 0
4980 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); // -28, -11.598f, -19.799f, -19.799f
4981 path.close();
4982 path.moveTo(SkBits2Float(0xc21564da), SkBits2Float(0x41204f08)); // -37.3485f, 10.0193f
4983 path.quadTo(SkBits2Float(0xc211fc8d), SkBits2Float(0x41536ca0), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); // -36.4966f, 13.214f, -38.1506f, 16.0788f
4984 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); // -39.8075f, 18.9486f, -43.0083f, 19.8062 f
4985 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); // -46.2091f, 20.6639f, -49.0788f, 19.007f
4986 path.quadTo(SkBits2Float(0xc24fc815), SkBits2Float(0x418ad0f8), SkBits2Float(0xc 25337a2), SkBits2Float(0x4162812a)); // -51.9454f, 17.352f, -52.8043f, 14.1565f
4987 path.quadTo(SkBits2Float(0xc25336a6), SkBits2Float(0x41628fdb), SkBits2Float(0xc 25335aa), SkBits2Float(0x41629e8a)); // -52.8034f, 14.1601f, -52.8024f, 14.1637 f
4988 path.quadTo(SkBits2Float(0xc24fc68b), SkBits2Float(0x418aea08), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -51.9439f, 17.3643f, -49.0737f, 19.0203 f
4989 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -46.2035f, 20.6764f, -43.0029f, 19.8179 f
4990 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -39.8024f, 18.9594f, -38.1463f, 16.0892 f
4991 path.quadTo(SkBits2Float(0xc211f634), SkBits2Float(0x41538295), SkBits2Float(0xc 21564da), SkBits2Float(0x41204f08)); // -36.4904f, 13.2194f, -37.3485f, 10.0193 f
4992 path.close();
4993 path.moveTo(SkBits2Float(0x41dacdf1), SkBits2Float(0x41daaf93)); // 27.3506f, 2 7.3357f
4994 path.quadTo(SkBits2Float(0x41ed8b66), SkBits2Float(0x41c7ef83), SkBits2Float(0x4 20406f0), SkBits2Float(0x41c7edac)); // 29.6931f, 24.9919f, 33.0068f, 24.9911f
4995 path.quadTo(SkBits2Float(0x4211482d), SkBits2Float(0x41c7ebd5), SkBits2Float(0x4 21aa834), SkBits2Float(0x41daa94b)); // 36.3205f, 24.9902f, 38.6643f, 27.3327f
4996 path.quadTo(SkBits2Float(0x4224083d), SkBits2Float(0x41ed66c1), SkBits2Float(0x4 2240928), SkBits2Float(0x4203f49d)); // 41.008f, 29.6752f, 41.0089f, 32.9889f
4997 path.quadTo(SkBits2Float(0x42240a14), SkBits2Float(0x421135da), SkBits2Float(0x4 21aab58), SkBits2Float(0x421a95e2)); // 41.0098f, 36.3026f, 38.6673f, 38.6464f
4998 path.quadTo(SkBits2Float(0x421aa5fc), SkBits2Float(0x421a9b42), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); // 38.6621f, 38.6516f, 38.6569f, 38.6569f
4999 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41
5000 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f
5001 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33
5002 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
5003 path.quadTo(SkBits2Float(0x41dac1e5), SkBits2Float(0x41dabba1), SkBits2Float(0x4 1dac507), SkBits2Float(0x41dab880)); // 27.3447f, 27.3416f, 27.3462f, 27.3401f
5004 path.lineTo(SkBits2Float(0x41dac551), SkBits2Float(0x41dab836)); // 27.3463f, 2 7.3399f
5005 path.quadTo(SkBits2Float(0x41dac9a0), SkBits2Float(0x41dab3e4), SkBits2Float(0x4 1dacdf1), SkBits2Float(0x41daaf93)); // 27.3484f, 27.3378f, 27.3506f, 27.3357f
5006 path.close();
5007 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); // -47.1494f, 4.35143f
5008 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); // -43.9486f, 3.49378f, -41.0788f, 5.15063 f
5009 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -38.2091f, 6.80749f, -37.3514f, 10.0083 f
5010 path.quadTo(SkBits2Float(0xc215672b), SkBits2Float(0x41202c49), SkBits2Float(0xc 215667a), SkBits2Float(0x412036a3)); // -37.3507f, 10.0108f, -37.3501f, 10.0133 f
5011 path.lineTo(SkBits2Float(0xc2156516), SkBits2Float(0x41204b6b)); // -37.3487f, 10.0184f
5012 path.lineTo(SkBits2Float(0xc2533998), SkBits2Float(0x416263e8)); // -52.8062f, 14.1494f
5013 path.quadTo(SkBits2Float(0xc256a7d4), SkBits2Float(0x412f2d72), SkBits2Float(0xc 2500736), SkBits2Float(0x410142ec)); // -53.6639f, 10.9486f, -52.007f, 8.07884f
5014 path.quadTo(SkBits2Float(0xc2496698), SkBits2Float(0x40a6b0cc), SkBits2Float(0xc 23c98fa), SkBits2Float(0x408b3eec)); // -50.3502f, 5.20908f, -47.1494f, 4.35143 f
5015 path.close();
5016
5017 SkPath path1(path);
5018 path.reset();
5019 path.setFillType((SkPath::FillType) 0);
5020 path.moveTo(SkBits2Float(0xc2444b74), SkBits2Float(0x419829ad)); // -49.0737f, 19.0203f
5021 path.quadTo(SkBits2Float(0xc24fc68b), SkBits2Float(0x418aea08), SkBits2Float(0xc 25335aa), SkBits2Float(0x41629e8a)); // -51.9439f, 17.3643f, -52.8024f, 14.1637 f
5022 path.quadTo(SkBits2Float(0xc256a4ca), SkBits2Float(0x412f6908), SkBits2Float(0xc 25004f8), SkBits2Float(0x41017cac)); // -53.6609f, 10.9631f, -52.0049f, 8.09294 f
5023 path.quadTo(SkBits2Float(0xc2496525), SkBits2Float(0x40a7209c), SkBits2Float(0xc 23c97c4), SkBits2Float(0x408ba7a8)); // -50.3488f, 5.22273f, -47.1482f, 4.36422 f
5024 path.quadTo(SkBits2Float(0xc22fca64), SkBits2Float(0x40605d58), SkBits2Float(0xc 2244f4d), SkBits2Float(0x40a52d40)); // -43.9476f, 3.5057f, -41.0774f, 5.16177f
5025 path.quadTo(SkBits2Float(0xc218d435), SkBits2Float(0x40da2bd2), SkBits2Float(0xc 2156516), SkBits2Float(0x41204b6b)); // -38.2072f, 6.81785f, -37.3487f, 10.0184 f
5026 path.quadTo(SkBits2Float(0xc211f5f7), SkBits2Float(0x415380eb), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -36.4902f, 13.219f, -38.1463f, 16.0892f
5027 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -39.8024f, 18.9594f, -43.0029f, 19.8179 f
5028 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -46.2035f, 20.6764f, -49.0737f, 19.0203 f
5029 path.close();
5030
5031 SkPath path2(path);
5032 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5033 }
5034
5035 // SkOpSegment.cpp:4010: failed assertion "span->fOppSum == -0x7FFFFFFF || span- >fOppSum == oppWinding
5036 static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) {
5037 SkPath path;
5038 path.setFillType((SkPath::FillType) 1);
5039 #if 0
5040 path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694));
5041 path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x4 1627462), SkBits2Float(0xc253387e));
5042 path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x4 1981613), SkBits2Float(0xc2444f40));
5043 path.quadTo(SkBits2Float(0x41a556de), SkBits2Float(0xc238d47d), SkBits2Float(0x4 19e79e6), SkBits2Float(0xc22c06f0));
5044 path.quadTo(SkBits2Float(0x41979cee), SkBits2Float(0xc21f3964), SkBits2Float(0x4 180a76a), SkBits2Float(0xc21898ff));
5045 path.quadTo(SkBits2Float(0x415363c9), SkBits2Float(0xc211f89a), SkBits2Float(0x4 1202d96), SkBits2Float(0xc2156716));
5046 path.quadTo(SkBits2Float(0x40d9eeca), SkBits2Float(0xc218d592), SkBits2Float(0x4 0a4eba0), SkBits2Float(0xc2245054));
5047 path.quadTo(SkBits2Float(0x405fd0f0), SkBits2Float(0xc22fcb17), SkBits2Float(0x4 08b5c58), SkBits2Float(0xc23c98a3));
5048 path.quadTo(SkBits2Float(0x40a6d038), SkBits2Float(0xc249662f), SkBits2Float(0x4 1015326), SkBits2Float(0xc2500694));
5049 path.close();
5050 path.moveTo(SkBits2Float(0xc21a9c18), SkBits2Float(0xc21aa524));
5051 path.quadTo(SkBits2Float(0xc2113c71), SkBits2Float(0xc2240440), SkBits2Float(0xc 203fb34), SkBits2Float(0xc22403dc));
5052 path.quadTo(SkBits2Float(0xc1ed73ee), SkBits2Float(0xc2240379), SkBits2Float(0xc 1dab5b7), SkBits2Float(0xc21aa3d1));
5053 path.quadTo(SkBits2Float(0xc1c7f781), SkBits2Float(0xc211442a), SkBits2Float(0xc 1c7f847), SkBits2Float(0xc20402ed));
5054 path.quadTo(SkBits2Float(0xc1c7f90e), SkBits2Float(0xc1ed835f), SkBits2Float(0xc 1dab85d), SkBits2Float(0xc1dac529));
5055 path.quadTo(SkBits2Float(0xc1ed77ad), SkBits2Float(0xc1c806f2), SkBits2Float(0xc 203fd13), SkBits2Float(0xc1c807b9));
5056 path.quadTo(SkBits2Float(0xc2113e50), SkBits2Float(0xc1c8087f), SkBits2Float(0xc 21a9d6b), SkBits2Float(0xc1dac7cf));
5057 path.quadTo(SkBits2Float(0xc223fc87), SkBits2Float(0xc1ed871e), SkBits2Float(0xc 223fc24), SkBits2Float(0xc20404cc));
5058 path.quadTo(SkBits2Float(0xc223fbc0), SkBits2Float(0xc2114609), SkBits2Float(0xc 21a9c18), SkBits2Float(0xc21aa524));
5059 path.close();
5060 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
5061 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
5062 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
5063 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
5064 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
5065 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
5066 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
5067 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
5068 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
5069 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
5070 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
5071 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
5072 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
5073 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
5074 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
5075 path.close();
5076 #endif
5077 #if 01
5078 path.moveTo(SkBits2Float(0xc2533a24), SkBits2Float(0x41625bba));
5079 path.lineTo(SkBits2Float(0xc2533ab2), SkBits2Float(0x4162536e));
5080 path.lineTo(SkBits2Float(0xc2533af7), SkBits2Float(0x41624f68));
5081 path.quadTo(SkBits2Float(0xc2533a8e), SkBits2Float(0x41625591), SkBits2Float(0xc 2533a24), SkBits2Float(0x41625bba));
5082 path.close();
5083 #endif
5084 #if 0
5085 path.moveTo(SkBits2Float(0x41dac664), SkBits2Float(0x41dab723));
5086 path.quadTo(SkBits2Float(0x41ed82ea), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
5087 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
5088 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
5089 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
5090 path.lineTo(SkBits2Float(0x421a9d9a), SkBits2Float(0x421aa3a2));
5091 path.quadTo(SkBits2Float(0x42113e0a), SkBits2Float(0x422402d5), SkBits2Float(0x4 203fccd), SkBits2Float(0x42240293));
5092 path.quadTo(SkBits2Float(0x41ed7721), SkBits2Float(0x42240251), SkBits2Float(0x4 1dab8bb), SkBits2Float(0x421aa2c0));
5093 path.quadTo(SkBits2Float(0x41c7fa56), SkBits2Float(0x42114330), SkBits2Float(0x4 1c7fada), SkBits2Float(0x420401f3));
5094 path.quadTo(SkBits2Float(0x41c7fb5f), SkBits2Float(0x41ed9352), SkBits2Float(0x4 1daa13c), SkBits2Float(0x41dadc57));
5095 path.quadTo(SkBits2Float(0x41daa91d), SkBits2Float(0x41dad46f), SkBits2Float(0x4 1dab101), SkBits2Float(0x41dacc89));
5096 path.quadTo(SkBits2Float(0x41dab5bf), SkBits2Float(0x41dac7c8), SkBits2Float(0x4 1daba7f), SkBits2Float(0x41dac307));
5097 path.lineTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
5098 path.quadTo(SkBits2Float(0x41dac293), SkBits2Float(0x41dabaf3), SkBits2Float(0x4 1dac664), SkBits2Float(0x41dab723));
5099 path.close();
5100 #endif
5101 #if 01
5102 path.moveTo(SkBits2Float(0xc23c9951), SkBits2Float(0x408b2180));
5103 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c));
5104 path.quadTo(SkBits2Float(0xc218dd36), SkBits2Float(0x40d9a0b8), SkBits2Float(0xc 2156c96), SkBits2Float(0x411fdb9a));
5105 path.lineTo(SkBits2Float(0xc2156b9c), SkBits2Float(0x411fea15));
5106 path.quadTo(SkBits2Float(0xc2156a20), SkBits2Float(0x4120002c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647));
5107 path.lineTo(SkBits2Float(0xc21568a3), SkBits2Float(0x41201660));
5108 path.lineTo(SkBits2Float(0xc2156841), SkBits2Float(0x41201c29));
5109 path.quadTo(SkBits2Float(0xc215680f), SkBits2Float(0x41201f0a), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
5110 path.quadTo(SkBits2Float(0xc21562d2), SkBits2Float(0x41206d52), SkBits2Float(0xc 2155ca3), SkBits2Float(0x4120cb63));
5111 path.quadTo(SkBits2Float(0xc212057d), SkBits2Float(0x4153a15f), SkBits2Float(0xc 2189adf), SkBits2Float(0x41809e82));
5112 path.quadTo(SkBits2Float(0xc21f3b9a), SkBits2Float(0x419793a4), SkBits2Float(0xc 22c0940), SkBits2Float(0x419e6fdc));
5113 path.quadTo(SkBits2Float(0xc238d6e6), SkBits2Float(0x41a54c16), SkBits2Float(0xc 2445177), SkBits2Float(0x41980aa0));
5114 path.quadTo(SkBits2Float(0xc24fcb1e), SkBits2Float(0x418aca39), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
5115 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
5116 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
5117 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
5118 path.lineTo(SkBits2Float(0xc2533b22), SkBits2Float(0x41624cea));
5119 path.quadTo(SkBits2Float(0xc256a842), SkBits2Float(0x412f19c8), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2));
5120 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180));
5121 path.close();
5122 #endif
5123
5124 SkPath path1(path);
5125 path.reset();
5126 path.setFillType((SkPath::FillType) 0);
5127 path.moveTo(SkBits2Float(0xc2445236), SkBits2Float(0x419806c2));
5128 path.quadTo(SkBits2Float(0xc24fccb6), SkBits2Float(0x418ac513), SkBits2Float(0xc 2533ab2), SkBits2Float(0x4162536e));
5129 path.quadTo(SkBits2Float(0xc256a8ae), SkBits2Float(0x412f1cb2), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2));
5130 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180));
5131 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c));
5132 path.quadTo(SkBits2Float(0xc218d6a2), SkBits2Float(0x40d9bf1c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647));
5133 path.quadTo(SkBits2Float(0xc211faaa), SkBits2Float(0x41534d02), SkBits2Float(0xc 2189b82), SkBits2Float(0x41809b82));
5134 path.quadTo(SkBits2Float(0xc21f3c59), SkBits2Float(0x41979082), SkBits2Float(0xc 22c0a07), SkBits2Float(0x419e6c7a));
5135 path.quadTo(SkBits2Float(0xc238d7b6), SkBits2Float(0x41a54872), SkBits2Float(0xc 2445236), SkBits2Float(0x419806c2));
5136 path.close();
5137
5138 SkPath path2(path);
5139 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
5140 }
5141
5142 static void fuzz763_2211264(skiatest::Reporter* reporter, const char* filename) {
5143 SkPath path;
5144 path.setFillType((SkPath::FillType) 1);
5145 path.moveTo(SkBits2Float(0x41017a68), SkBits2Float(0xc250050e));
5146 path.quadTo(SkBits2Float(0x412f66b2), SkBits2Float(0xc256a4e9), SkBits2Float(0x4 1629c3c), SkBits2Float(0xc25335d1));
5147 path.quadTo(SkBits2Float(0x418ae8e6), SkBits2Float(0xc24fc6bc), SkBits2Float(0x4 198289b), SkBits2Float(0xc2444ba9));
5148 path.quadTo(SkBits2Float(0x41a56850), SkBits2Float(0xc238d096), SkBits2Float(0x4 19e8a20), SkBits2Float(0xc22c0333));
5149 path.quadTo(SkBits2Float(0x4197abf4), SkBits2Float(0xc21f35d0), SkBits2Float(0x4 180b5d0), SkBits2Float(0xc21895f6));
5150 path.quadTo(SkBits2Float(0x41537f55), SkBits2Float(0xc211f61c), SkBits2Float(0x4 12049c9), SkBits2Float(0xc2156532));
5151 path.quadTo(SkBits2Float(0x40da287c), SkBits2Float(0xc218d449), SkBits2Float(0x4 0a529a8), SkBits2Float(0xc2244f5b));
5152 path.quadTo(SkBits2Float(0x406055a8), SkBits2Float(0xc22fca6e), SkBits2Float(0x4 08ba388), SkBits2Float(0xc23c97d0));
5153 path.quadTo(SkBits2Float(0x40a71c3c), SkBits2Float(0xc2496534), SkBits2Float(0x4 1017a68), SkBits2Float(0xc250050e));
5154 path.close();
5155 path.moveTo(SkBits2Float(0xc21a9126), SkBits2Float(0xc21ab014));
5156 path.quadTo(SkBits2Float(0xc21130d5), SkBits2Float(0xc2240e86), SkBits2Float(0xc 203ef98), SkBits2Float(0xc2240d33));
5157 path.quadTo(SkBits2Float(0xc1ed5cb7), SkBits2Float(0xc2240bdf), SkBits2Float(0xc 1da9fd4), SkBits2Float(0xc21aab8d));
5158 path.quadTo(SkBits2Float(0xc1c7e2f1), SkBits2Float(0xc2114b3c), SkBits2Float(0xc 1c7e598), SkBits2Float(0xc20409ff));
5159 path.quadTo(SkBits2Float(0xc1c7e83e), SkBits2Float(0xc1ed9186), SkBits2Float(0xc 1daa8e1), SkBits2Float(0xc1dad4a3));
5160 path.quadTo(SkBits2Float(0xc1ed6984), SkBits2Float(0xc1c817c0), SkBits2Float(0xc 203f5ff), SkBits2Float(0xc1c81a66));
5161 path.quadTo(SkBits2Float(0xc211373c), SkBits2Float(0xc1c81d0d), SkBits2Float(0xc 21a95ad), SkBits2Float(0xc1daddb0));
5162 path.quadTo(SkBits2Float(0xc223f41f), SkBits2Float(0xc1ed9e53), SkBits2Float(0xc 223f2cb), SkBits2Float(0xc2041066));
5163 path.quadTo(SkBits2Float(0xc223f178), SkBits2Float(0xc21151a3), SkBits2Float(0xc 21a9126), SkBits2Float(0xc21ab014));
5164 path.close();
5165 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
5166 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
5167 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
5168 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
5169 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
5170 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
5171 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
5172 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
5173 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
5174 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
5175 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
5176 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
5177 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
5178 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
5179 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
5180 path.close();
5181 path.moveTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
5182 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
5183 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
5184 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
5185 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
5186 path.quadTo(SkBits2Float(0x421a9e0c), SkBits2Float(0x421aa331), SkBits2Float(0x4 21a9b79), SkBits2Float(0x421aa5c3));
5187 path.quadTo(SkBits2Float(0x421a98e4), SkBits2Float(0x421aa858), SkBits2Float(0x4 21a964e), SkBits2Float(0x421aaaec));
5188 path.lineTo(SkBits2Float(0x421a943a), SkBits2Float(0x421aad00));
5189 path.quadTo(SkBits2Float(0x421134d5), SkBits2Float(0x422409ae), SkBits2Float(0x4 203f510), SkBits2Float(0x422408cc));
5190 path.quadTo(SkBits2Float(0x41ed67a7), SkBits2Float(0x422407e9), SkBits2Float(0x4 1daaa24), SkBits2Float(0x421aa7e8));
5191 path.quadTo(SkBits2Float(0x41c7eca1), SkBits2Float(0x421147e7), SkBits2Float(0x4 1c7ee66), SkBits2Float(0x420406aa));
5192 path.quadTo(SkBits2Float(0x41c7f02a), SkBits2Float(0x41ed8ada), SkBits2Float(0x4 1dab02f), SkBits2Float(0x41dacd55));
5193 path.lineTo(SkBits2Float(0x41dab02d), SkBits2Float(0x41dacd57));
5194 path.quadTo(SkBits2Float(0x41dab3d4), SkBits2Float(0x41dac9b0), SkBits2Float(0x4 1dab77c), SkBits2Float(0x41dac60a));
5195 path.quadTo(SkBits2Float(0x41dab83b), SkBits2Float(0x41dac54b), SkBits2Float(0x4 1dab8fa), SkBits2Float(0x41dac48d));
5196 path.quadTo(SkBits2Float(0x41dabbde), SkBits2Float(0x41dac1a8), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
5197 path.close();
5198
5199 SkPath path1(path);
5200 path.reset();
5201 path.setFillType((SkPath::FillType) 0);
5202 path.moveTo(SkBits2Float(0xc24455cc), SkBits2Float(0x4197f43e));
5203 path.quadTo(SkBits2Float(0xc24fcffc), SkBits2Float(0x418ab179), SkBits2Float(0xc 2533d5e), SkBits2Float(0x41622b92));
5204 path.quadTo(SkBits2Float(0xc256aac0), SkBits2Float(0x412ef432), SkBits2Float(0xc 250095d), SkBits2Float(0x41010b70));
5205 path.quadTo(SkBits2Float(0xc24967fb), SkBits2Float(0x40a64560), SkBits2Float(0xc 23c9a22), SkBits2Float(0x408ada54));
5206 path.quadTo(SkBits2Float(0xc22fcc4a), SkBits2Float(0x405ede90), SkBits2Float(0xc 224521a), SkBits2Float(0x40a47a5c));
5207 path.quadTo(SkBits2Float(0xc218d7ea), SkBits2Float(0x40d9856e), SkBits2Float(0xc 2156a88), SkBits2Float(0x411ffa16));
5208 path.quadTo(SkBits2Float(0xc211fd27), SkBits2Float(0x41533178), SkBits2Float(0xc 2189e8a), SkBits2Float(0x41808d1c));
5209 path.quadTo(SkBits2Float(0xc21f3fec), SkBits2Float(0x4197817d), SkBits2Float(0xc 22c0dc4), SkBits2Float(0x419e5c3f));
5210 path.quadTo(SkBits2Float(0xc238db9c), SkBits2Float(0x41a53702), SkBits2Float(0xc 24455cc), SkBits2Float(0x4197f43e));
5211 path.close();
5212
5213 SkPath path2(path);
5214 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5215 }
5216
5217 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; 3514 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
5218 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 3515 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
5219 3516
5220 static struct TestDesc tests[] = { 3517 static struct TestDesc tests[] = {
5221 TEST(fuzz763_2211264),
5222 TEST(fuzz763_34974),
5223 TEST(fuzz763_1597464),
5224 TEST(cubicOp115),
5225 TEST(fuzz763_849020),
5226 TEST(fuzz763_24588),
5227 TEST(fuzz763_20016),
5228 TEST(fuzz763_17370),
5229 TEST(fuzz763_35322),
5230 TEST(fuzz763_8712),
5231 TEST(fuzz763_8712a),
5232 TEST(fuzz763_4014),
5233 TEST(fuzz763_4014a),
5234 TEST(fuzz763_1404),
5235 TEST(fuzz763_4713),
5236 TEST(fuzz763_378),
5237 TEST(fuzz763_378b),
5238 TEST(fuzz763_378d),
5239 TEST(fuzz763_378c),
5240 TEST(fuzz763_3084),
5241 TEST(fuzz763_1823),
5242 TEST(fuzz763_558),
5243 TEST(fuzz763_378a),
5244 TEST(fuzz763_378a_1),
5245 TEST(issue2753), // FIXME: pair of cubics miss intersection 3518 TEST(issue2753), // FIXME: pair of cubics miss intersection
5246 TEST(cubicOp114), // FIXME: curve with inflection is ordered the wrong way 3519 TEST(cubicOp114), // FIXME: curve with inflection is ordered the wrong way
5247 TEST(issue2808), 3520 TEST(issue2808),
5248 TEST(cubicOp114asQuad), 3521 TEST(cubicOp114asQuad),
5249 TEST(rects4), 3522 TEST(rects4),
5250 TEST(rects3), 3523 TEST(rects3),
5251 TEST(rects2), 3524 TEST(rects2),
5252 TEST(rects1), 3525 TEST(rects1),
5253 TEST(issue2540), 3526 TEST(issue2540),
5254 TEST(issue2504), 3527 TEST(issue2504),
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
5685 }; 3958 };
5686 3959
5687 static const size_t failTestCount = SK_ARRAY_COUNT(failTests); 3960 static const size_t failTestCount = SK_ARRAY_COUNT(failTests);
5688 3961
5689 DEF_TEST(PathOpsFailOp, reporter) { 3962 DEF_TEST(PathOpsFailOp, reporter) {
5690 #if DEBUG_SHOW_TEST_NAME 3963 #if DEBUG_SHOW_TEST_NAME
5691 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 3964 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
5692 #endif 3965 #endif
5693 RunTestSet(reporter, failTests, failTestCount, 0, 0, false); 3966 RunTestSet(reporter, failTests, failTestCount, 0, 0, false);
5694 } 3967 }
OLDNEW
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsQuadIntersectionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698