Time bar (total: 10.7s)
| 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 |
| 18.7% | 81.2% | 0.1% | 7 |
| 18.7% | 81.2% | 0.1% | 8 |
| 29.7% | 69.5% | 0.9% | 9 |
| 30.4% | 67.9% | 1.7% | 10 |
| 36.3% | 61.1% | 2.6% | 11 |
| 36.9% | 59.5% | 3.6% | 12 |
| 39.9% | 55.9% | 4.2% | 13 |
| 40.2% | 54.9% | 4.9% | 14 |
Compiled 17 to 11 computations (35.3% saved)
| 1.3s | 1061× | body | 2048 | valid |
| 872.0ms | 1835× | body | 1024 | valid |
| 634.0ms | 4286× | body | 128 | valid |
| 248.0ms | 714× | body | 512 | valid |
| 166.0ms | 47× | body | 4096 | valid |
| 77.0ms | 313× | body | 256 | valid |
| 24.0ms | 180× | body | 128 | invalid |
| 7.0ms | 11× | body | 2048 | invalid |
| 3.0ms | 4× | body | 8192 | exit |
Compiled 50 to 32 computations (36% saved)
| 1× | egg-herbie |
| 297× | fma-def_binary64 |
| 157× | fma-neg_binary64 |
| 50× | cancel-sign-sub-inv_binary64 |
| 37× | associate-/l*_binary64 |
| 33× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 23 |
| 1 | 25 | 20 |
| 2 | 50 | 20 |
| 3 | 121 | 20 |
| 4 | 181 | 20 |
| 5 | 247 | 20 |
| 6 | 321 | 20 |
| 7 | 384 | 20 |
| 8 | 470 | 20 |
| 9 | 483 | 20 |
| 10 | 509 | 20 |
| 11 | 462 | 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 |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| ▶ | 15.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
Compiled 88 to 48 computations (45.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| ✓ | 0.3b | (*.f64 (PI.f64) l) |
| ✓ | 2.4b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| ✓ | 31.5b | (tan.f64 (*.f64 (PI.f64) l)) |
4 calls:
| 53.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 40.0ms | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 13.0ms | (tan.f64 (*.f64 (PI.f64) l)) |
| 2.0ms | (*.f64 (PI.f64) l) |
| 1× | rewrite-expression-head |
| 14× | add-sqr-sqrt_binary64 |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-cube-cbrt_binary64 |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
4 calls:
| 4.0ms | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 4.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 3.0ms | (*.f64 (PI.f64) l) |
| 1.0ms | (tan.f64 (*.f64 (PI.f64) l)) |
| 1× | egg-herbie |
| 782× | times-frac_binary64 |
| 624× | fma-def_binary64 |
| 610× | associate-/l*_binary64 |
| 223× | fma-neg_binary64 |
| 147× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 192 | 3051 |
| 1 | 478 | 2877 |
| 2 | 1544 | 2771 |
| 3 | 4922 | 2768 |
| 4 | 4881 | 2768 |
20 alts after pruning (20 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 123 | 20 | 143 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 125 | 20 | 145 |
| Status | Error | Program |
| 39.7b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 20.8b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 40.0b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (log.f64 (*.f64 F F))))) | |
| 15.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 (cbrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 13.2b | (+.f64 (*.f64 (PI.f64) l) (*.f64 (neg.f64 (/.f64 1 F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 39.7b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 26.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| 15.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 (*.f64 F F) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) | |
| 13.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 39.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))) (*.f64 F F))) | |
| 16.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))) (*.f64 F F))) | |
| 20.4b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 47.2b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 6) (*.f64 (*.f64 (PI.f64) l) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 16.1b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| ▶ | 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
| 38.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) | |
| 30.8b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) |
Compiled 3966 to 1261 computations (68.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 0.3b | (*.f64 (PI.f64) l) | |
| ✓ | 0.5b | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 31.5b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 53.0ms | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 40.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | rewrite-expression-head |
| 405× | times-frac_binary64 |
| 195× | *-un-lft-identity_binary64 |
| 195× | add-sqr-sqrt_binary64 |
| 195× | add-cube-cbrt_binary64 |
| 47× | associate-/r*_binary64 |
2 calls:
| 10.0ms | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 3.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | egg-herbie |
| 587× | fma-neg_binary64 |
| 352× | *-commutative_binary64 |
| 291× | fma-def_binary64 |
| 278× | associate-/r/_binary64 |
| 242× | unswap-sqr_binary64 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 280 | 8467 |
| 1 | 586 | 7416 |
| 2 | 1805 | 7073 |
| 3 | 2193 | 7067 |
| 4 | 2824 | 7067 |
| 5 | 4081 | 6913 |
| 6 | 4484 | 6901 |
| 7 | 4978 | 6901 |
| 8 | 4894 | 6901 |
20 alts after pruning (20 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 395 | 6 | 401 |
| Fresh | 5 | 14 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 401 | 20 | 421 |
| Status | Error | Program |
| 39.7b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 20.8b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 16.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 13.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))) F)))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))) (*.f64 F F))) | |
| 24.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))) F)))) | |
| 38.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))) F)))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 40.0b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (log.f64 (*.f64 F F))))) | |
| ▶ | 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) |
| 15.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| 38.2b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 (sqrt.f64 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (sqrt.f64 F))))) | |
| 15.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 (*.f64 F F) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) | |
| 37.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F)))) | |
| 30.8b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 15.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 (cbrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 20.4b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 39.7b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 47.2b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 6) (*.f64 (*.f64 (PI.f64) l) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 16.1b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
Compiled 11343 to 3683 computations (67.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 0.3b | (*.f64 (PI.f64) l) | |
| ✓ | 0.3b | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 31.5b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 67.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 41.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 1× | rewrite-expression-head |
| 87× | times-frac_binary64 |
| 53× | *-un-lft-identity_binary64 |
| 53× | add-sqr-sqrt_binary64 |
| 53× | add-cube-cbrt_binary64 |
| 17× | associate-/r*_binary64 |
2 calls:
| 5.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 3.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 1× | egg-herbie |
| 495× | distribute-rgt-neg-in_binary64 |
| 469× | distribute-lft-neg-in_binary64 |
| 412× | associate-*l*_binary64 |
| 397× | associate-*r*_binary64 |
| 312× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 158 | 3444 |
| 1 | 327 | 3146 |
| 2 | 940 | 3099 |
| 3 | 3082 | 3095 |
| 4 | 4815 | 3095 |
| 5 | 5030 | 3095 |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 5 | 222 |
| Fresh | 13 | 6 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 231 | 11 | 242 |
| Status | Error | Program |
| ▶ | 2.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))) F)) |
| 38.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))) F)))) | |
| 38.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 20.8b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (/.f64 1 F) (/.f64 1 (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) F)) | |
| 40.0b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (log.f64 (*.f64 F F))))) | |
| 39.7b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 47.2b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 6) (*.f64 (*.f64 (PI.f64) l) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 16.1b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) F) (cos.f64 (*.f64 (PI.f64) l))) F)) | |
| 13.8b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) |
Compiled 5538 to 2062 computations (62.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.0b | (pow.f64 (PI.f64) 3) |
| ✓ | 1.0b | (pow.f64 (PI.f64) 5) |
| ✓ | 1.5b | (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))) F) |
| ✓ | 3.0b | (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))) |
4 calls:
| 460.0ms | (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))) F) |
| 50.0ms | (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))) |
| 0.0ms | (pow.f64 (PI.f64) 5) |
| 0.0ms | (pow.f64 (PI.f64) 3) |
| 1× | rewrite-expression-head |
| 102× | times-frac_binary64 |
| 85× | *-un-lft-identity_binary64 |
| 61× | add-sqr-sqrt_binary64 |
| 61× | add-cube-cbrt_binary64 |
| 55× | add-exp-log_binary64 |
4 calls:
| 36.0ms | (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))) F) |
| 6.0ms | (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))) |
| 1.0ms | (pow.f64 (PI.f64) 3) |
| 1.0ms | (pow.f64 (PI.f64) 5) |
| 1× | egg-herbie |
| 857× | times-frac_binary64 |
| 398× | fma-def_binary64 |
| 261× | associate-*r*_binary64 |
| 234× | associate-*l*_binary64 |
| 213× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 315 | 11727 |
| 1 | 766 | 10611 |
| 2 | 2627 | 10329 |
| 3 | 4727 | 10315 |
| 4 | 4962 | 10315 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 226 | 3 | 229 |
| Fresh | 0 | 10 | 10 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 227 | 13 | 240 |
| Status | Error | Program |
| 47.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (exp.f64 (fma.f64 5 (+.f64 (log.f64 l) (log.f64 (PI.f64))) (log.f64 (*.f64 -2/945 F))))))) F)) | |
| 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (/.f64 1 F) (/.f64 1 (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) F)) | |
| 2.7b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 F (+.f64 (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 (*.f64 (PI.f64) l) 3) -1/45)) (*.f64 -2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))) (/.f64 F (*.f64 (PI.f64) l)))) (cbrt.f64 (fma.f64 F (+.f64 (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 (*.f64 (PI.f64) l) 3) -1/45)) (*.f64 -2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))) (/.f64 F (*.f64 (PI.f64) l)))))) (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (/.f64 1 (cbrt.f64 (fma.f64 F (+.f64 (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 (*.f64 (PI.f64) l) 3) -1/45)) (*.f64 -2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))) (/.f64 F (*.f64 (PI.f64) l))))) (cbrt.f64 F)))) | |
| 38.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))) F)))) | |
| 38.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 20.8b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 2.2b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (log1p.f64 (expm1.f64 (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))))) F)) | |
| 40.0b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (log.f64 (*.f64 F F))))) | |
| 39.7b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 47.2b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 6) (*.f64 (*.f64 (PI.f64) l) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 16.1b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) F) (cos.f64 (*.f64 (PI.f64) l))) F)) | |
| 13.8b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) |
Compiled 14986 to 8641 computations (42.3% saved)
Total 0.7b remaining (37.6%)
Threshold costs 0.7b (37.6%)
Compiled 45926 to 27778 computations (39.5% saved)
| 1× | egg-herbie |
| 8× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 2× | distribute-neg-frac_binary64 |
| 2× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 69 |
| 1 | 40 | 69 |
| 2 | 46 | 69 |
| 3 | 52 | 69 |
| 4 | 55 | 69 |
| 5 | 56 | 69 |
| 6 | 54 | 69 |
Compiled 511 to 306 computations (40.1% saved)
Loading profile data...