Time bar (total: 11.8s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 100% | 0% | 0 |
| 0% | 100% | 0% | 1 |
| 0% | 100% | 0% | 2 |
| 50% | 50% | 0% | 3 |
| 50% | 50% | 0% | 4 |
| 50% | 50% | 0% | 5 |
| 81.2% | 18.7% | 0% | 6 |
| 100% | 0% | 0% | 7 |
Compiled 175 to 47 computations (73.1% saved)
| 1.9s | 8256× | body | 128 | valid |
Compiled 524 to 140 computations (73.3% saved)
| 1× | egg-herbie |
| 755× | unswap-sqr_binary64 |
| 705× | fma-def_binary64 |
| 691× | distribute-rgt-out_binary64 |
| 576× | +-commutative_binary64 |
| 488× | *-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 256 |
| 1 | 133 | 150 |
| 2 | 549 | 101 |
| 3 | 2427 | 90 |
| 4 | 3705 | 84 |
| 5 | 4529 | 84 |
| 6 | 4874 | 84 |
| 7 | 5887 | 84 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| 27.3b | (*.f64 x (/.f64 (fma.f64 1789971/10000000000 (pow.f64 x 10) (fma.f64 2532017/5000000000 (pow.f64 x 8) (fma.f64 36322091/5000000000 (pow.f64 x 6) (fma.f64 106015151/2500000000 (pow.f64 x 4) (fma.f64 1049934947/10000000000 (*.f64 x x) 1))))) (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 (pow.f64 x 10) 1665589/2000000000 (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))))) | |
| ▶ | 27.3b | (*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x) |
Compiled 704 to 274 computations (61.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| ✓ | 0.3b | (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| ✓ | 13.0b | (*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x) |
| ✓ | 26.5b | (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
4 calls:
| 14.0ms | (*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x) |
| 9.0ms | (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
| 4.0ms | (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| 4.0ms | (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| 1× | rewrite-expression-head |
| 717× | add-cbrt-cube_binary64 |
| 717× | add-exp-log_binary64 |
| 712× | pow1_binary64 |
| 614× | cbrt-unprod_binary64 |
| 614× | prod-exp_binary64 |
4 calls:
| 540.0ms | (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| 505.0ms | (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))) |
| 105.0ms | (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
| 74.0ms | (*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x) |
| 1× | egg-herbie |
| 571× | associate-*r*_binary64 |
| 538× | associate-*l*_binary64 |
| 455× | fma-neg_binary64 |
| 215× | unswap-sqr_binary64 |
| 195× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 606 | 17619 |
| 1 | 819 | 10154 |
| 2 | 3441 | 10147 |
| 3 | 4983 | 10147 |
| 4 | 4958 | 10147 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 382 | 2 | 384 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 384 | 2 | 386 |
| Status | Error | Program |
| ▶ | 27.3b | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| 33.6b | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
Compiled 74337 to 19595 computations (73.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 2.6b | (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
| ✓ | 13.0b | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| ✓ | 20.6b | (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))) |
| ✓ | 24.8b | (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) |
4 calls:
| 16.0ms | (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))) |
| 12.0ms | (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
| 9.0ms | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| 9.0ms | (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) |
| 1× | rewrite-expression-head |
| 526× | times-frac_binary64 |
| 306× | add-sqr-sqrt_binary64 |
| 281× | *-un-lft-identity_binary64 |
| 281× | add-cube-cbrt_binary64 |
| 272× | sqrt-prod_binary64 |
4 calls:
| 40.0ms | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| 33.0ms | (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) |
| 26.0ms | (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) |
| 3.0ms | (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))) |
| 1× | egg-herbie |
| 371× | fma-neg_binary64 |
| 321× | *-commutative_binary64 |
| 287× | associate-*r*_binary64 |
| 269× | associate-*l*_binary64 |
| 267× | associate-/r/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 563 | 72771 |
| 1 | 1436 | 63219 |
| 2 | 4602 | 63217 |
| 3 | 4915 | 63217 |
2 alts after pruning (1 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 619 | 0 | 619 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 619 | 2 | 621 |
| Status | Error | Program |
| ✓ | 27.3b | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| ▶ | 33.6b | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
Compiled 123615 to 67034 computations (45.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
| ✓ | 0.4b | (/.f64 600041/2386628 (pow.f64 x 3)) |
2 calls:
| 3.0ms | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
| 3.0ms | (/.f64 600041/2386628 (pow.f64 x 3)) |
| 1× | rewrite-expression-head |
| 47× | times-frac_binary64 |
| 40× | *-un-lft-identity_binary64 |
| 34× | add-sqr-sqrt_binary64 |
| 34× | add-cube-cbrt_binary64 |
| 13× | fma-def_binary64 |
2 calls:
| 23.0ms | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
| 6.0ms | (/.f64 600041/2386628 (pow.f64 x 3)) |
| 1× | egg-herbie |
| 683× | associate-*l*_binary64 |
| 353× | associate-/l*_binary64 |
| 342× | associate-*r/_binary64 |
| 342× | associate-*l/_binary64 |
| 272× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 129 | 1319 |
| 1 | 242 | 1280 |
| 2 | 965 | 1242 |
| 3 | 4706 | 1242 |
| 4 | 4947 | 1242 |
2 alts after pruning (0 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 112 | 0 | 112 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 112 | 2 | 114 |
| Status | Error | Program |
| ✓ | 27.3b | (*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x) |
| ✓ | 33.6b | (+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3))) |
Compiled 1966 to 1489 computations (24.3% saved)
Total -0.0b remaining (-10.4%)
Threshold costs -0.0b (-10.4%)
Compiled 19278 to 13290 computations (31.1% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 3 | 2.7052058842937174e-11 | 859199.6711708462 | 7337.244956243336 |
| 4 | -29461113174.98556 | -3604731.7552016075 | -188524467.3595718 |
Compiled 2 to 1 computations (50% saved)
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
| 1× | +-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 116 |
| 1 | 58 | 116 |
| 2 | 57 | 116 |
Compiled 311 to 203 computations (34.7% saved)
Loading profile data...