Time bar (total: 10.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 99.9% | 0.1% | 5 |
| 6.2% | 74.9% | 18.9% | 6 |
| 9.4% | 71.8% | 18.9% | 7 |
| 14% | 64% | 22% | 8 |
| 20.3% | 46.8% | 32.9% | 9 |
| 22.6% | 44.5% | 32.9% | 10 |
| 27.7% | 37.1% | 35.3% | 11 |
| 32% | 26.9% | 41.1% | 12 |
| 34% | 24.9% | 41.1% | 13 |
| 37.5% | 20% | 42.5% | 14 |
Compiled 41 to 24 computations (41.5% saved)
| 2.5s | 7797× | body | 256 | valid |
| 207.0ms | 1196× | body | 128 | invalid |
| 84.0ms | 459× | body | 128 | valid |
Compiled 82 to 48 computations (41.5% saved)
| 2× | egg-herbie |
| 371× | fma-def_binary64 |
| 300× | associate-/l*_binary64 |
| 260× | distribute-rgt-in_binary64 |
| 256× | times-frac_binary64 |
| 255× | div-sub_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 54 | 208 |
| 1 | 165 | 200 |
| 2 | 545 | 200 |
| 3 | 1762 | 192 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
Compiled 40 to 23 computations (42.5% saved)
| 1× | egg-herbie |
| 725× | fma-neg_binary64 |
| 355× | fma-def_binary64 |
| 203× | distribute-rgt-in_binary64 |
| 194× | associate-/l*_binary64 |
| 192× | div-sub_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 52 |
| 1 | 54 | 50 |
| 2 | 154 | 50 |
| 3 | 478 | 48 |
| 4 | 1279 | 48 |
| 5 | 2581 | 48 |
| 6 | 3823 | 48 |
| 1× | node limit |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 37.7b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) |
Compiled 139 to 70 computations (49.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) |
| ✓ | 8.1b | (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) |
| ✓ | 9.3b | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) |
| ✓ | 30.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
30 calls:
| 45.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | h | 0 |
| 26.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | g | inf |
| 26.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | g | 0 |
| 20.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | h | -inf |
| 19.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | h | inf |
| 1× | batch-egg-rewrite |
| 196× | add-sqr-sqrt_binary64 |
| 189× | add-cbrt-cube_binary64 |
| 189× | log1p-expm1-u_binary64 |
| 189× | expm1-log1p-u_binary64 |
| 185× | add-cube-cbrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 68 |
| 1 | 408 | 68 |
| 1× | node limit |
| 1× | egg-herbie |
| 854× | times-frac_binary64 |
| 533× | cancel-sign-sub-inv_binary64 |
| 274× | fma-neg_binary64 |
| 184× | associate-*r*_binary64 |
| 138× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 200 | 2269 |
| 1 | 639 | 2190 |
| 2 | 2329 | 2168 |
| 1× | node limit |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 284 | 14 | 298 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 285 | 14 | 299 |
| Status | Error | Program |
| 44.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2)))) | |
| 52.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 45.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a)))) | |
| 47.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) (/.f64 -1/2 a)))) | |
| ▶ | 35.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) |
| 37.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3)) | |
| 35.7b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 35.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 43.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 46.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 54.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 41.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 42.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 42.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) |
Compiled 13955 to 6758 computations (51.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.6b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 9.3b | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) | |
| 30.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
6 calls:
| 4.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | g | -inf |
| 2.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | g | 0 |
| 2.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | g | inf |
| 2.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | h | 0 |
| 1.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | h | -inf |
| 1× | batch-egg-rewrite |
| 693× | fma-def_binary64 |
| 336× | fma-neg_binary64 |
| 164× | expm1-udef_binary64 |
| 164× | log1p-udef_binary64 |
| 149× | log-pow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 189 | 15 |
| 2 | 2820 | 14 |
| 1× | node limit |
| 1× | egg-herbie |
| 521× | fma-neg_binary64 |
| 463× | times-frac_binary64 |
| 439× | distribute-neg-frac_binary64 |
| 231× | associate-/r*_binary64 |
| 229× | associate-/l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 575 |
| 1 | 228 | 557 |
| 2 | 705 | 547 |
| 3 | 3695 | 543 |
| 1× | node limit |
17 alts after pruning (17 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 350 | 8 | 358 |
| Fresh | 4 | 9 | 13 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 355 | 17 | 372 |
| Status | Error | Program |
| 44.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2)))) | |
| ▶ | 33.5b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 52.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 38.0b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 44.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) (/.f64 -1/2 a)))) | |
| 54.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 44.9b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 41.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 41.2b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 37.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3)) | |
| 42.8b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 39.8b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 46.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 42.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 42.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 45.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a)))) | |
| 33.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a)))) |
Compiled 16423 to 7599 computations (53.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.4b | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
| 1.6b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 30.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
6 calls:
| 2.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | g | inf |
| 2.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | h | 0 |
| 2.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | g | 0 |
| 2.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | g | -inf |
| 1.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | h | -inf |
| 1× | batch-egg-rewrite |
| 747× | fma-def_binary64 |
| 325× | fma-neg_binary64 |
| 166× | expm1-udef_binary64 |
| 166× | log1p-udef_binary64 |
| 150× | log-pow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 190 | 15 |
| 2 | 2816 | 14 |
| 1× | node limit |
| 1× | egg-herbie |
| 447× | distribute-neg-frac_binary64 |
| 443× | times-frac_binary64 |
| 231× | associate-/l*_binary64 |
| 229× | fma-def_binary64 |
| 215× | associate-/r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 618 |
| 1 | 257 | 598 |
| 2 | 841 | 584 |
| 3 | 4127 | 584 |
| 1× | node limit |
21 alts after pruning (21 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 446 | 10 | 456 |
| Fresh | 5 | 11 | 16 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 452 | 21 | 473 |
| Status | Error | Program |
| 44.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2)))) | |
| 52.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 42.8b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 57.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 44.3b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) -1/2)) (cbrt.f64 a))) | |
| 46.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 40.1b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 43.2b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a))) | |
| 38.0b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 54.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 61.1b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h))))))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 40.4b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a))) | |
| 41.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| ▶ | 33.5b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 42.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 52.2b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h))))))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 50.0b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 45.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a)))) | |
| 51.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h)))) g) 3)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 42.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 33.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a)))) |
Compiled 20642 to 8773 computations (57.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| ✓ | 3.5b | (fma.f64 g g (*.f64 h (neg.f64 h))) |
| ✓ | 30.6b | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) |
| 30.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
12 calls:
| 3.0ms | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) | g | -inf |
| 3.0ms | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) | g | 0 |
| 2.0ms | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) | h | -inf |
| 2.0ms | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) | h | inf |
| 2.0ms | (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) | g | inf |
| 1× | batch-egg-rewrite |
| 486× | log1p-expm1-u_binary64 |
| 486× | expm1-log1p-u_binary64 |
| 379× | unpow-prod-down_binary64 |
| 263× | log-prod_binary64 |
| 145× | pow2_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 22 |
| 1 | 142 | 11 |
| 2 | 1743 | 11 |
| 1× | node limit |
| 1× | egg-herbie |
| 976× | fma-neg_binary64 |
| 685× | times-frac_binary64 |
| 307× | associate-/l*_binary64 |
| 290× | associate-/r*_binary64 |
| 193× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 878 |
| 1 | 240 | 868 |
| 2 | 801 | 848 |
| 3 | 4812 | 848 |
| 1× | node limit |
19 alts after pruning (19 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 284 | 6 | 290 |
| Fresh | 7 | 13 | 20 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 292 | 19 | 311 |
| Status | Error | Program |
| 44.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2)))) | |
| 52.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 43.2b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a))) | |
| 39.9b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 g h))) 2) 3) (cbrt.f64 (hypot.f64 g h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 44.3b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) -1/2)) (cbrt.f64 a))) | |
| 46.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 41.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 38.7b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 40.4b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a))) | |
| 50.0b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 40.3b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 45.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a)))) | |
| 35.9b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 g h))) (pow.f64 (*.f64 (sqrt.f64 (hypot.f64 g h)) (hypot.f64 g h)) 1/2)) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 33.6b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a)))) | |
| 42.8b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 36.7b | (+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (sqrt.f64 (hypot.f64 g h)) 2) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 54.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) | |
| 42.9b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))) | |
| 42.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) |
Compiled 13108 to 5868 computations (55.2% saved)
Total 1.7b remaining (5.4%)
Threshold costs 0b (0%)
Compiled 46003 to 29185 computations (36.6% saved)
| 1× | egg-herbie |
| 7× | +-commutative_binary64 |
| 6× | *-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 52 |
| 1 | 39 | 52 |
| 2 | 47 | 52 |
| 3 | 52 | 52 |
| 4 | 54 | 52 |
| 1× | saturated |
| 1× | fuel |
Compiled 798 to 488 computations (38.8% saved)
Loading profile data...