Time bar (total: 8.8s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 99.8% | 0.2% | 7 |
| 0% | 74.9% | 25.1% | 8 |
| 6.2% | 68.6% | 25.1% | 9 |
| 7.8% | 67.1% | 25.1% | 10 |
| 10.1% | 64.7% | 25.1% | 11 |
| 14.8% | 47.6% | 37.6% | 12 |
| 15.8% | 36.8% | 47.4% | 13 |
| 16.6% | 35.1% | 48.3% | 14 |
Compiled 22 to 17 computations (22.7% saved)
| 1.6s | 11100× | body | 128 | invalid |
| 1.2s | 8256× | body | 128 | valid |
Compiled 65 to 50 computations (23.1% saved)
| 1× | egg-herbie |
| 519× | fma-def_binary64 |
| 314× | associate-*l*_binary64 |
| 304× | *-commutative_binary64 |
| 272× | fma-neg_binary64 |
| 248× | unswap-sqr_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 25 |
| 1 | 29 | 25 |
| 2 | 52 | 25 |
| 3 | 116 | 25 |
| 4 | 286 | 25 |
| 5 | 632 | 25 |
| 6 | 1793 | 25 |
| 7 | 3725 | 25 |
| 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 |
| ▶ | 0.3b | (*.f64 (-.f64 (*.f64 x 1/2) y) (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
Compiled 77 to 57 computations (26% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| ✓ | 0.3b | (*.f64 (-.f64 (*.f64 x 1/2) y) (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
2 calls:
| 159.0ms | (*.f64 (-.f64 (*.f64 x 1/2) y) (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
| 21.0ms | (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| 1× | batch-egg-rewrite |
| 571× | prod-diff_binary64 |
| 161× | add-sqr-sqrt_binary64 |
| 153× | log1p-expm1-u_binary64 |
| 153× | expm1-log1p-u_binary64 |
| 151× | add-cbrt-cube_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 41 |
| 1 | 333 | 37 |
| 2 | 4103 | 37 |
| 1× | node limit |
2 calls:
| 55.0ms | (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| 55.0ms | (*.f64 (-.f64 (*.f64 x 1/2) y) (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
| 1× | egg-herbie |
| 688× | associate-*l*_binary64 |
| 677× | fma-def_binary64 |
| 339× | sub-neg_binary64 |
| 275× | cancel-sign-sub-inv_binary64 |
| 249× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 1979 |
| 1 | 271 | 1819 |
| 2 | 1005 | 1332 |
| 3 | 4537 | 1332 |
| 1× | node limit |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 52 | 8 | 60 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 52 | 9 | 61 |
| Status | Error | Program |
| 30.9b | (/.f64 (*.f64 (-.f64 (*.f64 1/4 (*.f64 x x)) (*.f64 y y)) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) (fma.f64 x 1/2 y)) | |
| 0.5b | (-.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z))) (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z))) | |
| 16.1b | (*.f64 (-.f64 (*.f64 x 1/2) y) (cbrt.f64 (*.f64 (pow.f64 (*.f64 z 2) 3/2) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) 3)))) | |
| ✓ | 0.3b | (*.f64 (-.f64 (*.f64 x 1/2) y) (*.f64 (sqrt.f64 (*.f64 z 2)) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
| 0.6b | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) | |
| 48.7b | (sqrt.f64 (*.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)) (pow.f64 (-.f64 (*.f64 x 1/2) y) 2))) | |
| 29.8b | (pow.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 2) | |
| 1.3b | (pow.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 3) | |
| ▶ | 0.5b | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
Compiled 1855 to 1200 computations (35.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| ✓ | 0.3b | (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)) |
| ✓ | 0.4b | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
3 calls:
| 158.0ms | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
| 17.0ms | (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)) |
| 6.0ms | (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| 1× | batch-egg-rewrite |
| 571× | prod-diff_binary64 |
| 169× | add-sqr-sqrt_binary64 |
| 161× | log1p-expm1-u_binary64 |
| 161× | expm1-log1p-u_binary64 |
| 159× | add-cbrt-cube_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 52 |
| 1 | 353 | 48 |
| 2 | 4338 | 48 |
| 1× | node limit |
3 calls:
| 59.0ms | (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) |
| 59.0ms | (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y)) |
| 59.0ms | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
| 1× | egg-herbie |
| 660× | fma-def_binary64 |
| 626× | associate-*r*_binary64 |
| 626× | associate-*l*_binary64 |
| 266× | cancel-sign-sub-inv_binary64 |
| 223× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 1624 |
| 1 | 287 | 1600 |
| 2 | 1028 | 1416 |
| 1× | node limit |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 1 | 83 |
| Fresh | 2 | 5 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 85 | 7 | 92 |
| Status | Error | Program |
| ▶ | 0.5b | (-.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z))) (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z))) |
| 0.6b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 t) t))))) 1) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) | |
| 0.6b | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) | |
| 48.7b | (sqrt.f64 (*.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)) (pow.f64 (-.f64 (*.f64 x 1/2) y) 2))) | |
| 29.8b | (pow.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 2) | |
| 1.3b | (pow.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 3) | |
| ✓ | 0.5b | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
Compiled 2235 to 1363 computations (39% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z)) |
| ✓ | 0.4b | (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z)) |
| ✓ | 0.4b | (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) |
| ✓ | 0.4b | (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
4 calls:
| 294.0ms | (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z)) |
| 243.0ms | (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z)) |
| 223.0ms | (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
| 219.0ms | (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) |
| 1× | batch-egg-rewrite |
| 289× | expm1-udef_binary64 |
| 289× | log1p-udef_binary64 |
| 188× | associate-*r*_binary64 |
| 164× | add-sqr-sqrt_binary64 |
| 153× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 74 |
| 1 | 343 | 66 |
| 2 | 4169 | 66 |
| 1× | node limit |
4 calls:
| 60.0ms | (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z)) |
| 60.0ms | (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z)) |
| 60.0ms | (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) |
| 60.0ms | (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) |
| 1× | egg-herbie |
| 725× | distribute-rgt-out_binary64 |
| 691× | fma-def_binary64 |
| 603× | associate-*l*_binary64 |
| 548× | distribute-lft-out_binary64 |
| 439× | associate-*r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 556 |
| 1 | 202 | 504 |
| 2 | 685 | 418 |
| 3 | 3180 | 366 |
| 1× | node limit |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 91 | 0 | 91 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 91 | 7 | 98 |
| Status | Error | Program |
| ✓ | 0.5b | (-.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z))) (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z))) |
| 0.6b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 t) t))))) 1) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) | |
| ▶ | 0.6b | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) |
| 48.7b | (sqrt.f64 (*.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)) (pow.f64 (-.f64 (*.f64 x 1/2) y) 2))) | |
| 29.8b | (pow.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 2) | |
| 1.3b | (pow.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 3) | |
| ✓ | 0.5b | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
Compiled 3325 to 1835 computations (44.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))) |
| ✓ | 0.2b | (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) |
| ✓ | 0.3b | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) |
| ✓ | 0.5b | (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2) |
4 calls:
| 530.0ms | (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2) |
| 514.0ms | (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) |
| 139.0ms | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) |
| 23.0ms | (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))) |
| 1× | batch-egg-rewrite |
| 571× | prod-diff_binary64 |
| 161× | add-sqr-sqrt_binary64 |
| 154× | log1p-expm1-u_binary64 |
| 154× | expm1-log1p-u_binary64 |
| 151× | add-cbrt-cube_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 67 |
| 1 | 356 | 66 |
| 2 | 4088 | 66 |
| 1× | node limit |
4 calls:
| 61.0ms | (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))) |
| 61.0ms | (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) |
| 61.0ms | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) |
| 61.0ms | (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2) |
| 1× | egg-herbie |
| 888× | fma-def_binary64 |
| 357× | *-commutative_binary64 |
| 343× | sub-neg_binary64 |
| 262× | cancel-sign-sub-inv_binary64 |
| 225× | distribute-rgt-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 118 | 2881 |
| 1 | 357 | 2728 |
| 2 | 1250 | 2050 |
| 3 | 4347 | 2026 |
| 1× | node limit |
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 116 | 0 | 116 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 116 | 7 | 123 |
| Status | Error | Program |
| ✓ | 0.5b | (-.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 (exp.f64 t)) t) x)) (sqrt.f64 z))) (*.f64 (*.f64 y (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t))) (sqrt.f64 z))) |
| 0.6b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 t) t))))) 1) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) | |
| ✓ | 0.6b | (*.f64 (-.f64 (*.f64 x 1/2) y) (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)))) 2)) |
| 48.7b | (sqrt.f64 (*.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t)) (pow.f64 (-.f64 (*.f64 x 1/2) y) 2))) | |
| 29.8b | (pow.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 2) | |
| 1.3b | (pow.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 x 1/2) y) (sqrt.f64 (*.f64 (*.f64 z 2) (pow.f64 (exp.f64 t) t))))) 3) | |
| ✓ | 0.5b | (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 (exp.f64 t)) t)) (*.f64 (sqrt.f64 z) (-.f64 (*.f64 1/2 x) y))) |
Compiled 2981 to 1867 computations (37.4% saved)
Total 0.3b remaining (91.1%)
Threshold costs 0.3b (91.1%)
Compiled 32618 to 24791 computations (24% saved)
| 1× | egg-herbie |
| 9× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 41 |
| 1 | 29 | 39 |
| 2 | 38 | 39 |
| 3 | 44 | 39 |
| 4 | 47 | 39 |
| 5 | 48 | 39 |
| 1× | saturated |
Compiled 223 to 159 computations (28.7% saved)
Loading profile data...