0.002 * [progress]: [Phase 1 of 3] Setting up. 0.003 * * * [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.012 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.015 * * * * [points]: Setting MPFR precision to 64 0.018 * * * * [points]: Setting MPFR precision to 320 0.022 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.023 * * * * [points]: Setting MPFR precision to 64 0.030 * * * * [points]: Setting MPFR precision to 320 0.036 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.038 * * * * [points]: Setting MPFR precision to 64 0.048 * * * * [points]: Setting MPFR precision to 320 0.054 * * * * [points]: Computing exacts for 256 points 0.055 * * * * [points]: Setting MPFR precision to 64 0.081 * * * * [points]: Setting MPFR precision to 320 0.099 * * * * [points]: Filtering points with unrepresentable outputs 0.100 * * * * [points]: Sampled 256 points with exact outputs 0.100 * * * [progress]: [2/2] Setting up program. 0.106 * [progress]: [Phase 2 of 3] Improving. 0.106 * * * * [progress]: [ 1 / 1 ] simplifiying candidate # 0.107 * [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.107 * * [simplify]: iters left: 3 (11 enodes) 0.109 * * [simplify]: iters left: 2 (29 enodes) 0.113 * * [simplify]: iters left: 1 (57 enodes) 0.126 * * [simplify]: Extracting #0: cost 1 inf + 0 0.126 * * [simplify]: Extracting #1: cost 10 inf + 0 0.126 * * [simplify]: Extracting #2: cost 31 inf + 0 0.126 * * [simplify]: Extracting #3: cost 44 inf + 0 0.127 * * [simplify]: Extracting #4: cost 58 inf + 647 0.128 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.131 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.135 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.138 * [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.138 * [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.150 * * [progress]: iteration 1 / 4 0.150 * * * [progress]: picking best candidate 0.160 * * * * [pick]: Picked # 0.161 * * * [progress]: localizing error 0.329 * * * [progress]: generating rewritten candidates 0.329 * * * * [progress]: [ 1 / 3 ] rewriting at (2) 0.341 * * * * [progress]: [ 2 / 3 ] rewriting at (2 1) 0.343 * * * * [progress]: [ 3 / 3 ] rewriting at (2 2) 0.348 * * * [progress]: generating series expansions 0.348 * * * * [progress]: [ 1 / 3 ] generating series at (2) 0.348 * * * * [progress]: [ 2 / 3 ] generating series at (2 1) 0.348 * * * * [progress]: [ 3 / 3 ] generating series at (2 2) 0.348 * * * [progress]: simplifying candidates 0.348 * * * * [progress]: [ 1 / 7 ] simplifiying candidate # 0.348 * [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.348 * * [simplify]: iters left: 3 (9 enodes) 0.350 * * [simplify]: iters left: 2 (37 enodes) 0.357 * * [simplify]: iters left: 1 (90 enodes) 0.377 * * [simplify]: Extracting #0: cost 1 inf + 0 0.377 * * [simplify]: Extracting #1: cost 21 inf + 0 0.377 * * [simplify]: Extracting #2: cost 55 inf + 0 0.377 * * [simplify]: Extracting #3: cost 88 inf + 2654 0.378 * * [simplify]: Extracting #4: cost 69 inf + 28908 0.383 * * [simplify]: Extracting #5: cost 2 inf + 127256 0.389 * * [simplify]: Extracting #6: cost 0 inf + 129622 0.398 * [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.398 * [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.398 * * * * [progress]: [ 2 / 7 ] simplifiying candidate # 0.398 * * * * [progress]: [ 3 / 7 ] simplifiying candidate # 0.398 * * * * [progress]: [ 4 / 7 ] simplifiying candidate # 0.398 * * * * [progress]: [ 5 / 7 ] simplifiying candidate # 0.399 * [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.399 * * [simplify]: iters left: 3 (11 enodes) 0.403 * * [simplify]: iters left: 2 (29 enodes) 0.412 * * [simplify]: iters left: 1 (57 enodes) 0.432 * * [simplify]: Extracting #0: cost 1 inf + 0 0.432 * * [simplify]: Extracting #1: cost 10 inf + 0 0.433 * * [simplify]: Extracting #2: cost 31 inf + 0 0.433 * * [simplify]: Extracting #3: cost 44 inf + 0 0.433 * * [simplify]: Extracting #4: cost 58 inf + 647 0.434 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.437 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.443 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.447 * [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.447 * [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.447 * * * * [progress]: [ 6 / 7 ] simplifiying candidate # 0.447 * [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.447 * * [simplify]: iters left: 3 (11 enodes) 0.452 * * [simplify]: iters left: 2 (29 enodes) 0.462 * * [simplify]: iters left: 1 (57 enodes) 0.483 * * [simplify]: Extracting #0: cost 1 inf + 0 0.483 * * [simplify]: Extracting #1: cost 10 inf + 0 0.483 * * [simplify]: Extracting #2: cost 31 inf + 0 0.483 * * [simplify]: Extracting #3: cost 44 inf + 0 0.483 * * [simplify]: Extracting #4: cost 58 inf + 647 0.484 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.488 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.491 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.495 * [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.495 * [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.495 * * * * [progress]: [ 7 / 7 ] simplifiying candidate # 0.495 * [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.496 * * [simplify]: iters left: 3 (11 enodes) 0.500 * * [simplify]: iters left: 2 (29 enodes) 0.510 * * [simplify]: iters left: 1 (57 enodes) 0.531 * * [simplify]: Extracting #0: cost 1 inf + 0 0.531 * * [simplify]: Extracting #1: cost 10 inf + 0 0.531 * * [simplify]: Extracting #2: cost 31 inf + 0 0.532 * * [simplify]: Extracting #3: cost 44 inf + 0 0.532 * * [simplify]: Extracting #4: cost 58 inf + 647 0.533 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.534 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.536 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.538 * [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.538 * [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.538 * * * [progress]: adding candidates to table 0.624 * * [progress]: iteration 2 / 4 0.624 * * * [progress]: picking best candidate 0.645 * * * * [pick]: Picked # 0.645 * * * [progress]: localizing error 0.945 * * * [progress]: generating rewritten candidates 0.945 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 0.961 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 0.979 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2) 0.986 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 2) 0.999 * * * [progress]: generating series expansions 0.999 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 0.999 * * * * [progress]: [ 2 / 4 ] generating series at (2) 0.999 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2) 0.999 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 2) 0.999 * * * [progress]: simplifying candidates 0.999 * * * * [progress]: [ 1 / 11 ] simplifiying candidate # 1.000 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.000 * * [simplify]: iters left: 2 (7 enodes) 1.002 * * [simplify]: iters left: 1 (18 enodes) 1.007 * * [simplify]: Extracting #0: cost 1 inf + 0 1.007 * * [simplify]: Extracting #1: cost 3 inf + 0 1.007 * * [simplify]: Extracting #2: cost 7 inf + 0 1.007 * * [simplify]: Extracting #3: cost 2 inf + 326 1.007 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.007 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.007 * [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.008 * * * * [progress]: [ 2 / 11 ] simplifiying candidate # 1.014 * [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.014 * * [simplify]: iters left: 4 (11 enodes) 1.019 * * [simplify]: iters left: 3 (47 enodes) 1.036 * * [simplify]: iters left: 2 (143 enodes) 1.098 * * [simplify]: Extracting #0: cost 1 inf + 0 1.099 * * [simplify]: Extracting #1: cost 25 inf + 0 1.099 * * [simplify]: Extracting #2: cost 73 inf + 0 1.099 * * [simplify]: Extracting #3: cost 142 inf + 2332 1.101 * * [simplify]: Extracting #4: cost 134 inf + 55820 1.108 * * [simplify]: Extracting #5: cost 28 inf + 228590 1.122 * * [simplify]: Extracting #6: cost 1 inf + 283752 1.142 * * [simplify]: Extracting #7: cost 0 inf + 287356 1.163 * [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.163 * [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.164 * * * * [progress]: [ 3 / 11 ] simplifiying candidate # 1.164 * [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.164 * * [simplify]: iters left: 3 (9 enodes) 1.168 * * [simplify]: iters left: 2 (37 enodes) 1.181 * * [simplify]: iters left: 1 (90 enodes) 1.218 * * [simplify]: Extracting #0: cost 1 inf + 0 1.218 * * [simplify]: Extracting #1: cost 21 inf + 0 1.219 * * [simplify]: Extracting #2: cost 55 inf + 0 1.219 * * [simplify]: Extracting #3: cost 88 inf + 2654 1.221 * * [simplify]: Extracting #4: cost 69 inf + 28908 1.229 * * [simplify]: Extracting #5: cost 2 inf + 127256 1.238 * * [simplify]: Extracting #6: cost 0 inf + 129622 1.246 * [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.246 * [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.247 * * * * [progress]: [ 4 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 5 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 6 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 7 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 8 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 9 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 10 / 11 ] simplifiying candidate # 1.247 * * * * [progress]: [ 11 / 11 ] simplifiying candidate # 1.247 * * * [progress]: adding candidates to table 1.443 * * [progress]: iteration 3 / 4 1.444 * * * [progress]: picking best candidate 1.509 * * * * [pick]: Picked # 1.510 * * * [progress]: localizing error 1.823 * * * [progress]: generating rewritten candidates 1.823 * * * * [progress]: [ 1 / 4 ] rewriting at (2) 1.831 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 1.835 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2 1) 1.841 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1) 1.845 * * * [progress]: generating series expansions 1.845 * * * * [progress]: [ 1 / 4 ] generating series at (2) 1.845 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 1.845 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2 1) 1.845 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1) 1.845 * * * [progress]: simplifying candidates 1.845 * * * * [progress]: [ 1 / 9 ] simplifiying candidate # 1.845 * [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.845 * * [simplify]: iters left: 3 (8 enodes) 1.848 * * [simplify]: iters left: 2 (21 enodes) 1.851 * * [simplify]: iters left: 1 (22 enodes) 1.853 * * [simplify]: Extracting #0: cost 1 inf + 0 1.854 * * [simplify]: Extracting #1: cost 3 inf + 0 1.854 * * [simplify]: Extracting #2: cost 4 inf + 1 1.854 * * [simplify]: Extracting #3: cost 7 inf + 2 1.854 * * [simplify]: Extracting #4: cost 2 inf + 328 1.854 * * [simplify]: Extracting #5: cost 0 inf + 1334 1.854 * [simplify]: Simplified to (real->posit16 1.0) 1.854 * [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.854 * * * * [progress]: [ 2 / 9 ] simplifiying candidate # 1.854 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.854 * * [simplify]: iters left: 2 (7 enodes) 1.856 * * [simplify]: iters left: 1 (18 enodes) 1.858 * * [simplify]: Extracting #0: cost 1 inf + 0 1.858 * * [simplify]: Extracting #1: cost 3 inf + 0 1.858 * * [simplify]: Extracting #2: cost 7 inf + 0 1.858 * * [simplify]: Extracting #3: cost 2 inf + 326 1.858 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.858 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.858 * [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.858 * * * * [progress]: [ 3 / 9 ] simplifiying candidate # 1.858 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.858 * * [simplify]: iters left: 2 (7 enodes) 1.860 * * [simplify]: iters left: 1 (18 enodes) 1.862 * * [simplify]: Extracting #0: cost 1 inf + 0 1.862 * * [simplify]: Extracting #1: cost 3 inf + 0 1.862 * * [simplify]: Extracting #2: cost 7 inf + 0 1.862 * * [simplify]: Extracting #3: cost 2 inf + 326 1.862 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.862 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.862 * [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.862 * * * * [progress]: [ 4 / 9 ] simplifiying candidate # 1.862 * * * * [progress]: [ 5 / 9 ] simplifiying candidate # 1.862 * * * * [progress]: [ 6 / 9 ] simplifiying candidate # 1.863 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.863 * * [simplify]: iters left: 2 (7 enodes) 1.864 * * [simplify]: iters left: 1 (18 enodes) 1.866 * * [simplify]: Extracting #0: cost 1 inf + 0 1.866 * * [simplify]: Extracting #1: cost 3 inf + 0 1.866 * * [simplify]: Extracting #2: cost 7 inf + 0 1.866 * * [simplify]: Extracting #3: cost 2 inf + 326 1.866 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.866 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.866 * [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.867 * * * * [progress]: [ 7 / 9 ] simplifiying candidate # 1.867 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.867 * * [simplify]: iters left: 2 (7 enodes) 1.868 * * [simplify]: iters left: 1 (18 enodes) 1.873 * * [simplify]: Extracting #0: cost 1 inf + 0 1.873 * * [simplify]: Extracting #1: cost 3 inf + 0 1.873 * * [simplify]: Extracting #2: cost 7 inf + 0 1.873 * * [simplify]: Extracting #3: cost 2 inf + 326 1.873 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.873 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.873 * [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.873 * * * * [progress]: [ 8 / 9 ] simplifiying candidate # 1.874 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.874 * * [simplify]: iters left: 2 (7 enodes) 1.877 * * [simplify]: iters left: 1 (18 enodes) 1.888 * * [simplify]: Extracting #0: cost 1 inf + 0 1.888 * * [simplify]: Extracting #1: cost 3 inf + 0 1.888 * * [simplify]: Extracting #2: cost 7 inf + 0 1.888 * * [simplify]: Extracting #3: cost 2 inf + 326 1.888 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.888 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.888 * [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.889 * * * * [progress]: [ 9 / 9 ] simplifiying candidate # 1.889 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.889 * * [simplify]: iters left: 2 (7 enodes) 1.892 * * [simplify]: iters left: 1 (18 enodes) 1.897 * * [simplify]: Extracting #0: cost 1 inf + 0 1.897 * * [simplify]: Extracting #1: cost 3 inf + 0 1.897 * * [simplify]: Extracting #2: cost 7 inf + 0 1.897 * * [simplify]: Extracting #3: cost 2 inf + 326 1.897 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.897 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.897 * [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.897 * * * [progress]: adding candidates to table 2.043 * * [progress]: iteration 4 / 4 2.043 * * * [progress]: picking best candidate 2.099 * * * * [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.099 * * * [progress]: localizing error 2.341 * * * [progress]: generating rewritten candidates 2.341 * * * * [progress]: [ 1 / 4 ] rewriting at (2 2) 2.345 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 2.347 * * * * [progress]: [ 3 / 4 ] rewriting at (2 2 2) 2.350 * * * * [progress]: [ 4 / 4 ] rewriting at (2 2 1) 2.356 * * * [progress]: generating series expansions 2.356 * * * * [progress]: [ 1 / 4 ] generating series at (2 2) 2.356 * * * * [progress]: [ 2 / 4 ] generating series at (2) 2.356 * * * * [progress]: [ 3 / 4 ] generating series at (2 2 2) 2.356 * * * * [progress]: [ 4 / 4 ] generating series at (2 2 1) 2.357 * * * [progress]: simplifying candidates 2.357 * * * * [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.357 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.357 * * [simplify]: iters left: 2 (7 enodes) 2.360 * * [simplify]: iters left: 1 (18 enodes) 2.364 * * [simplify]: Extracting #0: cost 1 inf + 0 2.364 * * [simplify]: Extracting #1: cost 3 inf + 0 2.364 * * [simplify]: Extracting #2: cost 7 inf + 0 2.364 * * [simplify]: Extracting #3: cost 2 inf + 326 2.364 * * [simplify]: Extracting #4: cost 0 inf + 1332 2.365 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 2.365 * [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.365 * * * * [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.365 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.365 * * [simplify]: iters left: 2 (7 enodes) 2.368 * * [simplify]: iters left: 1 (18 enodes) 2.372 * * [simplify]: Extracting #0: cost 1 inf + 0 2.372 * * [simplify]: Extracting #1: cost 3 inf + 0 2.372 * * [simplify]: Extracting #2: cost 7 inf + 0 2.373 * * [simplify]: Extracting #3: cost 2 inf + 326 2.373 * * [simplify]: Extracting #4: cost 0 inf + 1332 2.373 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 2.373 * [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.373 * * * * [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.373 * [simplify]: Simplifying (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 2.373 * * [simplify]: iters left: 2 (7 enodes) 2.376 * * [simplify]: iters left: 1 (24 enodes) 2.384 * * [simplify]: Extracting #0: cost 1 inf + 0 2.384 * * [simplify]: Extracting #1: cost 6 inf + 0 2.384 * * [simplify]: Extracting #2: cost 15 inf + 0 2.384 * * [simplify]: Extracting #3: cost 19 inf + 728 2.384 * * [simplify]: Extracting #4: cost 3 inf + 11524 2.385 * * [simplify]: Extracting #5: cost 0 inf + 15936 2.386 * [simplify]: Simplified to (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) 2.386 * [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.386 * * * * [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.386 * * * * [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.386 * * * * [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.386 * * * * [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.386 * [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.386 * * [simplify]: iters left: 4 (14 enodes) 2.392 * * [simplify]: iters left: 3 (35 enodes) 2.404 * * [simplify]: iters left: 2 (74 enodes) 2.438 * * [simplify]: iters left: 1 (208 enodes) 2.568 * * [simplify]: Extracting #0: cost 1 inf + 0 2.569 * * [simplify]: Extracting #1: cost 24 inf + 0 2.569 * * [simplify]: Extracting #2: cost 157 inf + 0 2.570 * * [simplify]: Extracting #3: cost 232 inf + 646 2.573 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.585 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.601 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.628 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.664 * [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.665 * [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.665 * * * * [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.665 * [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.665 * * [simplify]: iters left: 4 (14 enodes) 2.668 * * [simplify]: iters left: 3 (35 enodes) 2.674 * * [simplify]: iters left: 2 (74 enodes) 2.689 * * [simplify]: iters left: 1 (208 enodes) 2.812 * * [simplify]: Extracting #0: cost 1 inf + 0 2.812 * * [simplify]: Extracting #1: cost 24 inf + 0 2.813 * * [simplify]: Extracting #2: cost 157 inf + 0 2.813 * * [simplify]: Extracting #3: cost 232 inf + 646 2.815 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.822 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.852 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.877 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.905 * [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.905 * [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.905 * * * * [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.905 * [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.906 * * [simplify]: iters left: 4 (14 enodes) 2.912 * * [simplify]: iters left: 3 (35 enodes) 2.924 * * [simplify]: iters left: 2 (74 enodes) 2.955 * * [simplify]: iters left: 1 (208 enodes) 3.051 * * [simplify]: Extracting #0: cost 1 inf + 0 3.051 * * [simplify]: Extracting #1: cost 24 inf + 0 3.051 * * [simplify]: Extracting #2: cost 157 inf + 0 3.052 * * [simplify]: Extracting #3: cost 232 inf + 646 3.057 * * [simplify]: Extracting #4: cost 277 inf + 15215 3.064 * * [simplify]: Extracting #5: cost 108 inf + 261189 3.080 * * [simplify]: Extracting #6: cost 10 inf + 467107 3.107 * * [simplify]: Extracting #7: cost 0 inf + 497790 3.137 * [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.137 * [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.137 * * * * [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.137 * [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.137 * * [simplify]: iters left: 4 (14 enodes) 3.143 * * [simplify]: iters left: 3 (35 enodes) 3.153 * * [simplify]: iters left: 2 (74 enodes) 3.180 * * [simplify]: iters left: 1 (208 enodes) 3.301 * * [simplify]: Extracting #0: cost 1 inf + 0 3.301 * * [simplify]: Extracting #1: cost 24 inf + 0 3.302 * * [simplify]: Extracting #2: cost 157 inf + 0 3.303 * * [simplify]: Extracting #3: cost 232 inf + 646 3.305 * * [simplify]: Extracting #4: cost 277 inf + 15215 3.317 * * [simplify]: Extracting #5: cost 108 inf + 261189 3.342 * * [simplify]: Extracting #6: cost 10 inf + 467107 3.373 * * [simplify]: Extracting #7: cost 0 inf + 497790 3.406 * [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.406 * [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.406 * * * [progress]: adding candidates to table 3.672 * [progress]: [Phase 3 of 3] Extracting. 3.673 * * [regime]: Finding splitpoints for: (#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 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 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)))))> # # # #) 3.676 * * * [regime-changes]: Trying 4 branch expressions: (y.im x.re y.re x.im) 3.676 * * * * [regimes]: Trying to branch on y.im from (#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 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 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)))))> # # # #) 3.843 * * * * [regimes]: Trying to branch on x.re from (#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 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 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)))))> # # # #) 3.989 * * * * [regimes]: Trying to branch on y.re from (#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 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 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)))))> # # # #) 4.203 * * * * [regimes]: Trying to branch on x.im from (#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 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 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)))))> # # # #) 4.433 * * * [regime]: Found split indices: #