Time bar (total: 18.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 98.1% | 1.9% | 7 |
| 0% | 98.1% | 1.9% | 8 |
| 0% | 97.8% | 2.2% | 9 |
| 0% | 96.8% | 3.2% | 10 |
| 0% | 96.3% | 3.7% | 11 |
| 0% | 94.3% | 5.7% | 12 |
| 0.4% | 92.1% | 7.5% | 13 |
| 0.6% | 90.8% | 8.6% | 14 |
Compiled 35 to 24 computations (31.4% saved)
| 1× | intervals |
| 53.0ms | 451× | body | 128 | nan |
| 34.0ms | 256× | body | 128 | valid |
| 3.0ms | 24× | body | 128 | invalid |
Compiled 75 to 53 computations (29.3% saved)
| 1× | egg-herbie |
| 515× | fma-neg_binary64 |
| 481× | neg-mul-1_binary64 |
| 395× | fma-def_binary64 |
| 358× | cancel-sign-sub-inv_binary64 |
| 348× | unsub-neg_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 42 |
| 1 | 58 | 40 |
| 2 | 182 | 40 |
| 3 | 757 | 38 |
| 4 | 2815 | 37 |
| 5 | 4555 | 37 |
| 6 | 4944 | 37 |
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 |
| ▶ | 26.9b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 31.7b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*))))) |
Compiled 161 to 103 computations (36% saved)
Found 4 expressions with local error:
| 5.5b | (*.f64 n (/.f64 l Om)) |
| 8.2b | (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))) |
| 10.1b | (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) |
| 18.1b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 1× | rewrite-expression-head |
| 30× | pow1_binary64 |
| 27× | add-cbrt-cube_binary64 |
| 27× | add-exp-log_binary64 |
| 21× | add-sqr-sqrt_binary64 |
| 17× | associate-*r*_binary64 |
4 calls:
| 10.0ms | (*.f64 n (/.f64 l Om)) |
| 8.0ms | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 8.0ms | (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) |
| 7.0ms | (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))) |
Compiled 3547 to 1377 computations (61.2% saved)
4 calls:
| 355.0ms | (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))) |
| 304.0ms | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 61.0ms | (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) |
| 22.0ms | (*.f64 n (/.f64 l Om)) |
Compiled 9765 to 6898 computations (29.4% saved)
| 1× | egg-herbie |
| 669× | associate-*l*_binary64 |
| 664× | associate-*r*_binary64 |
| 230× | associate-/l*_binary64 |
| 205× | *-commutative_binary64 |
| 186× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 511 | 7592 |
| 1 | 1326 | 6954 |
| 2 | 5308 | 6954 |
20 alts after pruning (19 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 152 | 19 | 171 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 153 | 20 | 173 |
| Status | Error | Program |
| 45.6b | (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (*.f64 n U)) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) 3))) | |
| 60.1b | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (-.f64 U* U))) Om) (/.f64 U Om)))) | |
| 63.1b | (fma.f64 n (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 t (sqrt.f64 2))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om)))) | |
| 58.1b | (neg.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))) | |
| 61.1b | (sqrt.f64 (log.f64 (pow.f64 (exp.f64 (*.f64 2 (*.f64 n U))) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) | |
| 56.2b | (sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))))) | |
| ▶ | 27.9b | (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) |
| 40.5b | (sqrt.f64 (/.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om))))))))) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) | |
| ✓ | 26.9b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 60.2b | (neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))))) | |
| 38.4b | (sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 l l) U*))) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4)))) | |
| 59.8b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 (*.f64 l l) (-.f64 U* U)) U)))) (/.f64 (sqrt.f64 2) Om)) | |
| 35.0b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4)))) | |
| 56.6b | (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))) | |
| 43.3b | (*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) | |
| 55.5b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)) | |
| 35.3b | (sqrt.f64 (fma.f64 t (*.f64 2 (*.f64 n U)) (*.f64 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) -4))) | |
| 51.3b | (/.f64 (sqrt.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))))) (sqrt.f64 (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))) | |
| 42.9b | (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om) (sqrt.f64 (/.f64 (*.f64 n U) t)))) | |
| 39.1b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) |
Compiled 4728 to 2031 computations (57% saved)
Found 4 expressions with local error:
| 5.8b | (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om))) |
| 6.0b | (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) |
| 8.1b | (*.f64 (-.f64 U* U) (/.f64 l Om)) |
| 18.1b | (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) |
| 1× | rewrite-expression-head |
| 36× | pow1_binary64 |
| 30× | add-cbrt-cube_binary64 |
| 30× | add-exp-log_binary64 |
| 20× | pow-prod-down_binary64 |
| 20× | add-sqr-sqrt_binary64 |
4 calls:
| 11.0ms | (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om))) |
| 8.0ms | (*.f64 (-.f64 U* U) (/.f64 l Om)) |
| 6.0ms | (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) |
| 5.0ms | (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) |
Compiled 3359 to 1256 computations (62.6% saved)
4 calls:
| 355.0ms | (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) |
| 296.0ms | (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) |
| 59.0ms | (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om))) |
| 41.0ms | (*.f64 (-.f64 U* U) (/.f64 l Om)) |
Compiled 10243 to 7147 computations (30.2% saved)
| 1× | egg-herbie |
| 681× | fma-def_binary64 |
| 586× | associate-*r*_binary64 |
| 523× | associate-*l*_binary64 |
| 418× | *-commutative_binary64 |
| 250× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 538 | 7784 |
| 1 | 1293 | 7220 |
| 2 | 4572 | 7160 |
| 3 | 5270 | 7160 |
20 alts after pruning (19 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 190 | 3 | 193 |
| Fresh | 2 | 16 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 193 | 20 | 213 |
| Status | Error | Program |
| 45.6b | (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (*.f64 n U)) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) 3))) | |
| 60.1b | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (-.f64 U* U))) Om) (/.f64 U Om)))) | |
| 63.1b | (fma.f64 n (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 t (sqrt.f64 2))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om)))) | |
| 44.9b | (*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (/.f64 l Om) (-.f64 U* U)))) t)))) | |
| 61.1b | (sqrt.f64 (log.f64 (pow.f64 (exp.f64 (*.f64 2 (*.f64 n U))) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)))) | |
| 40.5b | (sqrt.f64 (/.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om))))))))) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) | |
| ✓ | 26.9b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 58.1b | (neg.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))) (*.f64 (sqrt.f64 2) l)))) | |
| 42.9b | (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om) (sqrt.f64 (/.f64 (*.f64 n U) t)))) | |
| 60.2b | (neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))))) | |
| 38.4b | (sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 l l) U*))) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4)))) | |
| 59.8b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 (*.f64 l l) (-.f64 U* U)) U)))) (/.f64 (sqrt.f64 2) Om)) | |
| ▶ | 35.0b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4)))) |
| 56.6b | (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))) | |
| 43.3b | (*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) | |
| 55.5b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)) | |
| 35.3b | (sqrt.f64 (fma.f64 t (*.f64 2 (*.f64 n U)) (*.f64 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) -4))) | |
| 56.2b | (sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))))) | |
| 51.3b | (/.f64 (sqrt.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))))) (sqrt.f64 (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))) | |
| 39.1b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) |
Compiled 4670 to 2058 computations (55.9% saved)
Found 4 expressions with local error:
| 6.9b | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))) |
| 7.3b | (*.f64 (/.f64 (*.f64 l l) Om) U) |
| 7.7b | (/.f64 (*.f64 l l) Om) |
| 13.7b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4)))) |
| 1× | rewrite-expression-head |
| 20× | add-cbrt-cube_binary64 |
| 20× | add-exp-log_binary64 |
| 17× | add-sqr-sqrt_binary64 |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-cube-cbrt_binary64 |
4 calls:
| 7.0ms | (*.f64 (/.f64 (*.f64 l l) Om) U) |
| 4.0ms | (/.f64 (*.f64 l l) Om) |
| 3.0ms | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))) |
| 2.0ms | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4)))) |
Compiled 2066 to 827 computations (60% saved)
4 calls:
| 93.0ms | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4)))) |
| 90.0ms | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))) |
| 25.0ms | (*.f64 (/.f64 (*.f64 l l) Om) U) |
| 13.0ms | (/.f64 (*.f64 l l) Om) |
Compiled 3374 to 2443 computations (27.6% saved)
| 1× | egg-herbie |
| 621× | fma-def_binary64 |
| 539× | associate-/l*_binary64 |
| 436× | times-frac_binary64 |
| 202× | associate-*l*_binary64 |
| 201× | associate-/r*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 211 | 3072 |
| 1 | 477 | 2613 |
| 2 | 1618 | 2613 |
| 3 | 4606 | 2613 |
| 4 | 5080 | 2613 |
23 alts after pruning (22 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 108 | 7 | 115 |
| Fresh | 3 | 15 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 112 | 23 | 135 |
| Status | Error | Program |
| 45.6b | (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (*.f64 n U)) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) 3))) | |
| 60.1b | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (-.f64 U* U))) Om) (/.f64 U Om)))) | |
| 63.1b | (fma.f64 n (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 t (sqrt.f64 2))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om)))) | |
| ▶ | 30.4b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4)))) |
| 56.9b | (sqrt.f64 (*.f64 -4 (*.f64 n (/.f64 (*.f64 U (*.f64 l l)) Om)))) | |
| 58.1b | (neg.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))) (*.f64 (sqrt.f64 2) l)))) | |
| 42.9b | (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om) (sqrt.f64 (/.f64 (*.f64 n U) t)))) | |
| 60.2b | (neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))))) | |
| 35.1b | (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 n (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t)))))) (sqrt.f64 (sqrt.f64 (*.f64 n (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))))) | |
| 38.4b | (sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 l l) U*))) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4)))) | |
| 59.8b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 (*.f64 l l) (-.f64 U* U)) U)))) (/.f64 (sqrt.f64 2) Om)) | |
| 35.9b | (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 n (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))))) | |
| 39.1b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) | |
| 57.1b | (neg.f64 (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om))))) | |
| 56.6b | (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))) | |
| 43.3b | (*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) | |
| 56.6b | (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om)))) | |
| 44.9b | (*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (/.f64 l Om) (-.f64 U* U)))) t)))) | |
| 35.3b | (sqrt.f64 (fma.f64 t (*.f64 2 (*.f64 n U)) (*.f64 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) -4))) | |
| 56.2b | (sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))))) | |
| 51.3b | (/.f64 (sqrt.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))))) (sqrt.f64 (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))) | |
| ✓ | 26.9b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 48.8b | (*.f64 (sqrt.f64 n) (sqrt.f64 (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))) |
Compiled 2746 to 1484 computations (46% saved)
Found 4 expressions with local error:
| 0.6b | (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) |
| 6.2b | (*.f64 U (/.f64 l Om)) |
| 6.9b | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4))) |
| 13.7b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4)))) |
| 1× | rewrite-expression-head |
| 41× | add-exp-log_binary64 |
| 32× | add-cbrt-cube_binary64 |
| 28× | add-sqr-sqrt_binary64 |
| 21× | *-un-lft-identity_binary64 |
| 21× | add-cube-cbrt_binary64 |
4 calls:
| 8.0ms | (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) |
| 5.0ms | (*.f64 U (/.f64 l Om)) |
| 3.0ms | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4))) |
| 2.0ms | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4)))) |
Compiled 2920 to 1436 computations (50.8% saved)
4 calls:
| 92.0ms | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4)))) |
| 89.0ms | (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4))) |
| 23.0ms | (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) |
| 22.0ms | (*.f64 U (/.f64 l Om)) |
Compiled 3550 to 2564 computations (27.8% saved)
| 1× | egg-herbie |
| 714× | fma-def_binary64 |
| 358× | associate-/r*_binary64 |
| 299× | associate-/l/_binary64 |
| 281× | associate-*r*_binary64 |
| 278× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 249 | 3472 |
| 1 | 549 | 3150 |
| 2 | 2025 | 2943 |
| 3 | 4476 | 2943 |
| 4 | 5077 | 2943 |
24 alts after pruning (22 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 146 | 2 | 148 |
| Fresh | 1 | 20 | 21 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 147 | 24 | 171 |
| Status | Error | Program |
| 45.6b | (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (*.f64 n U)) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) 3))) | |
| 60.1b | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (-.f64 U* U))) Om) (/.f64 U Om)))) | |
| 63.1b | (fma.f64 n (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 t (sqrt.f64 2))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om)))) | |
| ✓ | 30.4b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (*.f64 U (/.f64 l Om))) -4)))) |
| 56.9b | (sqrt.f64 (*.f64 -4 (*.f64 n (/.f64 (*.f64 U (*.f64 l l)) Om)))) | |
| 56.2b | (sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))))) | |
| 40.6b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (log.f64 (exp.f64 (/.f64 (*.f64 U l) Om)))) -4)))) | |
| 58.1b | (neg.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (fma.f64 (/.f64 U Om) (/.f64 n Om) (/.f64 2 Om)))))) (*.f64 (sqrt.f64 2) l)))) | |
| 42.9b | (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om) (sqrt.f64 (/.f64 (*.f64 n U) t)))) | |
| 60.2b | (neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))))) | |
| 38.4b | (sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 l l) U*))) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4)))) | |
| 59.8b | (*.f64 (sqrt.f64 (*.f64 n (*.f64 n (*.f64 (*.f64 (*.f64 l l) (-.f64 U* U)) U)))) (/.f64 (sqrt.f64 2) Om)) | |
| 35.9b | (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 n (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))))) | |
| 39.1b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 t U)))) | |
| 57.1b | (neg.f64 (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om))))) | |
| 56.6b | (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 t (sqrt.f64 2)) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))) | |
| 43.3b | (*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t))) | |
| 56.6b | (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om)))) | |
| 44.9b | (*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (/.f64 l Om) (-.f64 U* U)))) t)))) | |
| 35.3b | (sqrt.f64 (fma.f64 t (*.f64 2 (*.f64 n U)) (*.f64 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) -4))) | |
| 32.8b | (sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (*.f64 (/.f64 l 1) (expm1.f64 (log1p.f64 (/.f64 (*.f64 U l) Om)))) -4)))) | |
| 51.3b | (/.f64 (sqrt.f64 (*.f64 n (*.f64 2 (*.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))) t)) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))))) (sqrt.f64 (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 n (*.f64 (-.f64 U* U) (/.f64 l Om)))))))) | |
| ✓ | 26.9b | (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) |
| 48.8b | (*.f64 (sqrt.f64 n) (sqrt.f64 (*.f64 U (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))) |
Compiled 2443 to 1270 computations (48% saved)
Total 16.2b remaining (61.1%)
Threshold costs 0b (0%)
Compiled 91010 to 56042 computations (38.4% saved)
Compiled 33 to 22 computations (33.3% saved)
| 1× | egg-herbie |
| 181× | distribute-rgt-neg-in_binary64 |
| 119× | cancel-sign-sub-inv_binary64 |
| 118× | distribute-lft-neg-out_binary64 |
| 116× | distribute-lft-neg-in_binary64 |
| 99× | distribute-rgt-neg-out_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 54 | 184 |
| 1 | 88 | 184 |
| 2 | 116 | 184 |
| 3 | 139 | 184 |
| 4 | 165 | 184 |
| 5 | 186 | 184 |
| 6 | 201 | 184 |
| 7 | 227 | 184 |
| 8 | 256 | 184 |
| 9 | 289 | 184 |
| 10 | 350 | 184 |
| 11 | 444 | 184 |
| 12 | 555 | 184 |
| 13 | 635 | 184 |
| 14 | 711 | 184 |
| 15 | 768 | 184 |
| 16 | 802 | 184 |
| 17 | 821 | 184 |
| 18 | 825 | 184 |
| 19 | 817 | 184 |
Compiled 130 to 73 computations (43.8% saved)
| 1× | intervals |
| 1.5s | 12279× | body | 128 | nan |
| 1.1s | 8000× | body | 128 | valid |
| 144.0ms | 1148× | body | 128 | invalid |
Compiled 973 to 590 computations (39.4% saved)
Loading profile data...