0.002 * [progress]: [Phase 1 of 3] Setting up. 0.002 * * * [progress]: [1/2] Preparing points 0.003 * * * * [points]: Sampling 256 additional inputs, on iter 0 have 0 / 256 0.006 * * * * [points]: Computing exacts on every 16 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 8 of 256 points to ramp up precision 0.013 * * * * [points]: Setting MPFR precision to 64 0.016 * * * * [points]: Setting MPFR precision to 320 0.020 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.021 * * * * [points]: Setting MPFR precision to 64 0.028 * * * * [points]: Setting MPFR precision to 320 0.035 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.037 * * * * [points]: Setting MPFR precision to 64 0.046 * * * * [points]: Setting MPFR precision to 320 0.057 * * * * [points]: Computing exacts for 256 points 0.059 * * * * [points]: Setting MPFR precision to 64 0.092 * * * * [points]: Setting MPFR precision to 320 0.124 * * * * [points]: Filtering points with unrepresentable outputs 0.125 * * * * [points]: Sampled 256 points with exact outputs 0.126 * * * [progress]: [2/2] Setting up program. 0.137 * [progress]: [Phase 2 of 3] Improving. 0.137 * * * * [progress]: [ 1 / 1 ] simplifiying candidate # 0.138 * [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.138 * * [simplify]: iters left: 3 (11 enodes) 0.144 * * [simplify]: iters left: 2 (29 enodes) 0.184 * * [simplify]: iters left: 1 (57 enodes) 0.204 * * [simplify]: Extracting #0: cost 1 inf + 0 0.204 * * [simplify]: Extracting #1: cost 10 inf + 0 0.204 * * [simplify]: Extracting #2: cost 31 inf + 0 0.205 * * [simplify]: Extracting #3: cost 44 inf + 0 0.205 * * [simplify]: Extracting #4: cost 58 inf + 647 0.206 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.208 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.211 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.214 * [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.215 * [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.224 * * [progress]: iteration 1 / 4 0.225 * * * [progress]: picking best candidate 0.234 * * * * [pick]: Picked # 0.234 * * * [progress]: localizing error 0.443 * * * [progress]: generating rewritten candidates 0.443 * * * * [progress]: [ 1 / 3 ] rewriting at (2) 0.446 * * * * [progress]: [ 2 / 3 ] rewriting at (2 1) 0.448 * * * * [progress]: [ 3 / 3 ] rewriting at (2 2) 0.452 * * * [progress]: generating series expansions 0.452 * * * * [progress]: [ 1 / 3 ] generating series at (2) 0.452 * * * * [progress]: [ 2 / 3 ] generating series at (2 1) 0.452 * * * * [progress]: [ 3 / 3 ] generating series at (2 2) 0.452 * * * [progress]: simplifying candidates 0.453 * * * * [progress]: [ 1 / 7 ] simplifiying candidate # 0.453 * [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.453 * * [simplify]: iters left: 3 (9 enodes) 0.456 * * [simplify]: iters left: 2 (37 enodes) 0.470 * * [simplify]: iters left: 1 (90 enodes) 0.499 * * [simplify]: Extracting #0: cost 1 inf + 0 0.500 * * [simplify]: Extracting #1: cost 21 inf + 0 0.500 * * [simplify]: Extracting #2: cost 55 inf + 0 0.500 * * [simplify]: Extracting #3: cost 88 inf + 2654 0.501 * * [simplify]: Extracting #4: cost 69 inf + 28908 0.505 * * [simplify]: Extracting #5: cost 2 inf + 127256 0.514 * * [simplify]: Extracting #6: cost 0 inf + 129622 0.523 * [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.523 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (/.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 (*.p16 y.re y.re) (*.p16 y.im y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))) 0.523 * * * * [progress]: [ 2 / 7 ] simplifiying candidate # 0.523 * * * * [progress]: [ 3 / 7 ] simplifiying candidate # 0.524 * * * * [progress]: [ 4 / 7 ] simplifiying candidate # 0.524 * * * * [progress]: [ 5 / 7 ] simplifiying candidate # 0.524 * [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.524 * * [simplify]: iters left: 3 (11 enodes) 0.528 * * [simplify]: iters left: 2 (29 enodes) 0.538 * * [simplify]: iters left: 1 (57 enodes) 0.556 * * [simplify]: Extracting #0: cost 1 inf + 0 0.556 * * [simplify]: Extracting #1: cost 10 inf + 0 0.556 * * [simplify]: Extracting #2: cost 31 inf + 0 0.556 * * [simplify]: Extracting #3: cost 44 inf + 0 0.556 * * [simplify]: Extracting #4: cost 58 inf + 647 0.557 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.559 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.560 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.562 * [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.562 * [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.562 * * * * [progress]: [ 6 / 7 ] simplifiying candidate # 0.562 * [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.562 * * [simplify]: iters left: 3 (11 enodes) 0.565 * * [simplify]: iters left: 2 (29 enodes) 0.569 * * [simplify]: iters left: 1 (57 enodes) 0.579 * * [simplify]: Extracting #0: cost 1 inf + 0 0.579 * * [simplify]: Extracting #1: cost 10 inf + 0 0.579 * * [simplify]: Extracting #2: cost 31 inf + 0 0.579 * * [simplify]: Extracting #3: cost 44 inf + 0 0.579 * * [simplify]: Extracting #4: cost 58 inf + 647 0.580 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.581 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.585 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.588 * [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.588 * [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.588 * * * * [progress]: [ 7 / 7 ] simplifiying candidate # 0.588 * [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.588 * * [simplify]: iters left: 3 (11 enodes) 0.592 * * [simplify]: iters left: 2 (29 enodes) 0.599 * * [simplify]: iters left: 1 (57 enodes) 0.609 * * [simplify]: Extracting #0: cost 1 inf + 0 0.609 * * [simplify]: Extracting #1: cost 10 inf + 0 0.609 * * [simplify]: Extracting #2: cost 31 inf + 0 0.609 * * [simplify]: Extracting #3: cost 44 inf + 0 0.610 * * [simplify]: Extracting #4: cost 58 inf + 647 0.610 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.612 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.613 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.615 * [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.615 * [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.615 * * * [progress]: adding candidates to table 0.691 * * [progress]: iteration 2 / 4 0.691 * * * [progress]: picking best candidate 0.707 * * * * [pick]: Picked # 0.707 * * * [progress]: localizing error 0.986 * * * [progress]: generating rewritten candidates 0.986 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 0.998 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 1.012 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2) 1.018 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 2) 1.029 * * * [progress]: generating series expansions 1.029 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 1.029 * * * * [progress]: [ 2 / 4 ] generating series at (2) 1.029 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2) 1.029 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 2) 1.029 * * * [progress]: simplifying candidates 1.029 * * * * [progress]: [ 1 / 11 ] simplifiying candidate # 1.029 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.029 * * [simplify]: iters left: 2 (7 enodes) 1.032 * * [simplify]: iters left: 1 (18 enodes) 1.036 * * [simplify]: Extracting #0: cost 1 inf + 0 1.036 * * [simplify]: Extracting #1: cost 3 inf + 0 1.036 * * [simplify]: Extracting #2: cost 7 inf + 0 1.036 * * [simplify]: Extracting #3: cost 2 inf + 326 1.036 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.036 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.036 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (/.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)))) 1.036 * * * * [progress]: [ 2 / 11 ] simplifiying candidate # 1.037 * [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.037 * * [simplify]: iters left: 4 (11 enodes) 1.042 * * [simplify]: iters left: 3 (47 enodes) 1.054 * * [simplify]: iters left: 2 (143 enodes) 1.107 * * [simplify]: Extracting #0: cost 1 inf + 0 1.107 * * [simplify]: Extracting #1: cost 25 inf + 0 1.107 * * [simplify]: Extracting #2: cost 73 inf + 0 1.107 * * [simplify]: Extracting #3: cost 142 inf + 2332 1.109 * * [simplify]: Extracting #4: cost 134 inf + 55820 1.117 * * [simplify]: Extracting #5: cost 28 inf + 228590 1.130 * * [simplify]: Extracting #6: cost 1 inf + 283752 1.145 * * [simplify]: Extracting #7: cost 0 inf + 287356 1.156 * [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.156 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.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.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))))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.156 * * * * [progress]: [ 3 / 11 ] simplifiying candidate # 1.157 * [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.157 * * [simplify]: iters left: 3 (9 enodes) 1.159 * * [simplify]: iters left: 2 (37 enodes) 1.165 * * [simplify]: iters left: 1 (90 enodes) 1.201 * * [simplify]: Extracting #0: cost 1 inf + 0 1.201 * * [simplify]: Extracting #1: cost 21 inf + 0 1.201 * * [simplify]: Extracting #2: cost 55 inf + 0 1.201 * * [simplify]: Extracting #3: cost 88 inf + 2654 1.202 * * [simplify]: Extracting #4: cost 69 inf + 28908 1.206 * * [simplify]: Extracting #5: cost 2 inf + 127256 1.211 * * [simplify]: Extracting #6: cost 0 inf + 129622 1.215 * [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.215 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (/.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 (*.p16 y.re y.re) (*.p16 y.im y.im)) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))) 1.215 * * * * [progress]: [ 4 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 5 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 6 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 7 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 8 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 9 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 10 / 11 ] simplifiying candidate # 1.215 * * * * [progress]: [ 11 / 11 ] simplifiying candidate # 1.216 * * * [progress]: adding candidates to table 1.365 * * [progress]: iteration 3 / 4 1.365 * * * [progress]: picking best candidate 1.402 * * * * [pick]: Picked # 1.402 * * * [progress]: localizing error 1.738 * * * [progress]: generating rewritten candidates 1.738 * * * * [progress]: [ 1 / 4 ] rewriting at (2) 1.745 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 1.748 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2 1) 1.765 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1) 1.772 * * * [progress]: generating series expansions 1.772 * * * * [progress]: [ 1 / 4 ] generating series at (2) 1.773 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 1.773 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2 1) 1.773 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1) 1.773 * * * [progress]: simplifying candidates 1.773 * * * * [progress]: [ 1 / 9 ] simplifiying candidate # 1.773 * [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))) 1.773 * * [simplify]: iters left: 3 (8 enodes) 1.778 * * [simplify]: iters left: 2 (21 enodes) 1.785 * * [simplify]: iters left: 1 (22 enodes) 1.790 * * [simplify]: Extracting #0: cost 1 inf + 0 1.790 * * [simplify]: Extracting #1: cost 3 inf + 0 1.790 * * [simplify]: Extracting #2: cost 4 inf + 1 1.790 * * [simplify]: Extracting #3: cost 7 inf + 2 1.790 * * [simplify]: Extracting #4: cost 2 inf + 328 1.790 * * [simplify]: Extracting #5: cost 0 inf + 1334 1.790 * [simplify]: Simplified to (real->posit16 1.0) 1.790 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (/.p16 (real->posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))) 1.791 * * * * [progress]: [ 2 / 9 ] simplifiying candidate # 1.791 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.791 * * [simplify]: iters left: 2 (7 enodes) 1.792 * * [simplify]: iters left: 1 (18 enodes) 1.794 * * [simplify]: Extracting #0: cost 1 inf + 0 1.794 * * [simplify]: Extracting #1: cost 3 inf + 0 1.794 * * [simplify]: Extracting #2: cost 7 inf + 0 1.794 * * [simplify]: Extracting #3: cost 2 inf + 326 1.794 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.795 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.795 * [simplify]: Simplified (2 1) to (λ (x.re x.im y.re y.im) (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (*.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)))))) 1.795 * * * * [progress]: [ 3 / 9 ] simplifiying candidate # 1.795 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.795 * * [simplify]: iters left: 2 (7 enodes) 1.796 * * [simplify]: iters left: 1 (18 enodes) 1.798 * * [simplify]: Extracting #0: cost 1 inf + 0 1.798 * * [simplify]: Extracting #1: cost 3 inf + 0 1.798 * * [simplify]: Extracting #2: cost 7 inf + 0 1.798 * * [simplify]: Extracting #3: cost 2 inf + 326 1.799 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.799 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.799 * [simplify]: Simplified (2 1 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 (+.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)))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)))) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 1.799 * * * * [progress]: [ 4 / 9 ] simplifiying candidate # 1.799 * * * * [progress]: [ 5 / 9 ] simplifiying candidate # 1.799 * * * * [progress]: [ 6 / 9 ] simplifiying candidate # 1.799 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.799 * * [simplify]: iters left: 2 (7 enodes) 1.800 * * [simplify]: iters left: 1 (18 enodes) 1.803 * * [simplify]: Extracting #0: cost 1 inf + 0 1.803 * * [simplify]: Extracting #1: cost 3 inf + 0 1.803 * * [simplify]: Extracting #2: cost 7 inf + 0 1.803 * * [simplify]: Extracting #3: cost 2 inf + 326 1.803 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.803 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.803 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (/.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)))) 1.803 * * * * [progress]: [ 7 / 9 ] simplifiying candidate # 1.803 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.803 * * [simplify]: iters left: 2 (7 enodes) 1.804 * * [simplify]: iters left: 1 (18 enodes) 1.807 * * [simplify]: Extracting #0: cost 1 inf + 0 1.807 * * [simplify]: Extracting #1: cost 3 inf + 0 1.807 * * [simplify]: Extracting #2: cost 7 inf + 0 1.807 * * [simplify]: Extracting #3: cost 2 inf + 326 1.807 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.807 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.807 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (/.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)))) 1.807 * * * * [progress]: [ 8 / 9 ] simplifiying candidate # 1.807 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.807 * * [simplify]: iters left: 2 (7 enodes) 1.808 * * [simplify]: iters left: 1 (18 enodes) 1.810 * * [simplify]: Extracting #0: cost 1 inf + 0 1.811 * * [simplify]: Extracting #1: cost 3 inf + 0 1.811 * * [simplify]: Extracting #2: cost 7 inf + 0 1.811 * * [simplify]: Extracting #3: cost 2 inf + 326 1.811 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.811 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.811 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (/.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)))) 1.811 * * * * [progress]: [ 9 / 9 ] simplifiying candidate # 1.811 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.811 * * [simplify]: iters left: 2 (7 enodes) 1.812 * * [simplify]: iters left: 1 (18 enodes) 1.815 * * [simplify]: Extracting #0: cost 1 inf + 0 1.815 * * [simplify]: Extracting #1: cost 3 inf + 0 1.815 * * [simplify]: Extracting #2: cost 7 inf + 0 1.815 * * [simplify]: Extracting #3: cost 2 inf + 326 1.815 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.815 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.815 * [simplify]: Simplified (2 1 1) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) (/.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)))) 1.815 * * * [progress]: adding candidates to table 1.985 * * [progress]: iteration 4 / 4 1.985 * * * [progress]: picking best candidate 2.054 * * * * [pick]: Picked #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.054 * * * [progress]: localizing error 2.358 * * * [progress]: generating rewritten candidates 2.358 * * * * [progress]: [ 1 / 4 ] rewriting at (2 2) 2.364 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 2.369 * * * * [progress]: [ 3 / 4 ] rewriting at (2 2 2) 2.373 * * * * [progress]: [ 4 / 4 ] rewriting at (2 2 1) 2.381 * * * [progress]: generating series expansions 2.381 * * * * [progress]: [ 1 / 4 ] generating series at (2 2) 2.382 * * * * [progress]: [ 2 / 4 ] generating series at (2) 2.382 * * * * [progress]: [ 3 / 4 ] generating series at (2 2 2) 2.382 * * * * [progress]: [ 4 / 4 ] generating series at (2 2 1) 2.382 * * * [progress]: simplifying candidates 2.382 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.382 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.382 * * [simplify]: iters left: 2 (7 enodes) 2.385 * * [simplify]: iters left: 1 (18 enodes) 2.400 * * [simplify]: Extracting #0: cost 1 inf + 0 2.400 * * [simplify]: Extracting #1: cost 3 inf + 0 2.400 * * [simplify]: Extracting #2: cost 7 inf + 0 2.400 * * [simplify]: Extracting #3: cost 2 inf + 326 2.400 * * [simplify]: Extracting #4: cost 0 inf + 1332 2.400 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 2.400 * [simplify]: Simplified (2 2 2) to (λ (x.re x.im y.re y.im) (/.p16 (real->posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im))))) 2.400 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> 2.401 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.401 * * [simplify]: iters left: 2 (7 enodes) 2.404 * * [simplify]: iters left: 1 (18 enodes) 2.408 * * [simplify]: Extracting #0: cost 1 inf + 0 2.408 * * [simplify]: Extracting #1: cost 3 inf + 0 2.408 * * [simplify]: Extracting #2: cost 7 inf + 0 2.408 * * [simplify]: Extracting #3: cost 2 inf + 326 2.409 * * [simplify]: Extracting #4: cost 0 inf + 1332 2.409 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 2.409 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (/.p16 (/.p16 (real->posit16 1.0) (/.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))))) (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)))) 2.409 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> 2.409 * [simplify]: Simplifying (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.409 * * [simplify]: iters left: 2 (7 enodes) 2.412 * * [simplify]: iters left: 1 (24 enodes) 2.421 * * [simplify]: Extracting #0: cost 1 inf + 0 2.421 * * [simplify]: Extracting #1: cost 6 inf + 0 2.421 * * [simplify]: Extracting #2: cost 15 inf + 0 2.421 * * [simplify]: Extracting #3: cost 19 inf + 728 2.422 * * [simplify]: Extracting #4: cost 3 inf + 11524 2.423 * * [simplify]: Extracting #5: cost 0 inf + 15936 2.424 * [simplify]: Simplified to (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) 2.424 * [simplify]: Simplified (2 2) to (λ (x.re x.im y.re y.im) (*.p16 (/.p16 (real->posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)))) 2.424 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (+.p16 (*.p16 x.im y.re) (neg.p16 (*.p16 x.re y.im))))))> 2.424 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im 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 x.im y.re) (*.p16 x.re y.im))))))> 2.424 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.im y.im) (*.p16 y.re y.re)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.424 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.424 * [simplify]: Simplifying (/.p16 (real->posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 2.425 * * [simplify]: iters left: 4 (14 enodes) 2.433 * * [simplify]: iters left: 3 (35 enodes) 2.447 * * [simplify]: iters left: 2 (74 enodes) 2.475 * * [simplify]: iters left: 1 (208 enodes) 2.587 * * [simplify]: Extracting #0: cost 1 inf + 0 2.587 * * [simplify]: Extracting #1: cost 24 inf + 0 2.587 * * [simplify]: Extracting #2: cost 157 inf + 0 2.588 * * [simplify]: Extracting #3: cost 232 inf + 646 2.589 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.596 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.626 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.661 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.693 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 2.693 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 2.693 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.694 * [simplify]: Simplifying (/.p16 (real->posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 2.694 * * [simplify]: iters left: 4 (14 enodes) 2.697 * * [simplify]: iters left: 3 (35 enodes) 2.702 * * [simplify]: iters left: 2 (74 enodes) 2.717 * * [simplify]: iters left: 1 (208 enodes) 2.822 * * [simplify]: Extracting #0: cost 1 inf + 0 2.822 * * [simplify]: Extracting #1: cost 24 inf + 0 2.822 * * [simplify]: Extracting #2: cost 157 inf + 0 2.823 * * [simplify]: Extracting #3: cost 232 inf + 646 2.824 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.831 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.852 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.888 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.924 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 2.924 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 2.924 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 2.925 * [simplify]: Simplifying (/.p16 (real->posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 2.925 * * [simplify]: iters left: 4 (14 enodes) 2.931 * * [simplify]: iters left: 3 (35 enodes) 2.943 * * [simplify]: iters left: 2 (74 enodes) 2.975 * * [simplify]: iters left: 1 (208 enodes) 3.080 * * [simplify]: Extracting #0: cost 1 inf + 0 3.080 * * [simplify]: Extracting #1: cost 24 inf + 0 3.081 * * [simplify]: Extracting #2: cost 157 inf + 0 3.083 * * [simplify]: Extracting #3: cost 232 inf + 646 3.085 * * [simplify]: Extracting #4: cost 277 inf + 15215 3.094 * * [simplify]: Extracting #5: cost 108 inf + 261189 3.110 * * [simplify]: Extracting #6: cost 10 inf + 467107 3.138 * * [simplify]: Extracting #7: cost 0 inf + 497790 3.175 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 3.175 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 3.175 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> 3.176 * [simplify]: Simplifying (/.p16 (real->posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))) 3.176 * * [simplify]: iters left: 4 (14 enodes) 3.179 * * [simplify]: iters left: 3 (35 enodes) 3.185 * * [simplify]: iters left: 2 (74 enodes) 3.200 * * [simplify]: iters left: 1 (208 enodes) 3.275 * * [simplify]: Extracting #0: cost 1 inf + 0 3.275 * * [simplify]: Extracting #1: cost 24 inf + 0 3.276 * * [simplify]: Extracting #2: cost 157 inf + 0 3.277 * * [simplify]: Extracting #3: cost 232 inf + 646 3.278 * * [simplify]: Extracting #4: cost 277 inf + 15215 3.285 * * [simplify]: Extracting #5: cost 108 inf + 261189 3.304 * * [simplify]: Extracting #6: cost 10 inf + 467107 3.334 * * [simplify]: Extracting #7: cost 0 inf + 497790 3.362 * [simplify]: Simplified to (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) 3.362 * [simplify]: Simplified (2) to (λ (x.re x.im y.re y.im) (/.p16 (-.p16 (*.p16 y.re x.im) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))) 3.362 * * * [progress]: adding candidates to table 3.593 * [progress]: [Phase 3 of 3] Extracting. 3.593 * * [regime]: Finding splitpoints for: (#posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #) 3.596 * * * [regime-changes]: Trying 4 branch expressions: (y.im x.re y.re x.im) 3.596 * * * * [regimes]: Trying to branch on y.im from (#posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #) 3.795 * * * * [regimes]: Trying to branch on x.re from (#posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #) 3.991 * * * * [regimes]: Trying to branch on y.re from (#posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #) 4.147 * * * * [regimes]: Trying to branch on x.im from (#posit16 1.0) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # # # # #posit16 1.0) (/.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))))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))))> # #posit16 1.0) (*.p16 (/.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)))) (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #posit16 1.0) (/.p16 (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)) (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)))))> #) 4.311 * * * [regime]: Found split indices: #