Time bar (total: 24.0s)
| 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% | 99.7% | 0.3% | 7 |
| 0% | 99.7% | 0.3% | 8 |
| 0% | 99.7% | 0.3% | 9 |
| 0% | 99.7% | 0.3% | 10 |
| 0% | 99.7% | 0.3% | 11 |
| 0% | 99.7% | 0.3% | 12 |
| 0% | 98.1% | 1.9% | 13 |
| 0% | 98.1% | 1.9% | 14 |
Compiled 59 to 22 computations (62.7% saved)
| 3.2s | 16928× | body | 128 | invalid |
| 2.0s | 2152× | body | 4096 | valid |
| 1.4s | 1182× | body | 8192 | valid |
| 986.0ms | 1305× | body | 2048 | valid |
| 493.0ms | 2481× | body | 128 | valid |
| 425.0ms | 683× | body | 1024 | valid |
| 141.0ms | 302× | body | 512 | valid |
| 48.0ms | 151× | body | 256 | valid |
| 47.0ms | 59× | body | 2048 | invalid |
| 36.0ms | 60× | body | 1024 | invalid |
| 20.0ms | 44× | body | 512 | invalid |
| 10.0ms | 10× | body | 8192 | exit |
| 8.0ms | 9× | body | 4096 | invalid |
| 6.0ms | 19× | body | 256 | invalid |
Compiled 176 to 65 computations (63.1% saved)
| 1× | egg-herbie |
| 599× | times-frac_binary64 |
| 518× | distribute-neg-frac_binary64 |
| 416× | fma-def_binary64 |
| 304× | associate-/l*_binary64 |
| 217× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 78 |
| 1 | 64 | 74 |
| 2 | 296 | 74 |
| 3 | 3103 | 67 |
| 4 | 4218 | 67 |
| 5 | 5365 | 67 |
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 |
| ▶ | 60.9b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) |
| 62.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) |
Compiled 321 to 130 computations (59.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 11.9b | (*.f64 (*.f64 w h) (*.f64 D D)) |
| ✓ | 14.3b | (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))) |
| ✓ | 17.9b | (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) |
| ✓ | 28.3b | (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))) |
4 calls:
| 545.0ms | (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))) |
| 510.0ms | (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))) |
| 328.0ms | (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) |
| 50.0ms | (*.f64 (*.f64 w h) (*.f64 D D)) |
| 2× | batch-egg-rewrite |
| 791× | prod-diff_binary64 |
| 203× | add-sqr-sqrt_binary64 |
| 195× | log1p-expm1-u_binary64 |
| 195× | expm1-log1p-u_binary64 |
| 191× | add-log-exp_binary64 |
4 calls:
| 136.0ms | (*.f64 (*.f64 w h) (*.f64 D D)) |
| 136.0ms | (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))) |
| 135.0ms | (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) |
| 135.0ms | (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 110 |
| 1 | 405 | 108 |
| 2 | 4795 | 108 |
| 3 | 6251 | 108 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 649× | fma-def_binary64 |
| 505× | unswap-sqr_binary64 |
| 293× | associate-*r*_binary64 |
| 261× | fma-neg_binary64 |
| 256× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 209 | 11169 |
| 1 | 648 | 11085 |
| 2 | 3136 | 11033 |
| 3 | 4940 | 11033 |
| 4 | 4979 | 11033 |
| 5 | 4998 | 11033 |
| 6 | 4980 | 11033 |
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 362 | 8 | 370 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 363 | 9 | 372 |
| Status | Error | Program |
| 60.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h))))) | |
| 43.2b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) (*.f64 w h))) (*.f64 (*.f64 d d) c0)))) | |
| 62.0b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| ▶ | 42.7b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)))) |
| 52.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2)))) | |
| 62.1b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 c0 (*.f64 d d)) (/.f64 1 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M))))) | |
| 62.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) | |
| 61.6b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 63.2b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) |
Compiled 21927 to 6306 computations (71.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 11.4b | (*.f64 (pow.f64 d 2) c0) |
| ✓ | 12.7b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)))) |
| ✓ | 16.6b | (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) |
| ✓ | 16.6b | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)) |
4 calls:
| 494.0ms | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)) |
| 474.0ms | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)))) |
| 104.0ms | (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) |
| 13.0ms | (*.f64 (pow.f64 d 2) c0) |
| 2× | batch-egg-rewrite |
| 220× | add-sqr-sqrt_binary64 |
| 208× | log1p-expm1-u_binary64 |
| 208× | expm1-log1p-u_binary64 |
| 205× | add-log-exp_binary64 |
| 204× | add-cube-cbrt_binary64 |
4 calls:
| 125.0ms | (*.f64 (pow.f64 d 2) c0) |
| 125.0ms | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)))) |
| 125.0ms | (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) |
| 125.0ms | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 85 |
| 1 | 451 | 80 |
| 2 | 4846 | 80 |
| 3 | 4966 | 80 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 769× | associate-*l/_binary64 |
| 612× | associate-/l/_binary64 |
| 577× | associate-/r/_binary64 |
| 546× | associate-*r/_binary64 |
| 283× | unswap-sqr_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 3096 |
| 1 | 56 | 3096 |
| 2 | 224 | 3096 |
| 3 | 1427 | 3096 |
| 4 | 4578 | 3096 |
| 5 | 4783 | 3096 |
| 6 | 5125 | 3096 |
21 alts after pruning (21 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 94 | 15 | 109 |
| Fresh | 2 | 6 | 8 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 97 | 21 | 118 |
| Status | Error | Program |
| 60.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h))))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)) 3))) | |
| 49.4b | (/.f64 (*.f64 1 (*.f64 1/2 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (/.f64 (*.f64 2 w) c0) (*.f64 (*.f64 d d) c0))) | |
| 49.7b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (*.f64 D D) w) (*.f64 d (sqrt.f64 c0))) (/.f64 (*.f64 h (*.f64 M M)) (*.f64 d (sqrt.f64 c0)))))) | |
| 47.8b | (/.f64 (*.f64 c0 (*.f64 1/2 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (*.f64 2 w) (*.f64 (*.f64 d d) c0))) | |
| 48.6b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 d d) c0)) 2)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (cbrt.f64 (*.f64 (*.f64 d d) c0)))))) | |
| 49.4b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0)))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0)))))) | |
| 49.9b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D D) (*.f64 d (sqrt.f64 c0))) (/.f64 (*.f64 w (*.f64 h (*.f64 M M))) (*.f64 d (sqrt.f64 c0)))))) | |
| 62.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) | |
| ▶ | 36.4b | (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) |
| 63.2b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 62.0b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 61.5b | (exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2)))) | |
| 49.3b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1))) | |
| 45.6b | (log.f64 (pow.f64 (exp.f64 (/.f64 c0 (*.f64 2 w))) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2))) | |
| 52.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2)))) | |
| 48.1b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0)))) | |
| 51.7b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) 3) 1/3) (*.f64 (pow.f64 d 2) c0)))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2))))) | |
| 61.6b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) |
Compiled 4588 to 2317 computations (49.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) |
| ✓ | 6.4b | (*.f64 (pow.f64 M 2) h) |
| ✓ | 15.6b | (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) |
| ✓ | 18.2b | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)) |
4 calls:
| 267.0ms | (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) |
| 232.0ms | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)) |
| 55.0ms | (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) |
| 19.0ms | (*.f64 (pow.f64 M 2) h) |
| 2× | batch-egg-rewrite |
| 736× | log-prod_binary64 |
| 242× | expm1-udef_binary64 |
| 242× | log1p-udef_binary64 |
| 222× | log-pow_binary64 |
| 137× | add-sqr-sqrt_binary64 |
4 calls:
| 165.0ms | (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) |
| 165.0ms | (*.f64 (pow.f64 M 2) h) |
| 165.0ms | (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) |
| 165.0ms | (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 61 |
| 1 | 295 | 50 |
| 2 | 3380 | 50 |
| 3 | 5861 | 50 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 865× | times-frac_binary64 |
| 578× | associate-/l*_binary64 |
| 565× | unswap-sqr_binary64 |
| 407× | associate-*r*_binary64 |
| 397× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 1248 |
| 1 | 34 | 1248 |
| 2 | 101 | 1248 |
| 3 | 511 | 1248 |
| 4 | 4017 | 1248 |
| 5 | 4375 | 1248 |
| 6 | 4953 | 1248 |
| 7 | 4942 | 1248 |
| 8 | 5016 | 1248 |
27 alts after pruning (27 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 108 | 13 | 121 |
| Fresh | 6 | 14 | 20 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 115 | 27 | 142 |
| Status | Error | Program |
| 62.0b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 39.6b | (*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) | |
| 44.1b | (*.f64 1/4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 3))) | |
| 32.4b | (*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 M M) h) d))) | |
| 61.5b | (exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2)))) | |
| 60.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h))))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)) 3))) | |
| 39.7b | (*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3)) | |
| 48.1b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0)))) | |
| 23.9b | (/.f64 1/4 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h))) | |
| 49.4b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0)))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0)))))) | |
| 62.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) | |
| 44.8b | (*.f64 1/4 (/.f64 (pow.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) 2) (pow.f64 d 2))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2))))) | |
| 39.7b | (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4)) 3) | |
| 25.5b | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 2) d) (/.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) d))) | |
| 61.6b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 34.4b | (*.f64 1/4 (*.f64 (/.f64 1 (cbrt.f64 (pow.f64 d 4))) (/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) (pow.f64 (cbrt.f64 d) 2)))) | |
| 29.1b | (*.f64 1/4 (*.f64 (pow.f64 (*.f64 D M) 2) (*.f64 h (pow.f64 d -2)))) | |
| 29.7b | (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (*.f64 D M) 2) (neg.f64 h)) (/.f64 1 (neg.f64 (*.f64 d d))))) | |
| 49.3b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1))) | |
| 45.6b | (log.f64 (pow.f64 (exp.f64 (/.f64 c0 (*.f64 2 w))) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2))) | |
| ▶ | 23.8b | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))) |
| 51.7b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) 3) 1/3) (*.f64 (pow.f64 d 2) c0)))) | |
| 35.0b | (*.f64 1/4 (/.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)))) 1) (pow.f64 d 2))) | |
| 63.2b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) |
Compiled 3846 to 2225 computations (42.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))) |
| ✓ | 0.2b | (pow.f64 (*.f64 D M) 2) |
| ✓ | 7.0b | (/.f64 (pow.f64 (*.f64 D M) 2) d) |
| ✓ | 8.3b | (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)) |
4 calls:
| 236.0ms | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))) |
| 200.0ms | (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)) |
| 94.0ms | (/.f64 (pow.f64 (*.f64 D M) 2) d) |
| 13.0ms | (pow.f64 (*.f64 D M) 2) |
| 2× | batch-egg-rewrite |
| 737× | log-prod_binary64 |
| 240× | expm1-udef_binary64 |
| 240× | log1p-udef_binary64 |
| 212× | log-pow_binary64 |
| 155× | log-div_binary64 |
4 calls:
| 123.0ms | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))) |
| 123.0ms | (pow.f64 (*.f64 D M) 2) |
| 123.0ms | (/.f64 (pow.f64 (*.f64 D M) 2) d) |
| 123.0ms | (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 52 |
| 1 | 282 | 52 |
| 2 | 3462 | 52 |
| 3 | 6031 | 52 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 748× | associate-/l*_binary64 |
| 601× | associate-*l*_binary64 |
| 590× | associate-*r*_binary64 |
| 413× | associate-/r*_binary64 |
| 307× | unswap-sqr_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 2676 |
| 1 | 40 | 2676 |
| 2 | 127 | 2676 |
| 3 | 649 | 2676 |
| 4 | 4204 | 2676 |
| 5 | 4750 | 2676 |
| 6 | 4724 | 2676 |
| 7 | 4860 | 2676 |
| 8 | 4955 | 2676 |
27 alts after pruning (27 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 141 | 10 | 151 |
| Fresh | 9 | 17 | 26 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 151 | 27 | 178 |
| Status | Error | Program |
| 62.0b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 39.6b | (*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) | |
| 32.4b | (*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 M M) h) d))) | |
| 61.5b | (exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2)))) | |
| 31.2b | (log.f64 (pow.f64 (pow.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d)) (/.f64 h d)) 1/4)) | |
| 49.3b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1))) | |
| 60.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h))))) | |
| 20.2b | (*.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 D M) (pow.f64 (cbrt.f64 d) 2)) (/.f64 (*.f64 D M) (cbrt.f64 d))) (/.f64 h d))) | |
| 20.1b | (*.f64 1/4 (*.f64 (*.f64 (*.f64 D M) (*.f64 (*.f64 D M) (/.f64 1 d))) (/.f64 h d))) | |
| 39.7b | (*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3)) | |
| 49.4b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0)))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0)))))) | |
| 42.2b | (*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) (/.f64 h d)) (sqrt.f64 d)) (sqrt.f64 d))) | |
| 25.1b | (*.f64 1/4 (*.f64 (/.f64 (*.f64 M (*.f64 D (*.f64 D M))) d) (/.f64 h d))) | |
| 24.6b | (*.f64 1/4 (/.f64 h (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) d))) | |
| 62.8b | (*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) | |
| 44.8b | (*.f64 1/4 (/.f64 (pow.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) 2) (pow.f64 d 2))) | |
| 61.5b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2))))) | |
| 25.5b | (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 2) d) (/.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) d))) | |
| 28.3b | (*.f64 1/4 (exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))))) | |
| 24.2b | (*.f64 1/4 (*.f64 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2))) d) (/.f64 h d))) | |
| 35.7b | (*.f64 1/4 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 D M) 2) 3) (pow.f64 d 3))) (/.f64 h d))) | |
| 35.0b | (*.f64 1/4 (/.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)))) 1) (pow.f64 d 2))) | |
| 24.1b | (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) 1/4) h) d) | |
| 48.1b | (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0)))) | |
| 61.6b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) | |
| 63.2b | (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))) |
Compiled 3417 to 1855 computations (45.7% saved)
Total 4.8b remaining (24.7%)
Threshold costs 0b (0%)
Compiled 39440 to 25719 computations (34.8% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | -2.76452924359683e-303 | 3.528714073809127e-309 | -2.062391211447e-312 |
Compiled 7 to 6 computations (14.3% saved)
| 1× | egg-herbie |
| 8× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 49 |
| 1 | 35 | 49 |
| 2 | 34 | 49 |
Compiled 900 to 574 computations (36.2% saved)
Loading profile data...