0.001 * [progress]: [Phase 1 of 3] Setting up. 0.001 * * * [progress]: [1/2] Preparing points 0.002 * * * * [points]: Sampling 256 additional inputs, on iter 0 have 0 / 256 0.003 * * * * [points]: Computing exacts on every 16 of 256 points to ramp up precision 0.004 * * * * [points]: Setting MPFR precision to 64 0.006 * * * * [points]: Setting MPFR precision to 320 0.007 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.008 * * * * [points]: Setting MPFR precision to 64 0.010 * * * * [points]: Setting MPFR precision to 320 0.011 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.012 * * * * [points]: Setting MPFR precision to 64 0.016 * * * * [points]: Setting MPFR precision to 320 0.019 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.020 * * * * [points]: Setting MPFR precision to 64 0.026 * * * * [points]: Setting MPFR precision to 320 0.031 * * * * [points]: Computing exacts for 256 points 0.032 * * * * [points]: Setting MPFR precision to 64 0.056 * * * * [points]: Setting MPFR precision to 320 0.079 * * * * [points]: Filtering points with unrepresentable outputs 0.080 * * * * [points]: Sampled 256 points with exact outputs 0.080 * * * [progress]: [2/2] Setting up program. 0.088 * [progress]: [Phase 2 of 3] Improving. 0.088 * * * * [progress]: [ 1 / 1 ] simplifiying candidate # 0.088 * [simplify]: Simplifying (/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.088 * * [simplify]: iters left: 3 (11 enodes) 0.091 * * [simplify]: iters left: 2 (29 enodes) 0.097 * * [simplify]: iters left: 1 (57 enodes) 0.129 * * [simplify]: Extracting #0: cost 1 inf + 0 0.129 * * [simplify]: Extracting #1: cost 10 inf + 0 0.129 * * [simplify]: Extracting #2: cost 31 inf + 0 0.129 * * [simplify]: Extracting #3: cost 44 inf + 0 0.130 * * [simplify]: Extracting #4: cost 58 inf + 647 0.130 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.132 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.135 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.137 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.137 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.145 * * [progress]: iteration 1 / 4 0.145 * * * [progress]: picking best candidate 0.150 * * * * [pick]: Picked # 0.150 * * * [progress]: localizing error 0.332 * * * [progress]: generating rewritten candidates 0.332 * * * * [progress]: [ 1 / 3 ] rewriting at (2) 0.335 * * * * [progress]: [ 2 / 3 ] rewriting at (2 1) 0.338 * * * * [progress]: [ 3 / 3 ] rewriting at (2 2) 0.344 * * * [progress]: generating series expansions 0.344 * * * * [progress]: [ 1 / 3 ] generating series at (2) 0.344 * * * * [progress]: [ 2 / 3 ] generating series at (2 1) 0.344 * * * * [progress]: [ 3 / 3 ] generating series at (2 2) 0.344 * * * [progress]: simplifying candidates 0.344 * * * * [progress]: [ 1 / 7 ] simplifiying candidate # 0.344 * [simplify]: Simplifying (*.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 0.344 * * [simplify]: iters left: 3 (11 enodes) 0.347 * * [simplify]: iters left: 2 (30 enodes) 0.353 * * [simplify]: iters left: 1 (72 enodes) 0.373 * * [simplify]: Extracting #0: cost 1 inf + 0 0.373 * * [simplify]: Extracting #1: cost 19 inf + 0 0.373 * * [simplify]: Extracting #2: cost 59 inf + 0 0.374 * * [simplify]: Extracting #3: cost 46 inf + 4819 0.375 * * [simplify]: Extracting #4: cost 16 inf + 31612 0.378 * * [simplify]: Extracting #5: cost 0 inf + 53590 0.380 * [simplify]: Simplified to (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) 0.380 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))))) 0.380 * * * * [progress]: [ 2 / 7 ] simplifiying candidate # 0.381 * [simplify]: Simplifying (neg.p16 (*.p16 x.re y.im)) 0.381 * * [simplify]: iters left: 2 (4 enodes) 0.382 * * [simplify]: iters left: 1 (9 enodes) 0.388 * * [simplify]: Extracting #0: cost 1 inf + 0 0.388 * * [simplify]: Extracting #1: cost 2 inf + 0 0.388 * * [simplify]: Extracting #2: cost 4 inf + 0 0.388 * * [simplify]: Extracting #3: cost 2 inf + 2 0.388 * * [simplify]: Extracting #4: cost 0 inf + 726 0.388 * [simplify]: Simplified to (neg.p16 (*.p16 y.im x.re)) 0.388 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (+.p16 (*.p16 x.im y.re) (neg.p16 (*.p16 y.im x.re))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.388 * * * * [progress]: [ 3 / 7 ] simplifiying candidate # 0.388 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 0.388 * * [simplify]: iters left: 3 (9 enodes) 0.391 * * [simplify]: iters left: 2 (37 enodes) 0.400 * * [simplify]: iters left: 1 (90 enodes) 0.427 * * [simplify]: Extracting #0: cost 1 inf + 0 0.427 * * [simplify]: Extracting #1: cost 21 inf + 0 0.427 * * [simplify]: Extracting #2: cost 55 inf + 0 0.427 * * [simplify]: Extracting #3: cost 87 inf + 2654 0.429 * * [simplify]: Extracting #4: cost 68 inf + 28908 0.434 * * [simplify]: Extracting #5: cost 2 inf + 125654 0.440 * * [simplify]: Extracting #6: cost 0 inf + 128020 0.446 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) 0.446 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.446 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 0.446 * * [simplify]: iters left: 2 (7 enodes) 0.448 * * [simplify]: iters left: 1 (18 enodes) 0.450 * * [simplify]: Extracting #0: cost 1 inf + 0 0.450 * * [simplify]: Extracting #1: cost 3 inf + 0 0.450 * * [simplify]: Extracting #2: cost 7 inf + 0 0.450 * * [simplify]: Extracting #3: cost 2 inf + 326 0.450 * * [simplify]: Extracting #4: cost 0 inf + 1332 0.450 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 0.450 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.451 * * * * [progress]: [ 4 / 7 ] simplifiying candidate # 0.451 * * * * [progress]: [ 5 / 7 ] simplifiying candidate # 0.451 * [simplify]: Simplifying (/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.451 * * [simplify]: iters left: 3 (11 enodes) 0.453 * * [simplify]: iters left: 2 (29 enodes) 0.458 * * [simplify]: iters left: 1 (57 enodes) 0.469 * * [simplify]: Extracting #0: cost 1 inf + 0 0.469 * * [simplify]: Extracting #1: cost 10 inf + 0 0.469 * * [simplify]: Extracting #2: cost 31 inf + 0 0.469 * * [simplify]: Extracting #3: cost 44 inf + 0 0.470 * * [simplify]: Extracting #4: cost 58 inf + 647 0.470 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.472 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.475 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.478 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.478 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.478 * * * * [progress]: [ 6 / 7 ] simplifiying candidate # 0.478 * [simplify]: Simplifying (/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.479 * * [simplify]: iters left: 3 (11 enodes) 0.482 * * [simplify]: iters left: 2 (29 enodes) 0.488 * * [simplify]: iters left: 1 (57 enodes) 0.502 * * [simplify]: Extracting #0: cost 1 inf + 0 0.502 * * [simplify]: Extracting #1: cost 10 inf + 0 0.502 * * [simplify]: Extracting #2: cost 31 inf + 0 0.502 * * [simplify]: Extracting #3: cost 44 inf + 0 0.503 * * [simplify]: Extracting #4: cost 58 inf + 647 0.503 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.505 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.508 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.510 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.511 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.511 * * * * [progress]: [ 7 / 7 ] simplifiying candidate # 0.511 * [simplify]: Simplifying (/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.511 * * [simplify]: iters left: 3 (11 enodes) 0.514 * * [simplify]: iters left: 2 (29 enodes) 0.520 * * [simplify]: iters left: 1 (57 enodes) 0.534 * * [simplify]: Extracting #0: cost 1 inf + 0 0.534 * * [simplify]: Extracting #1: cost 10 inf + 0 0.534 * * [simplify]: Extracting #2: cost 31 inf + 0 0.534 * * [simplify]: Extracting #3: cost 44 inf + 0 0.534 * * [simplify]: Extracting #4: cost 58 inf + 647 0.534 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.536 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.538 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.540 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 0.540 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 0.540 * * * [progress]: adding candidates to table 0.649 * * [progress]: iteration 2 / 4 0.649 * * * [progress]: picking best candidate 0.667 * * * * [pick]: Picked # 0.667 * * * [progress]: localizing error 0.948 * * * [progress]: generating rewritten candidates 0.948 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 0.955 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 0.964 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2) 0.968 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1) 0.976 * * * [progress]: generating series expansions 0.976 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 0.976 * * * * [progress]: [ 2 / 4 ] generating series at (2) 0.976 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2) 0.976 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1) 0.976 * * * [progress]: simplifying candidates 0.976 * * * * [progress]: [ 1 / 11 ] simplifiying candidate # 0.976 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 0.976 * * [simplify]: iters left: 3 (9 enodes) 0.978 * * [simplify]: iters left: 2 (26 enodes) 0.987 * * [simplify]: iters left: 1 (53 enodes) 0.996 * * [simplify]: Extracting #0: cost 1 inf + 0 0.996 * * [simplify]: Extracting #1: cost 10 inf + 0 0.996 * * [simplify]: Extracting #2: cost 26 inf + 0 0.996 * * [simplify]: Extracting #3: cost 39 inf + 0 0.996 * * [simplify]: Extracting #4: cost 56 inf + 728 0.997 * * [simplify]: Extracting #5: cost 21 inf + 32616 0.999 * * [simplify]: Extracting #6: cost 1 inf + 61996 1.001 * * [simplify]: Extracting #7: cost 0 inf + 63840 1.002 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 1.002 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.003 * * * * [progress]: [ 2 / 11 ] simplifiying candidate # 1.003 * [simplify]: Simplifying (*.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) 1.003 * * [simplify]: iters left: 4 (11 enodes) 1.005 * * [simplify]: iters left: 3 (38 enodes) 1.012 * * [simplify]: iters left: 2 (102 enodes) 1.036 * * [simplify]: iters left: 1 (321 enodes) 1.173 * * [simplify]: Extracting #0: cost 1 inf + 0 1.174 * * [simplify]: Extracting #1: cost 15 inf + 0 1.174 * * [simplify]: Extracting #2: cost 101 inf + 0 1.175 * * [simplify]: Extracting #3: cost 148 inf + 11121 1.179 * * [simplify]: Extracting #4: cost 30 inf + 145689 1.187 * * [simplify]: Extracting #5: cost 0 inf + 184306 1.195 * * [simplify]: Extracting #6: cost 0 inf + 183986 1.203 * [simplify]: Simplified to (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re)))) 1.203 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re))) (*.p16 (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re))))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.204 * * * * [progress]: [ 3 / 11 ] simplifiying candidate # 1.204 * [simplify]: Simplifying (*.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 1.204 * * [simplify]: iters left: 3 (11 enodes) 1.206 * * [simplify]: iters left: 2 (30 enodes) 1.211 * * [simplify]: iters left: 1 (72 enodes) 1.491 * * [simplify]: Extracting #0: cost 1 inf + 0 1.491 * * [simplify]: Extracting #1: cost 19 inf + 0 1.491 * * [simplify]: Extracting #2: cost 59 inf + 0 1.491 * * [simplify]: Extracting #3: cost 46 inf + 4819 1.493 * * [simplify]: Extracting #4: cost 16 inf + 31612 1.495 * * [simplify]: Extracting #5: cost 0 inf + 53590 1.498 * [simplify]: Simplified to (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) 1.498 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))))) 1.498 * * * * [progress]: [ 4 / 11 ] simplifiying candidate # 1.498 * * * * [progress]: [ 5 / 11 ] simplifiying candidate # 1.498 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.498 * * [simplify]: iters left: 2 (7 enodes) 1.500 * * [simplify]: iters left: 1 (18 enodes) 1.504 * * [simplify]: Extracting #0: cost 1 inf + 0 1.504 * * [simplify]: Extracting #1: cost 3 inf + 0 1.504 * * [simplify]: Extracting #2: cost 7 inf + 0 1.504 * * [simplify]: Extracting #3: cost 2 inf + 326 1.504 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.504 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.504 * [simplify]: Simplified (2 1 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.504 * [simplify]: Simplifying (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.504 * * [simplify]: iters left: 2 (7 enodes) 1.506 * * [simplify]: iters left: 1 (24 enodes) 1.512 * * [simplify]: Extracting #0: cost 1 inf + 0 1.512 * * [simplify]: Extracting #1: cost 6 inf + 0 1.512 * * [simplify]: Extracting #2: cost 15 inf + 0 1.512 * * [simplify]: Extracting #3: cost 19 inf + 728 1.513 * * [simplify]: Extracting #4: cost 3 inf + 11524 1.513 * * [simplify]: Extracting #5: cost 0 inf + 15936 1.514 * [simplify]: Simplified to (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) 1.514 * [simplify]: Simplified (2 1 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.514 * * * * [progress]: [ 6 / 11 ] simplifiying candidate # 1.514 * [simplify]: Simplifying (neg.p16 (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.514 * * [simplify]: iters left: 3 (5 enodes) 1.516 * * [simplify]: iters left: 2 (14 enodes) 1.519 * * [simplify]: iters left: 1 (21 enodes) 1.523 * * [simplify]: Extracting #0: cost 1 inf + 0 1.523 * * [simplify]: Extracting #1: cost 2 inf + 0 1.523 * * [simplify]: Extracting #2: cost 9 inf + 0 1.523 * * [simplify]: Extracting #3: cost 6 inf + 323 1.523 * * [simplify]: Extracting #4: cost 0 inf + 3614 1.523 * [simplify]: Simplified to (neg.p16 (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re))) 1.523 * [simplify]: Simplified (2 1 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (neg.p16 (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.523 * * * * [progress]: [ 7 / 11 ] simplifiying candidate # 1.524 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re))) (*.p16 (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) 1.524 * * [simplify]: iters left: 4 (11 enodes) 1.528 * * [simplify]: iters left: 3 (47 enodes) 1.541 * * [simplify]: iters left: 2 (143 enodes) 1.596 * * [simplify]: Extracting #0: cost 1 inf + 0 1.596 * * [simplify]: Extracting #1: cost 25 inf + 0 1.597 * * [simplify]: Extracting #2: cost 73 inf + 0 1.597 * * [simplify]: Extracting #3: cost 137 inf + 2332 1.600 * * [simplify]: Extracting #4: cost 130 inf + 54538 1.606 * * [simplify]: Extracting #5: cost 25 inf + 226634 1.619 * * [simplify]: Extracting #6: cost 2 inf + 276060 1.633 * * [simplify]: Extracting #7: cost 0 inf + 281626 1.647 * [simplify]: Simplified to (*.p16 (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re))) (-.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re)))) 1.647 * [simplify]: Simplified (2 1 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (/.p16 (*.p16 (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re))) (-.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 y.im x.re) (*.p16 y.im x.re)))) (+.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.647 * [simplify]: Simplifying (+.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.647 * * [simplify]: iters left: 3 (9 enodes) 1.650 * * [simplify]: iters left: 2 (28 enodes) 1.656 * * [simplify]: iters left: 1 (42 enodes) 1.664 * * [simplify]: Extracting #0: cost 1 inf + 0 1.664 * * [simplify]: Extracting #1: cost 3 inf + 0 1.664 * * [simplify]: Extracting #2: cost 17 inf + 0 1.664 * * [simplify]: Extracting #3: cost 11 inf + 967 1.664 * * [simplify]: Extracting #4: cost 0 inf + 7108 1.665 * [simplify]: Simplified to (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.665 * [simplify]: Simplified (2 1 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re))) (*.p16 (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) (+.p16 (*.p16 (*.p16 y.re x.im) (*.p16 y.re x.im)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.665 * * * * [progress]: [ 8 / 11 ] simplifiying candidate # 1.665 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.665 * * [simplify]: iters left: 3 (9 enodes) 1.668 * * [simplify]: iters left: 2 (37 enodes) 1.674 * * [simplify]: iters left: 1 (90 enodes) 1.699 * * [simplify]: Extracting #0: cost 1 inf + 0 1.699 * * [simplify]: Extracting #1: cost 21 inf + 0 1.699 * * [simplify]: Extracting #2: cost 55 inf + 0 1.700 * * [simplify]: Extracting #3: cost 87 inf + 2654 1.701 * * [simplify]: Extracting #4: cost 68 inf + 28908 1.706 * * [simplify]: Extracting #5: cost 2 inf + 125654 1.712 * * [simplify]: Extracting #6: cost 0 inf + 128020 1.718 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) 1.718 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.718 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.718 * * [simplify]: iters left: 2 (7 enodes) 1.720 * * [simplify]: iters left: 1 (18 enodes) 1.724 * * [simplify]: Extracting #0: cost 1 inf + 0 1.724 * * [simplify]: Extracting #1: cost 3 inf + 0 1.724 * * [simplify]: Extracting #2: cost 7 inf + 0 1.724 * * [simplify]: Extracting #3: cost 2 inf + 326 1.724 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.724 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.724 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.724 * * * * [progress]: [ 9 / 11 ] simplifiying candidate # 1.724 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.724 * * [simplify]: iters left: 3 (9 enodes) 1.726 * * [simplify]: iters left: 2 (37 enodes) 1.732 * * [simplify]: iters left: 1 (90 enodes) 1.753 * * [simplify]: Extracting #0: cost 1 inf + 0 1.754 * * [simplify]: Extracting #1: cost 21 inf + 0 1.754 * * [simplify]: Extracting #2: cost 55 inf + 0 1.754 * * [simplify]: Extracting #3: cost 87 inf + 2654 1.755 * * [simplify]: Extracting #4: cost 68 inf + 28908 1.759 * * [simplify]: Extracting #5: cost 2 inf + 125654 1.765 * * [simplify]: Extracting #6: cost 0 inf + 128020 1.770 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) 1.770 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.771 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.771 * * [simplify]: iters left: 2 (7 enodes) 1.772 * * [simplify]: iters left: 1 (18 enodes) 1.774 * * [simplify]: Extracting #0: cost 1 inf + 0 1.774 * * [simplify]: Extracting #1: cost 3 inf + 0 1.774 * * [simplify]: Extracting #2: cost 7 inf + 0 1.774 * * [simplify]: Extracting #3: cost 2 inf + 326 1.774 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.775 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.775 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.775 * * * * [progress]: [ 10 / 11 ] simplifiying candidate # 1.775 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.775 * * [simplify]: iters left: 3 (9 enodes) 1.777 * * [simplify]: iters left: 2 (37 enodes) 1.783 * * [simplify]: iters left: 1 (90 enodes) 1.802 * * [simplify]: Extracting #0: cost 1 inf + 0 1.802 * * [simplify]: Extracting #1: cost 21 inf + 0 1.802 * * [simplify]: Extracting #2: cost 55 inf + 0 1.802 * * [simplify]: Extracting #3: cost 87 inf + 2654 1.803 * * [simplify]: Extracting #4: cost 68 inf + 28908 1.809 * * [simplify]: Extracting #5: cost 2 inf + 125654 1.815 * * [simplify]: Extracting #6: cost 0 inf + 128020 1.820 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) 1.820 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.821 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.821 * * [simplify]: iters left: 2 (7 enodes) 1.823 * * [simplify]: iters left: 1 (18 enodes) 1.826 * * [simplify]: Extracting #0: cost 1 inf + 0 1.826 * * [simplify]: Extracting #1: cost 3 inf + 0 1.826 * * [simplify]: Extracting #2: cost 7 inf + 0 1.826 * * [simplify]: Extracting #3: cost 2 inf + 326 1.826 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.826 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.826 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.827 * * * * [progress]: [ 11 / 11 ] simplifiying candidate # 1.827 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) 1.827 * * [simplify]: iters left: 3 (9 enodes) 1.830 * * [simplify]: iters left: 2 (37 enodes) 1.839 * * [simplify]: iters left: 1 (90 enodes) 1.866 * * [simplify]: Extracting #0: cost 1 inf + 0 1.866 * * [simplify]: Extracting #1: cost 21 inf + 0 1.866 * * [simplify]: Extracting #2: cost 55 inf + 0 1.866 * * [simplify]: Extracting #3: cost 87 inf + 2654 1.867 * * [simplify]: Extracting #4: cost 68 inf + 28908 1.871 * * [simplify]: Extracting #5: cost 2 inf + 125654 1.876 * * [simplify]: Extracting #6: cost 0 inf + 128020 1.880 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) 1.880 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re x.im) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.880 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.880 * * [simplify]: iters left: 2 (7 enodes) 1.881 * * [simplify]: iters left: 1 (18 enodes) 1.884 * * [simplify]: Extracting #0: cost 1 inf + 0 1.884 * * [simplify]: Extracting #1: cost 3 inf + 0 1.884 * * [simplify]: Extracting #2: cost 7 inf + 0 1.884 * * [simplify]: Extracting #3: cost 2 inf + 326 1.884 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.884 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.884 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.884 * * * [progress]: adding candidates to table 2.046 * * [progress]: iteration 3 / 4 2.046 * * * [progress]: picking best candidate 2.083 * * * * [pick]: Picked # 2.083 * * * [progress]: localizing error 2.312 * * * [progress]: generating rewritten candidates 2.312 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 2) 2.315 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 2.329 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2 1) 2.334 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1) 2.339 * * * [progress]: generating series expansions 2.339 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 2) 2.340 * * * * [progress]: [ 2 / 4 ] generating series at (2) 2.340 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2 1) 2.340 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1) 2.340 * * * [progress]: simplifying candidates 2.340 * * * * [progress]: [ 1 / 9 ] simplifiying candidate # 2.340 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) 2.340 * * [simplify]: iters left: 4 (11 enodes) 2.343 * * [simplify]: iters left: 3 (39 enodes) 2.352 * * [simplify]: iters left: 2 (95 enodes) 2.380 * * [simplify]: iters left: 1 (307 enodes) 2.519 * * [simplify]: Extracting #0: cost 1 inf + 0 2.519 * * [simplify]: Extracting #1: cost 35 inf + 0 2.520 * * [simplify]: Extracting #2: cost 175 inf + 0 2.521 * * [simplify]: Extracting #3: cost 263 inf + 8316 2.530 * * [simplify]: Extracting #4: cost 267 inf + 204297 2.563 * * [simplify]: Extracting #5: cost 103 inf + 570590 2.607 * * [simplify]: Extracting #6: cost 0 inf + 801211 2.653 * [simplify]: Simplified to (/.p16 (real->posit16 1.0) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 2.653 * [simplify]: Simplified (2 1 2 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (*.p16 (/.p16 (real->posit16 1.0) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 2.653 * * * * [progress]: [ 2 / 9 ] simplifiying candidate # 2.653 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 2.653 * * [simplify]: iters left: 3 (11 enodes) 2.656 * * [simplify]: iters left: 2 (29 enodes) 2.663 * * [simplify]: iters left: 1 (57 enodes) 2.678 * * [simplify]: Extracting #0: cost 1 inf + 0 2.678 * * [simplify]: Extracting #1: cost 11 inf + 0 2.678 * * [simplify]: Extracting #2: cost 30 inf + 0 2.678 * * [simplify]: Extracting #3: cost 43 inf + 0 2.678 * * [simplify]: Extracting #4: cost 55 inf + 1610 2.679 * * [simplify]: Extracting #5: cost 40 inf + 12524 2.680 * * [simplify]: Extracting #6: cost 15 inf + 41834 2.683 * * [simplify]: Extracting #7: cost 1 inf + 67280 2.685 * * [simplify]: Extracting #8: cost 0 inf + 70404 2.688 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 2.688 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))))) 2.688 * * * * [progress]: [ 3 / 9 ] simplifiying candidate # 2.689 * [simplify]: Simplifying (*.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 2.689 * * [simplify]: iters left: 4 (13 enodes) 2.692 * * [simplify]: iters left: 3 (34 enodes) 2.700 * * [simplify]: iters left: 2 (83 enodes) 2.719 * * [simplify]: iters left: 1 (249 enodes) 2.822 * * [simplify]: Extracting #0: cost 1 inf + 0 2.822 * * [simplify]: Extracting #1: cost 49 inf + 0 2.823 * * [simplify]: Extracting #2: cost 210 inf + 0 2.826 * * [simplify]: Extracting #3: cost 256 inf + 52219 2.846 * * [simplify]: Extracting #4: cost 124 inf + 389108 2.875 * * [simplify]: Extracting #5: cost 41 inf + 579214 2.906 * * [simplify]: Extracting #6: cost 2 inf + 618493 2.937 * * [simplify]: Extracting #7: cost 0 inf + 625621 2.968 * [simplify]: Simplified to (*.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) 2.968 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (*.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))))) 2.968 * * * * [progress]: [ 4 / 9 ] simplifiying candidate # 2.968 * * * * [progress]: [ 5 / 9 ] simplifiying candidate # 2.968 * * * * [progress]: [ 6 / 9 ] simplifiying candidate # 2.968 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 2.969 * * [simplify]: iters left: 3 (9 enodes) 2.970 * * [simplify]: iters left: 2 (26 enodes) 2.974 * * [simplify]: iters left: 1 (53 enodes) 2.984 * * [simplify]: Extracting #0: cost 1 inf + 0 2.984 * * [simplify]: Extracting #1: cost 10 inf + 0 2.984 * * [simplify]: Extracting #2: cost 26 inf + 0 2.984 * * [simplify]: Extracting #3: cost 39 inf + 0 2.984 * * [simplify]: Extracting #4: cost 56 inf + 728 2.985 * * [simplify]: Extracting #5: cost 21 inf + 32616 2.986 * * [simplify]: Extracting #6: cost 1 inf + 61996 2.988 * * [simplify]: Extracting #7: cost 0 inf + 63840 2.990 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 2.990 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 2.990 * * * * [progress]: [ 7 / 9 ] simplifiying candidate # 2.990 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 2.990 * * [simplify]: iters left: 3 (9 enodes) 2.992 * * [simplify]: iters left: 2 (26 enodes) 2.996 * * [simplify]: iters left: 1 (53 enodes) 3.006 * * [simplify]: Extracting #0: cost 1 inf + 0 3.006 * * [simplify]: Extracting #1: cost 10 inf + 0 3.006 * * [simplify]: Extracting #2: cost 26 inf + 0 3.006 * * [simplify]: Extracting #3: cost 39 inf + 0 3.006 * * [simplify]: Extracting #4: cost 56 inf + 728 3.007 * * [simplify]: Extracting #5: cost 21 inf + 32616 3.009 * * [simplify]: Extracting #6: cost 1 inf + 61996 3.010 * * [simplify]: Extracting #7: cost 0 inf + 63840 3.012 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 3.012 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 3.012 * * * * [progress]: [ 8 / 9 ] simplifiying candidate # 3.012 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 3.013 * * [simplify]: iters left: 3 (9 enodes) 3.014 * * [simplify]: iters left: 2 (26 enodes) 3.018 * * [simplify]: iters left: 1 (53 enodes) 3.028 * * [simplify]: Extracting #0: cost 1 inf + 0 3.028 * * [simplify]: Extracting #1: cost 10 inf + 0 3.029 * * [simplify]: Extracting #2: cost 26 inf + 0 3.029 * * [simplify]: Extracting #3: cost 39 inf + 0 3.029 * * [simplify]: Extracting #4: cost 56 inf + 728 3.029 * * [simplify]: Extracting #5: cost 21 inf + 32616 3.031 * * [simplify]: Extracting #6: cost 1 inf + 61996 3.033 * * [simplify]: Extracting #7: cost 0 inf + 63840 3.035 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 3.035 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 3.035 * * * * [progress]: [ 9 / 9 ] simplifiying candidate # 3.035 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 3.035 * * [simplify]: iters left: 3 (9 enodes) 3.037 * * [simplify]: iters left: 2 (26 enodes) 3.041 * * [simplify]: iters left: 1 (53 enodes) 3.050 * * [simplify]: Extracting #0: cost 1 inf + 0 3.050 * * [simplify]: Extracting #1: cost 10 inf + 0 3.050 * * [simplify]: Extracting #2: cost 26 inf + 0 3.051 * * [simplify]: Extracting #3: cost 39 inf + 0 3.051 * * [simplify]: Extracting #4: cost 56 inf + 728 3.051 * * [simplify]: Extracting #5: cost 21 inf + 32616 3.053 * * [simplify]: Extracting #6: cost 1 inf + 61996 3.055 * * [simplify]: Extracting #7: cost 0 inf + 63840 3.057 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 3.057 * [simplify]: Simplified (2 1 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 3.057 * * * [progress]: adding candidates to table 3.145 * * [progress]: iteration 4 / 4 3.145 * * * [progress]: picking best candidate 3.185 * * * * [pick]: Picked # 3.185 * * * [progress]: localizing error 3.385 * * * [progress]: generating rewritten candidates 3.386 * * * * [progress]: [ 1 / 4 ] rewriting at (2 2) 3.391 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 3.396 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1) 3.401 * * * * [progress]: [ 4 / 4 ] rewriting at (2) 3.408 * * * [progress]: generating series expansions 3.408 * * * * [progress]: [ 1 / 4 ] generating series at (2 2) 3.408 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 3.408 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1) 3.408 * * * * [progress]: [ 4 / 4 ] generating series at (2) 3.408 * * * [progress]: simplifying candidates 3.408 * * * * [progress]: [ 1 / 10 ] simplifiying candidate # 3.408 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im)))) 3.408 * * [simplify]: iters left: 4 (13 enodes) 3.412 * * [simplify]: iters left: 3 (42 enodes) 3.430 * * [simplify]: iters left: 2 (97 enodes) 3.460 * * [simplify]: iters left: 1 (311 enodes) 3.643 * * [simplify]: Extracting #0: cost 1 inf + 0 3.643 * * [simplify]: Extracting #1: cost 39 inf + 0 3.643 * * [simplify]: Extracting #2: cost 188 inf + 0 3.645 * * [simplify]: Extracting #3: cost 261 inf + 28640 3.660 * * [simplify]: Extracting #4: cost 218 inf + 382714 3.699 * * [simplify]: Extracting #5: cost 76 inf + 758198 3.736 * * [simplify]: Extracting #6: cost 0 inf + 874131 3.781 * * [simplify]: Extracting #7: cost 0 inf + 866131 3.830 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)))) 3.830 * [simplify]: Simplified (2 2 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (*.p16 (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))) 3.831 * * * * [progress]: [ 2 / 10 ] simplifiying candidate # 3.831 * * * * [progress]: [ 3 / 10 ] simplifiying candidate # 3.831 * * * * [progress]: [ 4 / 10 ] simplifiying candidate # 3.832 * [simplify]: Simplifying (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 (*.p16 x.im y.re) (*.p16 x.im y.re)) (*.p16 (*.p16 x.re y.im) (*.p16 x.re y.im))))) 3.832 * * [simplify]: iters left: 5 (16 enodes) 3.837 * * [simplify]: iters left: 4 (51 enodes) 3.850 * * [simplify]: iters left: 3 (133 enodes) 3.886 * * [simplify]: Extracting #0: cost 1 inf + 0 3.887 * * [simplify]: Extracting #1: cost 30 inf + 0 3.887 * * [simplify]: Extracting #2: cost 114 inf + 0 3.887 * * [simplify]: Extracting #3: cost 145 inf + 1289 3.888 * * [simplify]: Extracting #4: cost 173 inf + 9762 3.890 * * [simplify]: Extracting #5: cost 138 inf + 65959 3.895 * * [simplify]: Extracting #6: cost 50 inf + 218736 3.907 * * [simplify]: Extracting #7: cost 1 inf + 332727 3.917 * * [simplify]: Extracting #8: cost 0 inf + 336011 3.928 * [simplify]: Simplified to (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) 3.928 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (*.p16 (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 3.928 * * * * [progress]: [ 5 / 10 ] simplifiying candidate # 3.928 * [simplify]: Simplifying (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 3.928 * * [simplify]: iters left: 4 (12 enodes) 3.931 * * [simplify]: iters left: 3 (28 enodes) 3.936 * * [simplify]: iters left: 2 (40 enodes) 3.942 * * [simplify]: iters left: 1 (80 enodes) 3.962 * * [simplify]: Extracting #0: cost 1 inf + 0 3.962 * * [simplify]: Extracting #1: cost 6 inf + 0 3.962 * * [simplify]: Extracting #2: cost 27 inf + 0 3.962 * * [simplify]: Extracting #3: cost 62 inf + 1 3.962 * * [simplify]: Extracting #4: cost 53 inf + 1933 3.963 * * [simplify]: Extracting #5: cost 29 inf + 19110 3.965 * * [simplify]: Extracting #6: cost 0 inf + 56519 3.968 * [simplify]: Simplified to (/.p16 (real->posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) 3.968 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (*.p16 (/.p16 (real->posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 3.968 * * * * [progress]: [ 6 / 10 ] simplifiying candidate # 3.968 * [simplify]: Simplifying (*.p16 (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 3.968 * * [simplify]: iters left: 4 (13 enodes) 3.972 * * [simplify]: iters left: 3 (40 enodes) 3.982 * * [simplify]: iters left: 2 (103 enodes) 4.012 * * [simplify]: iters left: 1 (295 enodes) 4.163 * * [simplify]: Extracting #0: cost 1 inf + 0 4.163 * * [simplify]: Extracting #1: cost 35 inf + 0 4.163 * * [simplify]: Extracting #2: cost 195 inf + 0 4.167 * * [simplify]: Extracting #3: cost 318 inf + 73667 4.186 * * [simplify]: Extracting #4: cost 137 inf + 503289 4.221 * * [simplify]: Extracting #5: cost 44 inf + 752110 4.264 * * [simplify]: Extracting #6: cost 0 inf + 818531 4.306 * * [simplify]: Extracting #7: cost 0 inf + 817411 4.347 * [simplify]: Simplified to (*.p16 (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))) 4.347 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (*.p16 (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))))) 4.347 * * * * [progress]: [ 7 / 10 ] simplifiying candidate # 4.348 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 4.348 * * [simplify]: iters left: 3 (11 enodes) 4.351 * * [simplify]: iters left: 2 (29 enodes) 4.358 * * [simplify]: iters left: 1 (57 enodes) 4.374 * * [simplify]: Extracting #0: cost 1 inf + 0 4.374 * * [simplify]: Extracting #1: cost 11 inf + 0 4.374 * * [simplify]: Extracting #2: cost 30 inf + 0 4.374 * * [simplify]: Extracting #3: cost 43 inf + 0 4.375 * * [simplify]: Extracting #4: cost 55 inf + 1610 4.375 * * [simplify]: Extracting #5: cost 40 inf + 12524 4.377 * * [simplify]: Extracting #6: cost 15 inf + 41834 4.379 * * [simplify]: Extracting #7: cost 1 inf + 67280 4.382 * * [simplify]: Extracting #8: cost 0 inf + 70404 4.384 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 4.384 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))))) 4.385 * * * * [progress]: [ 8 / 10 ] simplifiying candidate # 4.385 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 4.385 * * [simplify]: iters left: 3 (11 enodes) 4.388 * * [simplify]: iters left: 2 (29 enodes) 4.394 * * [simplify]: iters left: 1 (57 enodes) 4.406 * * [simplify]: Extracting #0: cost 1 inf + 0 4.406 * * [simplify]: Extracting #1: cost 11 inf + 0 4.406 * * [simplify]: Extracting #2: cost 30 inf + 0 4.406 * * [simplify]: Extracting #3: cost 43 inf + 0 4.406 * * [simplify]: Extracting #4: cost 55 inf + 1610 4.406 * * [simplify]: Extracting #5: cost 40 inf + 12524 4.407 * * [simplify]: Extracting #6: cost 15 inf + 41834 4.409 * * [simplify]: Extracting #7: cost 1 inf + 67280 4.411 * * [simplify]: Extracting #8: cost 0 inf + 70404 4.413 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 4.414 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))))) 4.414 * * * * [progress]: [ 9 / 10 ] simplifiying candidate # 4.414 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 4.414 * * [simplify]: iters left: 3 (11 enodes) 4.417 * * [simplify]: iters left: 2 (29 enodes) 4.424 * * [simplify]: iters left: 1 (57 enodes) 4.438 * * [simplify]: Extracting #0: cost 1 inf + 0 4.438 * * [simplify]: Extracting #1: cost 11 inf + 0 4.438 * * [simplify]: Extracting #2: cost 30 inf + 0 4.439 * * [simplify]: Extracting #3: cost 43 inf + 0 4.439 * * [simplify]: Extracting #4: cost 55 inf + 1610 4.439 * * [simplify]: Extracting #5: cost 40 inf + 12524 4.441 * * [simplify]: Extracting #6: cost 15 inf + 41834 4.443 * * [simplify]: Extracting #7: cost 1 inf + 67280 4.446 * * [simplify]: Extracting #8: cost 0 inf + 70404 4.448 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 4.448 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))))) 4.448 * * * * [progress]: [ 10 / 10 ] simplifiying candidate # 4.448 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) 4.448 * * [simplify]: iters left: 3 (11 enodes) 4.451 * * [simplify]: iters left: 2 (29 enodes) 4.456 * * [simplify]: iters left: 1 (57 enodes) 4.469 * * [simplify]: Extracting #0: cost 1 inf + 0 4.469 * * [simplify]: Extracting #1: cost 11 inf + 0 4.469 * * [simplify]: Extracting #2: cost 30 inf + 0 4.469 * * [simplify]: Extracting #3: cost 43 inf + 0 4.470 * * [simplify]: Extracting #4: cost 55 inf + 1610 4.470 * * [simplify]: Extracting #5: cost 40 inf + 12524 4.471 * * [simplify]: Extracting #6: cost 15 inf + 41834 4.473 * * [simplify]: Extracting #7: cost 1 inf + 67280 4.475 * * [simplify]: Extracting #8: cost 0 inf + 70404 4.477 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))) 4.477 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re))))) 4.477 * * * [progress]: adding candidates to table 4.625 * [progress]: [Phase 3 of 3] Extracting. 4.625 * * [regime]: Finding splitpoints for: (# # #posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # # # # #) 4.629 * * * [regime-changes]: Trying 4 branch expressions: (y.im x.re y.re x.im) 4.629 * * * * [regimes]: Trying to branch on y.im from (# # #posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # # # # #) 4.798 * * * * [regimes]: Trying to branch on x.re from (# # #posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # # # # #) 4.948 * * * * [regimes]: Trying to branch on y.re from (# # #posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # # # # #) 5.157 * * * * [regimes]: Trying to branch on x.im from (# # #posit16 1.0) (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # # # # #) 5.310 * * * [regime]: Found split indices: #