Time bar (total: 12.2s)
| 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 |
| 0% | 99.9% | 0.1% | 6 |
| 0% | 99.9% | 0.1% | 7 |
| 0% | 74.9% | 25.1% | 8 |
| 0% | 74.9% | 25.1% | 9 |
| 9.4% | 65.5% | 25.1% | 10 |
| 9.4% | 53% | 37.6% | 11 |
| 14% | 48.4% | 37.6% | 12 |
| 16.4% | 46% | 37.6% | 13 |
| 16.4% | 39.8% | 43.8% | 14 |
Compiled 31 to 21 computations (32.3% saved)
| 909.0ms | 5438× | body | 128 | valid |
| 637.0ms | 1198× | body | 1024 | valid |
| 451.0ms | 863× | body | 1024 | invalid |
| 415.0ms | 958× | body | 512 | valid |
| 252.0ms | 1579× | body | 128 | invalid |
| 197.0ms | 487× | body | 512 | invalid |
| 162.0ms | 574× | body | 256 | valid |
| 75.0ms | 290× | body | 256 | invalid |
| 64.0ms | 88× | body | 2048 | valid |
Compiled 92 to 62 computations (32.6% saved)
| 1× | egg-herbie |
| 666× | fma-def_binary64 |
| 506× | fma-neg_binary64 |
| 403× | cancel-sign-sub-inv_binary64 |
| 259× | distribute-rgt-neg-in_binary64 |
| 215× | distribute-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 39 |
| 1 | 48 | 39 |
| 2 | 117 | 39 |
| 3 | 267 | 39 |
| 4 | 618 | 39 |
| 5 | 1427 | 39 |
| 6 | 3153 | 39 |
| 1× | node limit |
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 |
| 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l)))) | |
| ▶ | 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
Compiled 174 to 115 computations (33.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| ✓ | 0.4b | (*.f64 (sqrt.f64 2) t) |
| ✓ | 14.7b | (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))) |
| ✓ | 18.6b | (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l)))) |
4 calls:
| 664.0ms | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 168.0ms | (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l)))) |
| 42.0ms | (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))) |
| 3.0ms | (*.f64 (sqrt.f64 2) t) |
| 1× | batch-egg-rewrite |
| 199× | add-sqr-sqrt_binary64 |
| 190× | log1p-expm1-u_binary64 |
| 190× | expm1-log1p-u_binary64 |
| 187× | add-cbrt-cube_binary64 |
| 185× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 105 |
| 1 | 420 | 99 |
| 1× | node limit |
4 calls:
| 50.0ms | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 50.0ms | (*.f64 (sqrt.f64 2) t) |
| 50.0ms | (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))) |
| 50.0ms | (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l)))) |
| 1× | egg-herbie |
| 632× | *-commutative_binary64 |
| 385× | fma-def_binary64 |
| 342× | associate-+r+_binary64 |
| 278× | associate-*r*_binary64 |
| 225× | associate-*r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1507 | 28688 |
| 1× | node limit |
12 alts after pruning (11 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 250 | 11 | 261 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 251 | 12 | 263 |
| Status | Error | Program |
| ✓ | 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 50.0b | (/.f64 (pow.f64 (sqrt.f64 (*.f64 t (sqrt.f64 2))) 2) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 58.3b | (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 1 (+.f64 x -1)) (-.f64 (/.f64 x (+.f64 x -1)) 1)))) (/.f64 t (/.f64 l (sqrt.f64 2)))) | |
| 35.3b | (*.f64 t (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (*.f64 2 (+.f64 (/.f64 (*.f64 t t) (/.f64 (+.f64 x -1) x)) (/.f64 (*.f64 t t) (+.f64 x -1)))))))) | |
| 58.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (fma.f64 (sqrt.f64 (+.f64 (/.f64 1 (+.f64 x -1)) (-.f64 (/.f64 x (+.f64 x -1)) 1))) l (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 1 (+.f64 x -1)) (-.f64 (/.f64 x (+.f64 x -1)) 1)))) (+.f64 (*.f64 (/.f64 (*.f64 t t) l) (/.f64 x (+.f64 x -1))) (/.f64 (*.f64 t t) (*.f64 l (+.f64 x -1)))))))) | |
| 58.3b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 l (sqrt.f64 (+.f64 (/.f64 1 (+.f64 x -1)) (-.f64 (/.f64 x (+.f64 x -1)) 1))))) | |
| 40.4b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1)))))))) | |
| 40.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (*.f64 t (sqrt.f64 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1)))))))) | |
| 36.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 36.1b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 t (sqrt.f64 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| ▶ | 29.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 4 (/.f64 (*.f64 t t) (*.f64 x x)) (fma.f64 4 (/.f64 (*.f64 t t) x) (fma.f64 2 (/.f64 (*.f64 l l) (*.f64 x x)) (*.f64 2 (+.f64 (/.f64 (*.f64 l l) x) (*.f64 t t)))))))) |
| 40.6b | (/.f64 (pow.f64 (cbrt.f64 (*.f64 t (sqrt.f64 2))) 3) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
Compiled 41494 to 30926 computations (25.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 7.6b | (/.f64 (*.f64 t t) x) |
| ✓ | 13.5b | (/.f64 (*.f64 l l) (*.f64 x x)) |
| ✓ | 17.7b | (/.f64 (*.f64 t t) (*.f64 x x)) |
| ✓ | 25.5b | (sqrt.f64 (fma.f64 4 (/.f64 (*.f64 t t) (*.f64 x x)) (fma.f64 4 (/.f64 (*.f64 t t) x) (fma.f64 2 (/.f64 (*.f64 l l) (*.f64 x x)) (*.f64 2 (+.f64 (/.f64 (*.f64 l l) x) (*.f64 t t))))))) |
4 calls:
| 142.0ms | (sqrt.f64 (fma.f64 4 (/.f64 (*.f64 t t) (*.f64 x x)) (fma.f64 4 (/.f64 (*.f64 t t) x) (fma.f64 2 (/.f64 (*.f64 l l) (*.f64 x x)) (*.f64 2 (+.f64 (/.f64 (*.f64 l l) x) (*.f64 t t))))))) |
| 24.0ms | (/.f64 (*.f64 t t) (*.f64 x x)) |
| 24.0ms | (/.f64 (*.f64 l l) (*.f64 x x)) |
| 9.0ms | (/.f64 (*.f64 t t) x) |
| 1× | batch-egg-rewrite |
| 206× | add-sqr-sqrt_binary64 |
| 198× | log1p-expm1-u_binary64 |
| 198× | expm1-log1p-u_binary64 |
| 197× | add-cbrt-cube_binary64 |
| 196× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 81 |
| 1 | 426 | 67 |
| 1× | node limit |
4 calls:
| 39.0ms | (/.f64 (*.f64 t t) x) |
| 39.0ms | (/.f64 (*.f64 l l) (*.f64 x x)) |
| 39.0ms | (/.f64 (*.f64 t t) (*.f64 x x)) |
| 39.0ms | (sqrt.f64 (fma.f64 4 (/.f64 (*.f64 t t) (*.f64 x x)) (fma.f64 4 (/.f64 (*.f64 t t) x) (fma.f64 2 (/.f64 (*.f64 l l) (*.f64 x x)) (*.f64 2 (+.f64 (/.f64 (*.f64 l l) x) (*.f64 t t))))))) |
| 1× | egg-herbie |
| 493× | fma-def_binary64 |
| 289× | associate-/r*_binary64 |
| 277× | associate-*r*_binary64 |
| 249× | associate-*l*_binary64 |
| 221× | times-frac_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 417 | 7585 |
| 1 | 1348 | 6486 |
| 1× | node limit |
15 alts after pruning (14 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 179 | 9 | 188 |
| Fresh | 5 | 5 | 10 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 185 | 15 | 200 |
| Status | Error | Program |
| 38.7b | (/.f64 (*.f64 (sqrt.f64 2) t) (cbrt.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 3/2))) | |
| 33.1b | (/.f64 (*.f64 (sqrt.f64 2) t) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2)))) (+.f64 (*.f64 (/.f64 l x) (/.f64 l t)) (/.f64 (*.f64 (/.f64 l x) (/.f64 l x)) t))) (*.f64 t (sqrt.f64 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2)))))) | |
| 55.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))) (neg.f64 l))) | |
| 36.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 36.1b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 t (sqrt.f64 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 54.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 l (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))))) | |
| ✓ | 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 50.0b | (/.f64 (pow.f64 (sqrt.f64 (*.f64 t (sqrt.f64 2))) 2) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 36.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2)))) (+.f64 (*.f64 (/.f64 l x) (/.f64 l t)) (/.f64 (*.f64 (/.f64 l x) (/.f64 l x)) t))) (*.f64 t (sqrt.f64 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2))))))) | |
| 39.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t x)) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (*.f64 t (sqrt.f64 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2))))))))))) | |
| 35.3b | (*.f64 t (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (*.f64 2 (+.f64 (/.f64 (*.f64 t t) (/.f64 (+.f64 x -1) x)) (/.f64 (*.f64 t t) (+.f64 x -1)))))))) | |
| 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2)) | |
| 26.5b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))))) 3)) | |
| ▶ | 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2)) |
| 40.6b | (/.f64 (pow.f64 (cbrt.f64 (*.f64 t (sqrt.f64 2))) 3) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
Compiled 15765 to 9633 computations (38.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.4b | (*.f64 (sqrt.f64 2) t) | |
| ✓ | 1.0b | (fma.f64 t t (/.f64 l (/.f64 x l))) |
| ✓ | 4.2b | (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l)))))) |
| ✓ | 25.5b | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2) |
3 calls:
| 247.0ms | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2) |
| 54.0ms | (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l)))))) |
| 14.0ms | (fma.f64 t t (/.f64 l (/.f64 x l))) |
| 1× | batch-egg-rewrite |
| 210× | add-sqr-sqrt_binary64 |
| 201× | log1p-expm1-u_binary64 |
| 201× | expm1-log1p-u_binary64 |
| 198× | add-log-exp_binary64 |
| 197× | add-cube-cbrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 91 |
| 1 | 452 | 89 |
| 1× | node limit |
3 calls:
| 34.0ms | (fma.f64 t t (/.f64 l (/.f64 x l))) |
| 34.0ms | (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l)))))) |
| 34.0ms | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2) |
| 1× | egg-herbie |
| 588× | times-frac_binary64 |
| 566× | associate-/r*_binary64 |
| 491× | fma-def_binary64 |
| 472× | associate-/l*_binary64 |
| 190× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 491 | 10984 |
| 1 | 1788 | 10217 |
| 1× | node limit |
15 alts after pruning (13 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 155 | 3 | 158 |
| Fresh | 3 | 10 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 158 | 15 | 173 |
| Status | Error | Program |
| 39.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t x)) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (*.f64 t (sqrt.f64 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2))))))))))) | |
| 38.7b | (/.f64 (*.f64 (sqrt.f64 2) t) (cbrt.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (*.f64 t (/.f64 t x)) (*.f64 2 (+.f64 (pow.f64 (/.f64 l x) 2) (fma.f64 t t (*.f64 l (/.f64 l x))))))) 3/2))) | |
| 55.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))) (neg.f64 l))) | |
| 36.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 36.1b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 t (sqrt.f64 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 54.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 l (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))))) | |
| ✓ | 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 50.0b | (/.f64 (pow.f64 (sqrt.f64 (*.f64 t (sqrt.f64 2))) 2) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 40.8b | (/.f64 (cbrt.f64 (pow.f64 (*.f64 t (sqrt.f64 2)) 3)) (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2)) | |
| 40.6b | (/.f64 (pow.f64 (cbrt.f64 (*.f64 t (sqrt.f64 2))) 3) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 36.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2)))) (+.f64 (*.f64 (/.f64 l x) (/.f64 l t)) (/.f64 (*.f64 (/.f64 l x) (/.f64 l x)) t))) (*.f64 t (sqrt.f64 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2))))))) | |
| 35.3b | (*.f64 t (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (*.f64 2 (+.f64 (/.f64 (*.f64 t t) (/.f64 (+.f64 x -1) x)) (/.f64 (*.f64 t t) (+.f64 x -1)))))))) | |
| ▶ | 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2)) |
| 38.5b | (/.f64 (*.f64 (sqrt.f64 2) t) (+.f64 (*.f64 (/.f64 (/.f64 l (/.f64 t l)) t) (+.f64 (/.f64 (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))) (*.f64 (*.f64 x x) (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x)))))) (/.f64 (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))) (*.f64 x (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x)))))))) (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))))) | |
| ✓ | 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2)) |
Compiled 18098 to 12569 computations (30.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2) |
| 1.0b | (fma.f64 t t (/.f64 l (/.f64 x l))) | |
| 4.2b | (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l)))))) | |
| ✓ | 26.2b | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) |
2 calls:
| 389.0ms | (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2) |
| 247.0ms | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) |
| 1× | batch-egg-rewrite |
| 217× | add-sqr-sqrt_binary64 |
| 213× | log1p-expm1-u_binary64 |
| 213× | expm1-log1p-u_binary64 |
| 207× | add-cbrt-cube_binary64 |
| 207× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 94 |
| 1 | 477 | 93 |
| 1× | node limit |
2 calls:
| 32.0ms | (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2) |
| 32.0ms | (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) |
| 1× | egg-herbie |
| 361× | *-commutative_binary64 |
| 251× | +-commutative_binary64 |
| 197× | fma-def_binary64 |
| 184× | associate-+r+_binary64 |
| 135× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 939 | 19666 |
| 1 | 3638 | 18321 |
| 1× | node limit |
15 alts after pruning (12 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 227 | 0 | 227 |
| Fresh | 0 | 12 | 12 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 227 | 15 | 242 |
| Status | Error | Program |
| 39.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t x)) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (+.f64 (*.f64 (/.f64 (pow.f64 l 2) (*.f64 t (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2)))))))) (*.f64 t (sqrt.f64 (+.f64 2 (+.f64 (*.f64 4 (/.f64 1 x)) (*.f64 4 (/.f64 1 (pow.f64 x 2))))))))))) | |
| 38.7b | (/.f64 (*.f64 (sqrt.f64 2) t) (cbrt.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (*.f64 t (/.f64 t x)) (*.f64 2 (+.f64 (pow.f64 (/.f64 l x) 2) (fma.f64 t t (*.f64 l (/.f64 l x))))))) 3/2))) | |
| 55.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))) (neg.f64 l))) | |
| 36.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 36.1b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 t (sqrt.f64 (+.f64 (/.f64 2 (+.f64 x -1)) (*.f64 2 (/.f64 x (+.f64 x -1))))))) | |
| 54.4b | (/.f64 (*.f64 (sqrt.f64 2) t) (*.f64 l (sqrt.f64 (+.f64 (/.f64 2 x) (/.f64 2 (*.f64 x x)))))) | |
| ✓ | 40.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) |
| 50.0b | (/.f64 (pow.f64 (sqrt.f64 (*.f64 t (sqrt.f64 2))) 2) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 40.8b | (/.f64 (cbrt.f64 (pow.f64 (*.f64 t (sqrt.f64 2)) 3)) (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2)) | |
| 40.6b | (/.f64 (pow.f64 (cbrt.f64 (*.f64 t (sqrt.f64 2))) 3) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (fma.f64 2 (*.f64 t t) (*.f64 l l)) (*.f64 l (neg.f64 l))))) | |
| 36.2b | (/.f64 (*.f64 (sqrt.f64 2) t) (neg.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2)))) (+.f64 (*.f64 (/.f64 l x) (/.f64 l t)) (/.f64 (*.f64 (/.f64 l x) (/.f64 l x)) t))) (*.f64 t (sqrt.f64 (+.f64 (/.f64 4 (*.f64 x x)) (+.f64 (/.f64 4 x) 2))))))) | |
| 35.3b | (*.f64 t (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (*.f64 2 (+.f64 (/.f64 (*.f64 t t) (/.f64 (+.f64 x -1) x)) (/.f64 (*.f64 t t) (+.f64 x -1)))))))) | |
| ✓ | 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/4) 2)) |
| 38.5b | (/.f64 (*.f64 (sqrt.f64 2) t) (+.f64 (*.f64 (/.f64 (/.f64 l (/.f64 t l)) t) (+.f64 (/.f64 (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))) (*.f64 (*.f64 x x) (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x)))))) (/.f64 (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))) (*.f64 x (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x)))))))) (pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (+.f64 2 (+.f64 (/.f64 4 x) (/.f64 4 (*.f64 x x))))) (*.f64 (log.f64 t) 2))))) | |
| ✓ | 26.0b | (/.f64 (*.f64 (sqrt.f64 2) t) (pow.f64 (fma.f64 4 (pow.f64 (/.f64 t x) 2) (fma.f64 4 (/.f64 t (/.f64 x t)) (fma.f64 2 (pow.f64 (/.f64 l x) 2) (*.f64 2 (fma.f64 t t (/.f64 l (/.f64 x l))))))) 1/2)) |
Compiled 32376 to 23393 computations (27.7% saved)
Total 8.6b remaining (92.3%)
Threshold costs 0b (0%)
Compiled 27780 to 20267 computations (27% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 7 | 2.1619762343420863e+61 | 1.762798061039258e+63 | 1.7217277470457817e+63 |
| 9 | -5.858506782973357e-274 | -1.7561552091000522e-280 | -5.760693106007019e-274 |
| 6 | -1.2305667899749975e-205 | -2.2145558220808283e-206 | -2.238472624987465e-206 |
| 10 | -0.008866260243616425 | -2.77151334505108e-20 | -0.008644579131846854 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 25× | *-commutative_binary64 |
| 21× | +-commutative_binary64 |
| 15× | sub-neg_binary64 |
| 15× | neg-sub0_binary64 |
| 15× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 280 |
| 1 | 105 | 280 |
| 2 | 133 | 280 |
| 3 | 154 | 280 |
| 4 | 178 | 280 |
| 5 | 196 | 280 |
| 6 | 206 | 280 |
| 7 | 211 | 280 |
| 8 | 212 | 280 |
| 1× | saturated |
Compiled 1006 to 701 computations (30.3% saved)
Loading profile data...