Time bar (total: 17.4s)
| 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% | 99.8% | 0.2% | 8 |
| 6.2% | 93.6% | 0.2% | 9 |
| 9.4% | 90.4% | 0.2% | 10 |
| 14% | 83.4% | 2.5% | 11 |
| 18.7% | 78.2% | 3.1% | 12 |
| 28.1% | 65.5% | 6.4% | 13 |
| 30.7% | 59.4% | 9.9% | 14 |
Compiled 20 to 12 computations (40% saved)
| 2.2s | 8256× | body | 128 | valid |
| 1.4s | 6048× | body | 128 | invalid |
Compiled 59 to 35 computations (40.7% saved)
| 1× | egg-herbie |
| 8× | associate-/l*_binary64 |
| 6× | associate-*r/_binary64 |
| 6× | associate-/r/_binary64 |
| 6× | fma-def_binary64 |
| 4× | associate-/r*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 22 |
| 1 | 25 | 20 |
| 2 | 45 | 20 |
| 3 | 55 | 20 |
| 4 | 55 | 20 |
| 5 | 55 | 20 |
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 |
| ▶ | 32.6b | (fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))) |
| 34.9b | (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))) |
Compiled 107 to 55 computations (48.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 2.0b | (fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))) |
| ✓ | 11.2b | (/.f64 x (*.f64 y y)) |
| ✓ | 24.5b | (/.f64 (*.f64 z z) (*.f64 t t)) |
3 calls:
| 190.0ms | (fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))) |
| 51.0ms | (/.f64 (*.f64 z z) (*.f64 t t)) |
| 47.0ms | (/.f64 x (*.f64 y y)) |
| 2× | batch-egg-rewrite |
| 338× | prod-diff_binary64 |
| 206× | expm1-udef_binary64 |
| 206× | log1p-udef_binary64 |
| 196× | log-pow_binary64 |
| 177× | log-div_binary64 |
3 calls:
| 95.0ms | (fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))) |
| 95.0ms | (/.f64 x (*.f64 y y)) |
| 95.0ms | (/.f64 (*.f64 z z) (*.f64 t t)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 37 |
| 1 | 235 | 31 |
| 2 | 3026 | 31 |
| 3 | 4976 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 652× | unswap-sqr_binary64 |
| 531× | associate-/l*_binary64 |
| 480× | sqr-pow_binary64 |
| 355× | associate-/r*_binary64 |
| 289× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 1320 |
| 1 | 29 | 1320 |
| 2 | 51 | 1248 |
| 3 | 139 | 1248 |
| 4 | 545 | 1248 |
| 5 | 2705 | 1248 |
| 6 | 3974 | 1248 |
| 7 | 4023 | 1248 |
| 8 | 4311 | 1248 |
| 9 | 4697 | 1248 |
| 10 | 5074 | 1248 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 92 | 12 | 104 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 94 | 12 | 106 |
| Status | Error | Program |
| 16.5b | (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 z (/.f64 1 (/.f64 t (/.f64 z t))))) | |
| 42.1b | (fma.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 40.8b | (/.f64 (pow.f64 x 2) (pow.f64 y 2)) | |
| 30.4b | (pow.f64 (hypot.f64 (/.f64 z t) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) y))) 2) | |
| 24.5b | (fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 26.5b | (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 (*.f64 z z) t) (/.f64 1 t))) | |
| 31.1b | (fma.f64 x (/.f64 x (*.f64 y y)) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 z t) 2) 3))) | |
| 12.7b | (fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 z t) 2)) 3)) | |
| 13.0b | (*.f64 (cbrt.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))) (pow.f64 (cbrt.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))) 2)) | |
| ▶ | 12.4b | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y)))) |
| 24.8b | (fma.f64 x (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) y) (/.f64 (cbrt.f64 x) y)) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 33.7b | (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z (cbrt.f64 (pow.f64 t 4))) (/.f64 z (pow.f64 (cbrt.f64 t) 2)))) |
Compiled 2283 to 895 computations (60.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y)))) |
| ✓ | 0.3b | (pow.f64 (/.f64 z t) 2) |
| ✓ | 2.8b | (*.f64 x (/.f64 x (*.f64 y y))) |
| 11.2b | (/.f64 x (*.f64 y y)) |
3 calls:
| 172.0ms | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y)))) |
| 51.0ms | (*.f64 x (/.f64 x (*.f64 y y))) |
| 28.0ms | (pow.f64 (/.f64 z t) 2) |
| 2× | batch-egg-rewrite |
| 315× | fma-def_binary64 |
| 231× | expm1-udef_binary64 |
| 231× | log1p-udef_binary64 |
| 210× | log-pow_binary64 |
| 167× | fma-neg_binary64 |
3 calls:
| 116.0ms | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y)))) |
| 116.0ms | (pow.f64 (/.f64 z t) 2) |
| 116.0ms | (*.f64 x (/.f64 x (*.f64 y y))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 36 |
| 1 | 264 | 27 |
| 2 | 3358 | 27 |
| 3 | 5157 | 27 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 572× | unswap-sqr_binary64 |
| 522× | associate-/l*_binary64 |
| 486× | *-commutative_binary64 |
| 484× | sqr-pow_binary64 |
| 336× | associate-/r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 1392 |
| 1 | 28 | 1392 |
| 2 | 49 | 1320 |
| 3 | 133 | 1320 |
| 4 | 523 | 1320 |
| 5 | 2593 | 1320 |
| 6 | 3237 | 1320 |
| 7 | 3524 | 1320 |
| 8 | 3828 | 1320 |
| 9 | 4206 | 1320 |
| 10 | 4677 | 1320 |
| 11 | 4965 | 1320 |
| 12 | 4944 | 1320 |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 156 | 10 | 166 |
| Fresh | 10 | 1 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 167 | 11 | 178 |
| Status | Error | Program |
| ▶ | 1.2b | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| 16.3b | (+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 5.2b | (fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2)) | |
| 30.8b | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2))) | |
| 12.4b | (+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 5.0b | (fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2)) | |
| 30.3b | (fma.f64 (/.f64 (sqrt.f64 x) y) (*.f64 (/.f64 (sqrt.f64 x) y) x) (pow.f64 (/.f64 z t) 2)) | |
| 19.4b | (+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3))) | |
| 24.5b | (fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 4.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y)) | |
| 1.9b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y)))) |
Compiled 3210 to 1413 computations (56% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (hypot.f64 (/.f64 z t) (/.f64 x y)) |
| ✓ | 0.5b | (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2) |
| ✓ | 0.6b | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| ✓ | 9.7b | (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) |
4 calls:
| 3.8s | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| 494.0ms | (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2) |
| 455.0ms | (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) |
| 90.0ms | (hypot.f64 (/.f64 z t) (/.f64 x y)) |
| 2× | batch-egg-rewrite |
| 565× | log-prod_binary64 |
| 213× | expm1-udef_binary64 |
| 213× | log1p-udef_binary64 |
| 196× | log-pow_binary64 |
| 158× | egg-rr |
4 calls:
| 110.0ms | (hypot.f64 (/.f64 z t) (/.f64 x y)) |
| 110.0ms | (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2) |
| 110.0ms | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| 110.0ms | (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 51 |
| 1 | 259 | 49 |
| 2 | 2903 | 49 |
| 3 | 5206 | 49 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 484× | times-frac_binary64 |
| 362× | associate-/l*_binary64 |
| 335× | associate-*r*_binary64 |
| 293× | associate-/r*_binary64 |
| 232× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 303 | 8430 |
| 1 | 1108 | 8004 |
| 2 | 4897 | 7912 |
| 3 | 5076 | 7912 |
13 alts after pruning (12 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 228 | 2 | 230 |
| Fresh | 0 | 10 | 10 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 228 | 13 | 241 |
| Status | Error | Program |
| ✓ | 1.2b | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| 16.3b | (+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 5.2b | (fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2)) | |
| 30.8b | (+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2))) | |
| ▶ | 1.9b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y)))) |
| 25.2b | (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 4))) 3) | |
| 12.4b | (+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 5.0b | (fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2)) | |
| 30.3b | (fma.f64 (/.f64 (sqrt.f64 x) y) (*.f64 (/.f64 (sqrt.f64 x) y) x) (pow.f64 (/.f64 z t) 2)) | |
| 19.4b | (+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3))) | |
| 24.5b | (fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 4.0b | (fma.f64 (*.f64 (/.f64 x y) x) (/.f64 1 y) (pow.f64 (/.f64 z t) 2)) | |
| 4.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y)) |
Compiled 7842 to 4876 computations (37.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y)))) |
| ✓ | 0.2b | (/.f64 y (/.f64 x y)) |
| 0.3b | (pow.f64 (/.f64 z t) 2) | |
| ✓ | 2.9b | (/.f64 x (/.f64 y (/.f64 x y))) |
3 calls:
| 171.0ms | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y)))) |
| 52.0ms | (/.f64 x (/.f64 y (/.f64 x y))) |
| 19.0ms | (/.f64 y (/.f64 x y)) |
| 2× | batch-egg-rewrite |
| 297× | fma-def_binary64 |
| 239× | expm1-udef_binary64 |
| 239× | log1p-udef_binary64 |
| 181× | fma-neg_binary64 |
| 158× | egg-rr |
3 calls:
| 113.0ms | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y)))) |
| 113.0ms | (/.f64 y (/.f64 x y)) |
| 113.0ms | (/.f64 x (/.f64 y (/.f64 x y))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 36 |
| 1 | 273 | 27 |
| 2 | 3687 | 27 |
| 3 | 4940 | 27 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 598× | unswap-sqr_binary64 |
| 526× | associate-/l*_binary64 |
| 478× | sqr-pow_binary64 |
| 347× | associate-/r*_binary64 |
| 292× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 1320 |
| 1 | 29 | 1320 |
| 2 | 50 | 1248 |
| 3 | 136 | 1248 |
| 4 | 540 | 1248 |
| 5 | 2669 | 1248 |
| 6 | 3836 | 1248 |
| 7 | 3890 | 1248 |
| 8 | 4178 | 1248 |
| 9 | 4562 | 1248 |
| 10 | 4938 | 1248 |
11 alts after pruning (10 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 201 | 2 | 203 |
| Fresh | 3 | 8 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 205 | 11 | 216 |
| Status | Error | Program |
| ✓ | 1.2b | (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3) |
| 16.3b | (+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 12.4b | (+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y)))) | |
| 5.0b | (fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2)) | |
| 1.9b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (*.f64 y (/.f64 y x)))) | |
| 2.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 (/.f64 y (/.f64 x y)) x) -1)) | |
| 19.4b | (+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3))) | |
| 24.5b | (fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t))) | |
| 4.0b | (fma.f64 (*.f64 (/.f64 x y) x) (/.f64 1 y) (pow.f64 (/.f64 z t) 2)) | |
| 5.2b | (fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2)) | |
| 4.0b | (+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y)) |
Compiled 3748 to 1493 computations (60.2% saved)
Total 0.4b remaining (90.9%)
Threshold costs 0.4b (90.9%)
Compiled 30851 to 20475 computations (33.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 17 |
| 1 | 10 | 17 |
Compiled 233 to 150 computations (35.6% saved)
Loading profile data...