Time bar (total: 23.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 99.7% | 0.3% | 7 |
| 0% | 99.7% | 0.3% | 8 |
| 0% | 99.7% | 0.3% | 9 |
| 0% | 99.7% | 0.3% | 10 |
| 0% | 99.7% | 0.3% | 11 |
| 0% | 99.7% | 0.3% | 12 |
| 0.8% | 98.9% | 0.3% | 13 |
| 1.2% | 98.5% | 0.3% | 14 |
Compiled 44 to 31 computations (29.5% saved)
| 1.7s | 8256× | body | 128 | valid |
| 185.0ms | 916× | body | 128 | invalid |
Compiled 131 to 92 computations (29.8% saved)
| 1× | egg-herbie |
| 918× | distribute-rgt-in_binary64 |
| 850× | distribute-lft-in_binary64 |
| 677× | associate-/l*_binary64 |
| 676× | fma-def_binary64 |
| 633× | associate-+l+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 41 |
| 1 | 63 | 41 |
| 2 | 131 | 39 |
| 3 | 274 | 39 |
| 4 | 720 | 39 |
| 5 | 1843 | 39 |
| 6 | 2430 | 39 |
| 7 | 2851 | 39 |
| 8 | 3466 | 39 |
| 9 | 4132 | 39 |
| 10 | 4596 | 39 |
| 11 | 5138 | 39 |
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 |
| 31.4b | (+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z 313060547623/100000000000) 55833770631/5000000000) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z 15234687407/1000000000) z) 314690115749/10000000000) z) 119400905721/10000000000) z) 607771387771/1000000000000))) | |
| ▶ | 29.2b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
Compiled 228 to 150 computations (34.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| ✓ | 0.1b | (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) |
| ✓ | 0.1b | (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) |
| ✓ | 28.3b | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
4 calls:
| 1.0s | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 530.0ms | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
| 6.0ms | (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) |
| 2.0ms | (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) |
| 1× | rewrite-expression-head |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-sqr-sqrt_binary64 |
| 12× | add-cube-cbrt_binary64 |
| 9× | times-frac_binary64 |
| 6× | add-cbrt-cube_binary64 |
4 calls:
| 2.0ms | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
| 0.0ms | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 0.0ms | (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) |
| 0.0ms | (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) |
| 1× | egg-herbie |
| 467× | cancel-sign-sub-inv_binary64 |
| 316× | fma-def_binary64 |
| 302× | fma-neg_binary64 |
| 258× | associate-+r+_binary64 |
| 231× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 334 | 18719 |
| 1 | 870 | 18272 |
| 2 | 2858 | 15157 |
| 3 | 4757 | 15157 |
| 4 | 4955 | 15157 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 149 | 7 | 156 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 150 | 8 | 158 |
| Status | Error | Program |
| ▶ | 27.3b | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| ✓ | 29.2b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 31.2b | (fma.f64 y (fma.f64 1000000000000/607771387771 (fma.f64 a z b) (*.f64 b (*.f64 z -11940090572100000000000000/369386059793087248348441))) x) | |
| 29.1b | (fma.f64 y (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) | |
| 30.6b | (+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441)))) | |
| 29.4b | (fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 t (pow.f64 z 2)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 a z) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (*.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))))))) x) | |
| 30.6b | (-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z))) | |
| 29.1b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (+.f64 (fma.f64 (*.f64 z z) 15234687407/1000000000 (fma.f64 z 314690115749/10000000000 (pow.f64 z 3))) 119400905721/10000000000) 607771387771/1000000000000)) x) |
Compiled 7947 to 5139 computations (35.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 7.0b | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| ✓ | 7.1b | (/.f64 y (*.f64 z z)) |
| ✓ | 7.2b | (*.f64 (/.f64 y (pow.f64 z 3)) t) |
| ✓ | 7.7b | (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) |
4 calls:
| 388.0ms | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| 271.0ms | (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) |
| 62.0ms | (*.f64 (/.f64 y (pow.f64 z 3)) t) |
| 26.0ms | (/.f64 y (*.f64 z z)) |
| 1× | rewrite-expression-head |
| 253× | times-frac_binary64 |
| 207× | add-sqr-sqrt_binary64 |
| 198× | associate-+r+_binary64 |
| 194× | *-un-lft-identity_binary64 |
| 192× | add-cube-cbrt_binary64 |
4 calls:
| 26.0ms | (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) |
| 17.0ms | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| 10.0ms | (*.f64 (/.f64 y (pow.f64 z 3)) t) |
| 3.0ms | (/.f64 y (*.f64 z z)) |
| 1× | egg-herbie |
| 512× | fma-def_binary64 |
| 509× | times-frac_binary64 |
| 384× | distribute-rgt-in_binary64 |
| 341× | distribute-lft-in_binary64 |
| 255× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 931 | 26190 |
| 1 | 1941 | 22302 |
| 2 | 4703 | 22290 |
| 3 | 4985 | 22290 |
| 4 | 4945 | 22290 |
9 alts after pruning (7 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 652 | 1 | 653 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 652 | 9 | 661 |
| Status | Error | Program |
| ✓ | 27.3b | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| ✓ | 29.2b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 52.8b | (-.f64 (/.f64 (+.f64 (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z)))) (*.f64 (fma.f64 313060547623/100000000000 y x) (fma.f64 313060547623/100000000000 y x))) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (*.f64 (/.f64 t z) (/.f64 t z)) (*.f64 (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) | |
| 31.2b | (fma.f64 y (fma.f64 1000000000000/607771387771 (fma.f64 a z b) (*.f64 b (*.f64 z -11940090572100000000000000/369386059793087248348441))) x) | |
| ▶ | 29.1b | (fma.f64 y (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| 30.6b | (+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441)))) | |
| 29.4b | (fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 t (pow.f64 z 2)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 a z) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (*.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))))))) x) | |
| 30.6b | (-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z))) | |
| 29.1b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (+.f64 (fma.f64 (*.f64 z z) 15234687407/1000000000 (fma.f64 z 314690115749/10000000000 (pow.f64 z 3))) 119400905721/10000000000) 607771387771/1000000000000)) x) |
Compiled 48860 to 23885 computations (51.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) | |
| ✓ | 10.9b | (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
| ✓ | 15.0b | (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| ✓ | 25.0b | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
3 calls:
| 498.0ms | (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 463.0ms | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 6.0ms | (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
| 1× | rewrite-expression-head |
| 276× | times-frac_binary64 |
| 157× | add-sqr-sqrt_binary64 |
| 156× | *-un-lft-identity_binary64 |
| 156× | add-cube-cbrt_binary64 |
| 147× | sqrt-prod_binary64 |
3 calls:
| 8.0ms | (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 3.0ms | (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 1.0ms | (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
| 1× | egg-herbie |
| 733× | times-frac_binary64 |
| 367× | fma-def_binary64 |
| 250× | associate-/l/_binary64 |
| 229× | associate-+r+_binary64 |
| 220× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 480 | 30897 |
| 1 | 1286 | 29174 |
| 2 | 3770 | 28106 |
| 3 | 4972 | 28106 |
10 alts after pruning (7 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 386 | 3 | 389 |
| Fresh | 2 | 4 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 388 | 10 | 398 |
| Status | Error | Program |
| 52.8b | (-.f64 (/.f64 (+.f64 (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z)))) (*.f64 (fma.f64 313060547623/100000000000 y x) (fma.f64 313060547623/100000000000 y x))) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (*.f64 (/.f64 t z) (/.f64 t z)) (*.f64 (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) | |
| ▶ | 24.2b | (fma.f64 y (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| ✓ | 27.3b | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| ✓ | 29.2b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 29.4b | (fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (+.f64 (/.f64 (*.f64 t (*.f64 z z)) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (/.f64 (*.f64 a z) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))))))) x) | |
| ✓ | 29.1b | (fma.f64 y (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| 30.6b | (+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441)))) | |
| 30.6b | (-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z))) | |
| 27.9b | (fma.f64 y (/.f64 (fma.f64 a (*.f64 (sqrt.f64 1000000000000/607771387771) z) (fma.f64 (sqrt.f64 1000000000000/607771387771) b (*.f64 (/.f64 (*.f64 b z) (sqrt.f64 1000000000000/607771387771)) -5970045286050000000000000/369386059793087248348441))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) | |
| 29.1b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (+.f64 (fma.f64 (*.f64 z z) 15234687407/1000000000 (fma.f64 z 314690115749/10000000000 (pow.f64 z 3))) 119400905721/10000000000) 607771387771/1000000000000)) x) |
Compiled 27521 to 17892 computations (35% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) | |
| ✓ | 0.8b | (fma.f64 y (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| ✓ | 4.2b | (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 10.9b | (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) |
2 calls:
| 403.0ms | (fma.f64 y (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| 216.0ms | (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 1× | rewrite-expression-head |
| 7× | add-cbrt-cube_binary64 |
| 7× | add-exp-log_binary64 |
| 6× | associate-/r*_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | sqrt-prod_binary64 |
2 calls:
| 4.0ms | (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) |
| 0.0ms | (fma.f64 y (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| 1× | egg-herbie |
| 667× | times-frac_binary64 |
| 623× | fma-def_binary64 |
| 331× | fma-neg_binary64 |
| 286× | associate-/r/_binary64 |
| 277× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 200 | 4178 |
| 1 | 540 | 3946 |
| 2 | 1860 | 3730 |
| 3 | 4848 | 3726 |
| 4 | 5022 | 3726 |
10 alts after pruning (6 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 138 | 0 | 138 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 138 | 10 | 148 |
| Status | Error | Program |
| 52.8b | (-.f64 (/.f64 (+.f64 (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z)))) (*.f64 (fma.f64 313060547623/100000000000 y x) (fma.f64 313060547623/100000000000 y x))) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (*.f64 (/.f64 t z) (/.f64 t z)) (*.f64 (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))))) (*.f64 (-.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (+.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) | |
| ✓ | 24.2b | (fma.f64 y (/.f64 (*.f64 (sqrt.f64 1000000000000/607771387771) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| ✓ | 27.3b | (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 a z))) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (*.f64 15234687407/1000000000 (*.f64 (/.f64 y (pow.f64 z 3)) t)))) |
| ✓ | 29.2b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x) |
| 29.4b | (fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (+.f64 (/.f64 (*.f64 t (*.f64 z z)) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))) (/.f64 (*.f64 a z) (+.f64 607771387771/1000000000000 (fma.f64 (*.f64 z z) 314690115749/10000000000 (+.f64 (pow.f64 z 4) (fma.f64 z 119400905721/10000000000 (*.f64 (pow.f64 z 3) 15234687407/1000000000)))))))))) x) | |
| ✓ | 29.1b | (fma.f64 y (/.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) |
| 30.6b | (+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441)))) | |
| 30.6b | (-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z))) | |
| 27.9b | (fma.f64 y (/.f64 (fma.f64 a (*.f64 (sqrt.f64 1000000000000/607771387771) z) (fma.f64 (sqrt.f64 1000000000000/607771387771) b (*.f64 (/.f64 (*.f64 b z) (sqrt.f64 1000000000000/607771387771)) -5970045286050000000000000/369386059793087248348441))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) x) | |
| 29.1b | (fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (+.f64 (fma.f64 (*.f64 z z) 15234687407/1000000000 (fma.f64 z 314690115749/10000000000 (pow.f64 z 3))) 119400905721/10000000000) 607771387771/1000000000000)) x) |
Compiled 4543 to 3137 computations (30.9% saved)
Total 0.8b remaining (93.2%)
Threshold costs 0.8b (93.2%)
Compiled 121152 to 82900 computations (31.6% saved)
Compiled 41 to 29 computations (29.3% saved)
| 1× | egg-herbie |
| 19× | +-commutative_binary64 |
| 15× | *-commutative_binary64 |
| 6× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 84 | 299 |
| 1 | 115 | 299 |
| 2 | 129 | 299 |
| 3 | 135 | 299 |
| 4 | 138 | 299 |
| 5 | 137 | 299 |
Compiled 986 to 622 computations (36.9% saved)
Loading profile data...