Time bar (total: 4.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% | 93.6% | 0.1% | 6 |
| 20.3% | 79.6% | 0.1% | 7 |
| 28.9% | 71% | 0.1% | 8 |
| 39.8% | 60.1% | 0.1% | 9 |
| 57.5% | 42.3% | 0.1% | 10 |
| 63.9% | 36% | 0.1% | 11 |
| 68.6% | 31.3% | 0.1% | 12 |
| 79.5% | 20.3% | 0.1% | 13 |
| 82.9% | 17% | 0.1% | 14 |
Compiled 13 to 9 computations (30.8% saved)
| 1.2s | 8255× | body | 128 | valid |
| 0.0ms | 1× | body | 256 | valid |
Compiled 38 to 26 computations (31.6% saved)
| 1× | egg-herbie |
| 2674× | fma-neg_binary64 |
| 2270× | div-sub_binary64 |
| 1877× | fma-def_binary64 |
| 968× | associate-/l/_binary64 |
| 705× | associate-/r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 14 | 13 |
| 2 | 20 | 13 |
| 3 | 28 | 13 |
| 4 | 41 | 13 |
| 5 | 55 | 13 |
| 6 | 72 | 13 |
| 7 | 85 | 13 |
| 8 | 102 | 13 |
| 9 | 127 | 13 |
| 10 | 155 | 13 |
| 11 | 215 | 13 |
| 12 | 356 | 13 |
| 13 | 666 | 13 |
| 14 | 1204 | 13 |
| 15 | 1746 | 13 |
| 16 | 1897 | 13 |
| 17 | 2006 | 13 |
| 18 | 2246 | 13 |
| 19 | 2452 | 13 |
| 20 | 1993 | 13 |
| 21 | 2354 | 13 |
| 22 | 2400 | 13 |
| 23 | 2609 | 13 |
| 24 | 2737 | 13 |
| 25 | 2812 | 13 |
| 26 | 2982 | 13 |
| 27 | 2984 | 13 |
| 28 | 3004 | 13 |
| 29 | 3004 | 13 |
| 30 | 3850 | 13 |
| 31 | 5135 | 13 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
| ▶ | 10.4b | (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) |
Compiled 36 to 24 computations (33.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 10.4b | (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) |
1 calls:
| 24.0ms | (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) |
| 2× | batch-egg-rewrite |
| 816× | prod-diff_binary64 |
| 190× | expm1-udef_binary64 |
| 189× | log1p-udef_binary64 |
| 105× | add-sqr-sqrt_binary64 |
| 100× | log1p-expm1-u_binary64 |
1 calls:
| 51.0ms | (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 203 | 13 |
| 2 | 2855 | 13 |
| 3 | 5099 | 13 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 338× | fma-def_binary64 |
| 330× | +-commutative_binary64 |
| 304× | distribute-neg-in_binary64 |
| 284× | sub-neg_binary64 |
| 246× | times-frac_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 90 | 1140 |
| 1 | 265 | 1140 |
| 2 | 934 | 1004 |
| 3 | 3610 | 983 |
| 4 | 4808 | 980 |
| 5 | 4998 | 980 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 64 | 6 | 70 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 65 | 6 | 71 |
| Status | Error | Program |
| 10.5b | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) | |
| 37.0b | (pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2) | |
| 32.2b | (neg.f64 (fma.f64 (/.f64 z y) x (+.f64 z (/.f64 z (/.f64 y z))))) | |
| 33.9b | (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) (+.f64 (/.f64 (pow.f64 z 2) y) z))) | |
| ▶ | 10.4b | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
| 33.8b | (+.f64 y (+.f64 (fma.f64 (/.f64 y z) x x) (*.f64 (/.f64 y z) y))) |
Compiled 1545 to 767 computations (50.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
| ✓ | 3.3b | (/.f64 x (-.f64 1 (/.f64 y z))) |
| ✓ | 10.3b | (/.f64 y (-.f64 1 (/.f64 y z))) |
3 calls:
| 29.0ms | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
| 23.0ms | (/.f64 x (-.f64 1 (/.f64 y z))) |
| 8.0ms | (/.f64 y (-.f64 1 (/.f64 y z))) |
| 2× | batch-egg-rewrite |
| 495× | fma-def_binary64 |
| 246× | fma-neg_binary64 |
| 216× | expm1-udef_binary64 |
| 215× | log1p-udef_binary64 |
| 160× | egg-rr |
3 calls:
| 79.0ms | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
| 79.0ms | (/.f64 x (-.f64 1 (/.f64 y z))) |
| 79.0ms | (/.f64 y (-.f64 1 (/.f64 y z))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 42 |
| 1 | 230 | 36 |
| 2 | 3469 | 36 |
| 3 | 5011 | 36 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 499× | fma-def_binary64 |
| 466× | sub-neg_binary64 |
| 426× | +-commutative_binary64 |
| 256× | associate--r+_binary64 |
| 244× | times-frac_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 116 | 1974 |
| 1 | 337 | 1974 |
| 2 | 1214 | 1695 |
| 3 | 4456 | 1671 |
| 4 | 5038 | 1671 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 215 | 2 | 217 |
| Fresh | 1 | 4 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 216 | 7 | 223 |
| Status | Error | Program |
| ▶ | 10.5b | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| 37.0b | (pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2) | |
| 32.2b | (neg.f64 (fma.f64 (/.f64 z y) x (+.f64 z (/.f64 z (/.f64 y z))))) | |
| 33.9b | (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) (+.f64 (/.f64 (pow.f64 z 2) y) z))) | |
| 32.9b | (neg.f64 (fma.f64 z (/.f64 x y) z)) | |
| 23.2b | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) | |
| ✓ | 10.4b | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
Compiled 5314 to 2736 computations (48.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| ✓ | 10.4b | (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) |
2 calls:
| 50.0ms | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| 19.0ms | (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) |
| 2× | batch-egg-rewrite |
| 918× | prod-diff_binary64 |
| 170× | egg-rr |
| 125× | add-sqr-sqrt_binary64 |
| 119× | log1p-expm1-u_binary64 |
| 119× | expm1-log1p-u_binary64 |
2 calls:
| 85.0ms | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| 85.0ms | (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 29 |
| 1 | 247 | 26 |
| 2 | 3329 | 26 |
| 3 | 5204 | 26 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 435× | associate-+r+_binary64 |
| 354× | sub-neg_binary64 |
| 308× | +-commutative_binary64 |
| 297× | associate-+l+_binary64 |
| 291× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 324 | 3973 |
| 1 | 985 | 3940 |
| 2 | 4355 | 3931 |
| 3 | 5248 | 3931 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 252 | 0 | 252 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 252 | 7 | 259 |
| Status | Error | Program |
| ✓ | 10.5b | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| 37.0b | (pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2) | |
| 32.2b | (neg.f64 (fma.f64 (/.f64 z y) x (+.f64 z (/.f64 z (/.f64 y z))))) | |
| 33.9b | (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) (+.f64 (/.f64 (pow.f64 z 2) y) z))) | |
| 32.9b | (neg.f64 (fma.f64 z (/.f64 x y) z)) | |
| ▶ | 23.2b | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) |
| ✓ | 10.4b | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
Compiled 11486 to 4975 computations (56.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x)) |
| ✓ | 3.3b | (/.f64 (-.f64 1 (/.f64 y z)) x) |
| ✓ | 4.4b | (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) |
| ✓ | 22.7b | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) |
4 calls:
| 89.0ms | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) |
| 26.0ms | (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) |
| 24.0ms | (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x)) |
| 16.0ms | (/.f64 (-.f64 1 (/.f64 y z)) x) |
| 2× | batch-egg-rewrite |
| 539× | prod-diff_binary64 |
| 227× | log1p-udef_binary64 |
| 193× | egg-rr |
| 126× | add-sqr-sqrt_binary64 |
| 117× | log1p-expm1-u_binary64 |
4 calls:
| 99.0ms | (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x)) |
| 99.0ms | (/.f64 (-.f64 1 (/.f64 y z)) x) |
| 99.0ms | (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) |
| 99.0ms | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 90 |
| 1 | 245 | 78 |
| 2 | 3597 | 78 |
| 3 | 5169 | 78 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 452× | fma-def_binary64 |
| 354× | times-frac_binary64 |
| 316× | associate-/l*_binary64 |
| 237× | fma-neg_binary64 |
| 234× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 147 | 3699 |
| 1 | 426 | 3607 |
| 2 | 1456 | 2995 |
| 3 | 4799 | 2987 |
| 4 | 4979 | 2987 |
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 350 | 0 | 350 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 350 | 7 | 357 |
| Status | Error | Program |
| ✓ | 10.5b | (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1) |
| 37.0b | (pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2) | |
| 32.2b | (neg.f64 (fma.f64 (/.f64 z y) x (+.f64 z (/.f64 z (/.f64 y z))))) | |
| 33.9b | (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) (+.f64 (/.f64 (pow.f64 z 2) y) z))) | |
| 32.9b | (neg.f64 (fma.f64 z (/.f64 x y) z)) | |
| ✓ | 23.2b | (/.f64 (fma.f64 y (/.f64 (-.f64 1 (/.f64 y z)) x) (-.f64 1 (/.f64 y z))) (*.f64 (-.f64 1 (/.f64 y z)) (/.f64 (-.f64 1 (/.f64 y z)) x))) |
| ✓ | 10.4b | (+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))) |
Compiled 14738 to 6764 computations (54.1% saved)
Total 0.1b remaining (91.4%)
Threshold costs 0.1b (91.4%)
Compiled 7208 to 4796 computations (33.5% saved)
Compiled 12 to 8 computations (33.3% saved)
| 1× | egg-herbie |
| 6× | +-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 3× | *-commutative_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 81 |
| 1 | 31 | 81 |
| 2 | 38 | 81 |
| 3 | 43 | 81 |
| 4 | 46 | 81 |
| 5 | 47 | 81 |
| 6 | 46 | 81 |
Compiled 237 to 135 computations (43% saved)
Loading profile data...