0.003 * [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.009 * * * * [points]: Setting MPFR precision to 320 0.011 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.012 * * * * [points]: Setting MPFR precision to 64 0.013 * * * * [points]: Setting MPFR precision to 320 0.015 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.016 * * * * [points]: Setting MPFR precision to 64 0.020 * * * * [points]: Setting MPFR precision to 320 0.023 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.024 * * * * [points]: Setting MPFR precision to 64 0.030 * * * * [points]: Setting MPFR precision to 320 0.036 * * * * [points]: Computing exacts for 256 points 0.037 * * * * [points]: Setting MPFR precision to 64 0.069 * * * * [points]: Setting MPFR precision to 320 0.089 * * * * [points]: Filtering points with unrepresentable outputs 0.090 * * * * [points]: Sampled 256 points with exact outputs 0.090 * * * [progress]: [2/2] Setting up program. 0.096 * [progress]: [Phase 2 of 3] Improving. 0.096 * * * * [progress]: [ 1 / 1 ] simplifiying candidate # 0.097 * [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.097 * * [simplify]: iters left: 3 (11 enodes) 0.100 * * [simplify]: iters left: 2 (29 enodes) 0.105 * * [simplify]: iters left: 1 (57 enodes) 0.115 * * [simplify]: Extracting #0: cost 1 inf + 0 0.115 * * [simplify]: Extracting #1: cost 10 inf + 0 0.115 * * [simplify]: Extracting #2: cost 31 inf + 0 0.115 * * [simplify]: Extracting #3: cost 44 inf + 0 0.115 * * [simplify]: Extracting #4: cost 58 inf + 647 0.116 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.117 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.119 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.121 * [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.121 * [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.127 * * [progress]: iteration 1 / 4 0.127 * * * [progress]: picking best candidate 0.132 * * * * [pick]: Picked # 0.132 * * * [progress]: localizing error 0.272 * * * [progress]: generating rewritten candidates 0.272 * * * * [progress]: [ 1 / 3 ] rewriting at (2) 0.274 * * * * [progress]: [ 2 / 3 ] rewriting at (2 1) 0.276 * * * * [progress]: [ 3 / 3 ] rewriting at (2 2) 0.280 * * * [progress]: generating series expansions 0.280 * * * * [progress]: [ 1 / 3 ] generating series at (2) 0.280 * * * * [progress]: [ 2 / 3 ] generating series at (2 1) 0.281 * * * * [progress]: [ 3 / 3 ] generating series at (2 2) 0.281 * * * [progress]: simplifying candidates 0.281 * * * * [progress]: [ 1 / 7 ] simplifiying candidate # 0.281 * [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.281 * * [simplify]: iters left: 3 (9 enodes) 0.290 * * [simplify]: iters left: 2 (37 enodes) 0.296 * * [simplify]: iters left: 1 (90 enodes) 0.316 * * [simplify]: Extracting #0: cost 1 inf + 0 0.316 * * [simplify]: Extracting #1: cost 21 inf + 0 0.316 * * [simplify]: Extracting #2: cost 55 inf + 0 0.316 * * [simplify]: Extracting #3: cost 88 inf + 2654 0.317 * * [simplify]: Extracting #4: cost 69 inf + 28908 0.322 * * [simplify]: Extracting #5: cost 2 inf + 127256 0.326 * * [simplify]: Extracting #6: cost 0 inf + 129622 0.331 * [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.331 * [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.331 * * * * [progress]: [ 2 / 7 ] simplifiying candidate # 0.331 * * * * [progress]: [ 3 / 7 ] simplifiying candidate # 0.331 * * * * [progress]: [ 4 / 7 ] simplifiying candidate # 0.331 * * * * [progress]: [ 5 / 7 ] simplifiying candidate # 0.332 * [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.332 * * [simplify]: iters left: 3 (11 enodes) 0.335 * * [simplify]: iters left: 2 (29 enodes) 0.340 * * [simplify]: iters left: 1 (57 enodes) 0.351 * * [simplify]: Extracting #0: cost 1 inf + 0 0.351 * * [simplify]: Extracting #1: cost 10 inf + 0 0.351 * * [simplify]: Extracting #2: cost 31 inf + 0 0.351 * * [simplify]: Extracting #3: cost 44 inf + 0 0.351 * * [simplify]: Extracting #4: cost 58 inf + 647 0.352 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.353 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.355 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.357 * [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.357 * [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.357 * * * * [progress]: [ 6 / 7 ] simplifiying candidate # 0.357 * [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.357 * * [simplify]: iters left: 3 (11 enodes) 0.360 * * [simplify]: iters left: 2 (29 enodes) 0.368 * * [simplify]: iters left: 1 (57 enodes) 0.378 * * [simplify]: Extracting #0: cost 1 inf + 0 0.378 * * [simplify]: Extracting #1: cost 10 inf + 0 0.378 * * [simplify]: Extracting #2: cost 31 inf + 0 0.378 * * [simplify]: Extracting #3: cost 44 inf + 0 0.379 * * [simplify]: Extracting #4: cost 58 inf + 647 0.379 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.381 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.383 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.384 * [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.384 * [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.384 * * * * [progress]: [ 7 / 7 ] simplifiying candidate # 0.385 * [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.385 * * [simplify]: iters left: 3 (11 enodes) 0.387 * * [simplify]: iters left: 2 (29 enodes) 0.392 * * [simplify]: iters left: 1 (57 enodes) 0.402 * * [simplify]: Extracting #0: cost 1 inf + 0 0.402 * * [simplify]: Extracting #1: cost 10 inf + 0 0.403 * * [simplify]: Extracting #2: cost 31 inf + 0 0.403 * * [simplify]: Extracting #3: cost 44 inf + 0 0.403 * * [simplify]: Extracting #4: cost 58 inf + 647 0.403 * * [simplify]: Extracting #5: cost 32 inf + 21623 0.405 * * [simplify]: Extracting #6: cost 1 inf + 63920 0.407 * * [simplify]: Extracting #7: cost 0 inf + 65284 0.409 * [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.409 * [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.409 * * * [progress]: adding candidates to table 0.482 * * [progress]: iteration 2 / 4 0.482 * * * [progress]: picking best candidate 0.494 * * * * [pick]: Picked # 0.494 * * * [progress]: localizing error 0.732 * * * [progress]: generating rewritten candidates 0.732 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 0.739 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 0.748 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2) 0.751 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 2) 0.758 * * * [progress]: generating series expansions 0.758 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 0.758 * * * * [progress]: [ 2 / 4 ] generating series at (2) 0.758 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2) 0.758 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 2) 0.758 * * * [progress]: simplifying candidates 0.758 * * * * [progress]: [ 1 / 11 ] simplifiying candidate # 0.759 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 0.759 * * [simplify]: iters left: 2 (7 enodes) 0.760 * * [simplify]: iters left: 1 (18 enodes) 0.762 * * [simplify]: Extracting #0: cost 1 inf + 0 0.762 * * [simplify]: Extracting #1: cost 3 inf + 0 0.762 * * [simplify]: Extracting #2: cost 7 inf + 0 0.763 * * [simplify]: Extracting #3: cost 2 inf + 326 0.763 * * [simplify]: Extracting #4: cost 0 inf + 1332 0.763 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 0.763 * [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)))) 0.763 * * * * [progress]: [ 2 / 11 ] simplifiying candidate # 0.763 * [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)))) 0.763 * * [simplify]: iters left: 4 (11 enodes) 0.766 * * [simplify]: iters left: 3 (47 enodes) 0.780 * * [simplify]: iters left: 2 (143 enodes) 0.821 * * [simplify]: Extracting #0: cost 1 inf + 0 0.821 * * [simplify]: Extracting #1: cost 25 inf + 0 0.821 * * [simplify]: Extracting #2: cost 73 inf + 0 0.822 * * [simplify]: Extracting #3: cost 142 inf + 2332 0.824 * * [simplify]: Extracting #4: cost 134 inf + 55820 0.831 * * [simplify]: Extracting #5: cost 28 inf + 228590 0.840 * * [simplify]: Extracting #6: cost 1 inf + 283752 0.853 * * [simplify]: Extracting #7: cost 0 inf + 287356 0.864 * [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)))) 0.864 * [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)))) 0.864 * * * * [progress]: [ 3 / 11 ] simplifiying candidate # 0.864 * [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.864 * * [simplify]: iters left: 3 (9 enodes) 0.866 * * [simplify]: iters left: 2 (37 enodes) 0.873 * * [simplify]: iters left: 1 (90 enodes) 0.892 * * [simplify]: Extracting #0: cost 1 inf + 0 0.892 * * [simplify]: Extracting #1: cost 21 inf + 0 0.892 * * [simplify]: Extracting #2: cost 55 inf + 0 0.893 * * [simplify]: Extracting #3: cost 88 inf + 2654 0.894 * * [simplify]: Extracting #4: cost 69 inf + 28908 0.898 * * [simplify]: Extracting #5: cost 2 inf + 127256 0.902 * * [simplify]: Extracting #6: cost 0 inf + 129622 0.907 * [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.907 * [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.907 * * * * [progress]: [ 4 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 5 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 6 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 7 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 8 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 9 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 10 / 11 ] simplifiying candidate # 0.907 * * * * [progress]: [ 11 / 11 ] simplifiying candidate # 0.907 * * * [progress]: adding candidates to table 1.027 * * [progress]: iteration 3 / 4 1.028 * * * [progress]: picking best candidate 1.058 * * * * [pick]: Picked # 1.058 * * * [progress]: localizing error 1.253 * * * [progress]: generating rewritten candidates 1.253 * * * * [progress]: [ 1 / 4 ] rewriting at (2) 1.257 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 1.258 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 2 1) 1.263 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1) 1.270 * * * [progress]: generating series expansions 1.270 * * * * [progress]: [ 1 / 4 ] generating series at (2) 1.270 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 1.270 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 2 1) 1.270 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1) 1.270 * * * [progress]: simplifying candidates 1.270 * * * * [progress]: [ 1 / 9 ] simplifiying candidate # 1.271 * [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.271 * * [simplify]: iters left: 3 (8 enodes) 1.275 * * [simplify]: iters left: 2 (21 enodes) 1.282 * * [simplify]: iters left: 1 (22 enodes) 1.289 * * [simplify]: Extracting #0: cost 1 inf + 0 1.289 * * [simplify]: Extracting #1: cost 3 inf + 0 1.289 * * [simplify]: Extracting #2: cost 4 inf + 1 1.289 * * [simplify]: Extracting #3: cost 7 inf + 2 1.289 * * [simplify]: Extracting #4: cost 2 inf + 328 1.289 * * [simplify]: Extracting #5: cost 0 inf + 1334 1.289 * [simplify]: Simplified to (real->posit16 1.0) 1.290 * [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.290 * * * * [progress]: [ 2 / 9 ] simplifiying candidate # 1.290 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.290 * * [simplify]: iters left: 2 (7 enodes) 1.293 * * [simplify]: iters left: 1 (18 enodes) 1.298 * * [simplify]: Extracting #0: cost 1 inf + 0 1.298 * * [simplify]: Extracting #1: cost 3 inf + 0 1.298 * * [simplify]: Extracting #2: cost 7 inf + 0 1.298 * * [simplify]: Extracting #3: cost 2 inf + 326 1.298 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.298 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.298 * [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.298 * * * * [progress]: [ 3 / 9 ] simplifiying candidate # 1.299 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.299 * * [simplify]: iters left: 2 (7 enodes) 1.302 * * [simplify]: iters left: 1 (18 enodes) 1.306 * * [simplify]: Extracting #0: cost 1 inf + 0 1.307 * * [simplify]: Extracting #1: cost 3 inf + 0 1.307 * * [simplify]: Extracting #2: cost 7 inf + 0 1.307 * * [simplify]: Extracting #3: cost 2 inf + 326 1.307 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.307 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.307 * [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.307 * * * * [progress]: [ 4 / 9 ] simplifiying candidate # 1.307 * * * * [progress]: [ 5 / 9 ] simplifiying candidate # 1.307 * * * * [progress]: [ 6 / 9 ] simplifiying candidate # 1.308 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.308 * * [simplify]: iters left: 2 (7 enodes) 1.310 * * [simplify]: iters left: 1 (18 enodes) 1.315 * * [simplify]: Extracting #0: cost 1 inf + 0 1.315 * * [simplify]: Extracting #1: cost 3 inf + 0 1.315 * * [simplify]: Extracting #2: cost 7 inf + 0 1.315 * * [simplify]: Extracting #3: cost 2 inf + 326 1.315 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.316 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.316 * [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.316 * * * * [progress]: [ 7 / 9 ] simplifiying candidate # 1.316 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.316 * * [simplify]: iters left: 2 (7 enodes) 1.319 * * [simplify]: iters left: 1 (18 enodes) 1.324 * * [simplify]: Extracting #0: cost 1 inf + 0 1.324 * * [simplify]: Extracting #1: cost 3 inf + 0 1.324 * * [simplify]: Extracting #2: cost 7 inf + 0 1.324 * * [simplify]: Extracting #3: cost 2 inf + 326 1.324 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.324 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.324 * [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.324 * * * * [progress]: [ 8 / 9 ] simplifiying candidate # 1.325 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.325 * * [simplify]: iters left: 2 (7 enodes) 1.328 * * [simplify]: iters left: 1 (18 enodes) 1.332 * * [simplify]: Extracting #0: cost 1 inf + 0 1.332 * * [simplify]: Extracting #1: cost 3 inf + 0 1.332 * * [simplify]: Extracting #2: cost 7 inf + 0 1.333 * * [simplify]: Extracting #3: cost 2 inf + 326 1.333 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.333 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.333 * [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.333 * * * * [progress]: [ 9 / 9 ] simplifiying candidate # 1.333 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.333 * * [simplify]: iters left: 2 (7 enodes) 1.336 * * [simplify]: iters left: 1 (18 enodes) 1.341 * * [simplify]: Extracting #0: cost 1 inf + 0 1.341 * * [simplify]: Extracting #1: cost 3 inf + 0 1.341 * * [simplify]: Extracting #2: cost 7 inf + 0 1.341 * * [simplify]: Extracting #3: cost 2 inf + 326 1.341 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.342 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.342 * [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.342 * * * [progress]: adding candidates to table 1.521 * * [progress]: iteration 4 / 4 1.521 * * * [progress]: picking best candidate 1.583 * * * * [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)))))> 1.583 * * * [progress]: localizing error 1.765 * * * [progress]: generating rewritten candidates 1.765 * * * * [progress]: [ 1 / 4 ] rewriting at (2 2) 1.768 * * * * [progress]: [ 2 / 4 ] rewriting at (2) 1.771 * * * * [progress]: [ 3 / 4 ] rewriting at (2 2 2) 1.773 * * * * [progress]: [ 4 / 4 ] rewriting at (2 2 1) 1.777 * * * [progress]: generating series expansions 1.777 * * * * [progress]: [ 1 / 4 ] generating series at (2 2) 1.777 * * * * [progress]: [ 2 / 4 ] generating series at (2) 1.777 * * * * [progress]: [ 3 / 4 ] generating series at (2 2 2) 1.777 * * * * [progress]: [ 4 / 4 ] generating series at (2 2 1) 1.777 * * * [progress]: simplifying candidates 1.777 * * * * [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)))))> 1.777 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.777 * * [simplify]: iters left: 2 (7 enodes) 1.779 * * [simplify]: iters left: 1 (18 enodes) 1.781 * * [simplify]: Extracting #0: cost 1 inf + 0 1.781 * * [simplify]: Extracting #1: cost 3 inf + 0 1.781 * * [simplify]: Extracting #2: cost 7 inf + 0 1.781 * * [simplify]: Extracting #3: cost 2 inf + 326 1.781 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.781 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.781 * [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))))) 1.782 * * * * [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))))> 1.782 * [simplify]: Simplifying (+.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.782 * * [simplify]: iters left: 2 (7 enodes) 1.784 * * [simplify]: iters left: 1 (18 enodes) 1.788 * * [simplify]: Extracting #0: cost 1 inf + 0 1.788 * * [simplify]: Extracting #1: cost 3 inf + 0 1.788 * * [simplify]: Extracting #2: cost 7 inf + 0 1.788 * * [simplify]: Extracting #3: cost 2 inf + 326 1.788 * * [simplify]: Extracting #4: cost 0 inf + 1332 1.788 * [simplify]: Simplified to (+.p16 (*.p16 y.im x.re) (*.p16 y.re x.im)) 1.788 * [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)))) 1.788 * * * * [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))))> 1.788 * [simplify]: Simplifying (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) 1.788 * * [simplify]: iters left: 2 (7 enodes) 1.790 * * [simplify]: iters left: 1 (24 enodes) 1.794 * * [simplify]: Extracting #0: cost 1 inf + 0 1.794 * * [simplify]: Extracting #1: cost 6 inf + 0 1.794 * * [simplify]: Extracting #2: cost 15 inf + 0 1.794 * * [simplify]: Extracting #3: cost 19 inf + 728 1.794 * * [simplify]: Extracting #4: cost 3 inf + 11524 1.794 * * [simplify]: Extracting #5: cost 0 inf + 15936 1.795 * [simplify]: Simplified to (-.p16 (*.p16 y.re x.im) (*.p16 y.im x.re)) 1.795 * [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)))) 1.795 * * * * [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))))))> 1.795 * * * * [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))))))> 1.795 * * * * [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)))))> 1.795 * * * * [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)))))> 1.795 * [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)))) 1.795 * * [simplify]: iters left: 4 (14 enodes) 1.798 * * [simplify]: iters left: 3 (35 enodes) 1.804 * * [simplify]: iters left: 2 (74 enodes) 1.819 * * [simplify]: iters left: 1 (208 enodes) 2.294 * * [simplify]: Extracting #0: cost 1 inf + 0 2.294 * * [simplify]: Extracting #1: cost 24 inf + 0 2.295 * * [simplify]: Extracting #2: cost 157 inf + 0 2.296 * * [simplify]: Extracting #3: cost 232 inf + 646 2.299 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.313 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.335 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.353 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.372 * [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.372 * [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.372 * * * * [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.372 * [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.372 * * [simplify]: iters left: 4 (14 enodes) 2.376 * * [simplify]: iters left: 3 (35 enodes) 2.384 * * [simplify]: iters left: 2 (74 enodes) 2.399 * * [simplify]: iters left: 1 (208 enodes) 2.475 * * [simplify]: Extracting #0: cost 1 inf + 0 2.475 * * [simplify]: Extracting #1: cost 24 inf + 0 2.475 * * [simplify]: Extracting #2: cost 157 inf + 0 2.476 * * [simplify]: Extracting #3: cost 232 inf + 646 2.478 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.486 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.510 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.531 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.556 * [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.556 * [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.556 * * * * [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.557 * [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.557 * * [simplify]: iters left: 4 (14 enodes) 2.563 * * [simplify]: iters left: 3 (35 enodes) 2.576 * * [simplify]: iters left: 2 (74 enodes) 2.596 * * [simplify]: iters left: 1 (208 enodes) 2.722 * * [simplify]: Extracting #0: cost 1 inf + 0 2.722 * * [simplify]: Extracting #1: cost 24 inf + 0 2.722 * * [simplify]: Extracting #2: cost 157 inf + 0 2.724 * * [simplify]: Extracting #3: cost 232 inf + 646 2.726 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.741 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.774 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.808 * * [simplify]: Extracting #7: cost 0 inf + 497790 2.843 * [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.843 * [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.843 * * * * [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)))))> 2.843 * [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.843 * * [simplify]: iters left: 4 (14 enodes) 2.850 * * [simplify]: iters left: 3 (35 enodes) 2.860 * * [simplify]: iters left: 2 (74 enodes) 2.875 * * [simplify]: iters left: 1 (208 enodes) 2.954 * * [simplify]: Extracting #0: cost 1 inf + 0 2.954 * * [simplify]: Extracting #1: cost 24 inf + 0 2.954 * * [simplify]: Extracting #2: cost 157 inf + 0 2.955 * * [simplify]: Extracting #3: cost 232 inf + 646 2.956 * * [simplify]: Extracting #4: cost 277 inf + 15215 2.964 * * [simplify]: Extracting #5: cost 108 inf + 261189 2.980 * * [simplify]: Extracting #6: cost 10 inf + 467107 2.998 * * [simplify]: Extracting #7: cost 0 inf + 497790 3.017 * [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.017 * [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.018 * * * [progress]: adding candidates to table 3.228 * [progress]: [Phase 3 of 3] Extracting. 3.228 * * [regime]: Finding splitpoints for: (# # #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 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 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.231 * * * [regime-changes]: Trying 4 branch expressions: (y.im x.re y.re x.im) 3.231 * * * * [regimes]: Trying to branch on y.im from (# # #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 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 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.434 * * * * [regimes]: Trying to branch on x.re from (# # #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 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 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.611 * * * * [regimes]: Trying to branch on y.re from (# # #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 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 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.777 * * * * [regimes]: Trying to branch on x.im from (# # #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 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 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.922 * * * [regime]: Found split indices: #