Time bar (total: 11.3s)
| 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.2s | 1036× | body | 2048 | valid |
| 947.0ms | 1941× | body | 1024 | valid |
| 538.0ms | 4136× | body | 128 | valid |
| 286.0ms | 52× | body | 4096 | valid |
| 267.0ms | 743× | body | 512 | valid |
| 89.0ms | 348× | body | 256 | valid |
| 25.0ms | 183× | body | 128 | invalid |
| 8.0ms | 9× | body | 2048 | invalid |
| 1.0ms | 1× | 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.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 16.0b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) |
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) |
| ✓ | 3.1b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| ✓ | 31.8b | (tan.f64 (*.f64 (PI.f64) l)) |
4 calls:
| 59.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)) |
| 3.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:
| 6.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 |
21 alts after pruning (21 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 122 | 21 | 143 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 124 | 21 | 145 |
| Status | Error | Program |
| 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))) | |
| 37.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) | |
| 23.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| 39.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 l)) (*.f64 (sqrt.f64 (PI.f64)) (sqrt.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)))))) | |
| 39.8b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 15.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))) | |
| 44.4b | (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (PI.f64) (PI.f64)) (PI.f64)) (*.f64 (*.f64 l l) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.5b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 39.7b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 16.2b | (-.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))) | |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 39.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))) (*.f64 F F))) | |
| 12.7b | (-.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))) | |
| 16.1b | (-.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 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F 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) (/.f64 (tan.f64 (exp.f64 (+.f64 (log.f64 (PI.f64)) (log.f64 l)))) (*.f64 F F))) | |
| 15.6b | (-.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))) | |
| 19.6b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| ▶ | 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
Compiled 4002 to 1277 computations (68.1% 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.3b | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 31.8b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 76.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 55.0ms | (/.f64 1 (/.f64 F (/.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 |
22 alts after pruning (21 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 394 | 7 | 401 |
| Fresh | 6 | 14 | 20 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 400 | 22 | 422 |
| Status | Error | Program |
| 16.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) | |
| 40.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (exp.f64 (+.f64 (log.f64 (PI.f64)) (log.f64 l)))) (*.f64 F F))) | |
| 15.6b | (-.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))) | |
| ▶ | 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) |
| 39.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 l)) (*.f64 (sqrt.f64 (PI.f64)) (sqrt.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)))))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 l (cbrt.f64 (PI.f64))))) F)))) | |
| 39.8b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 15.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))) | |
| 12.7b | (-.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)))) | |
| 16.2b | (-.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))) | |
| 39.7b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 16.1b | (-.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 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 37.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) | |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.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))) | |
| 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 19.6b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| ✓ | 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
| 44.4b | (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (PI.f64) (PI.f64)) (PI.f64)) (*.f64 (*.f64 l l) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (cbrt.f64 F) (/.f64 1 F)))) |
Compiled 11409 to 3719 computations (67.4% 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.6b | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 31.8b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 77.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 42.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 |
13 alts after pruning (12 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 5 | 222 |
| Fresh | 13 | 7 | 20 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 231 | 13 | 244 |
| Status | Error | Program |
| ▶ | 1.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F)) |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) | |
| 39.8b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 15.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (*.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F)) (/.f64 (cbrt.f64 F) (tan.f64 (*.f64 (PI.f64) l))))) F)) | |
| 44.4b | (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (PI.f64) (PI.f64)) (PI.f64)) (*.f64 (*.f64 l l) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 37.8b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 3.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (*.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45)))))) F)) | |
| 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| ✓ | 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
| 16.2b | (-.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))) | |
| 16.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 16.1b | (-.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))) |
Compiled 5602 to 2108 computations (62.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.0b | (pow.f64 (PI.f64) 5) |
| ✓ | 2.0b | (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F) |
| ✓ | 2.4b | (*.f64 (pow.f64 l 5) F) |
| ✓ | 6.2b | (*.f64 (pow.f64 l 3) F) |
4 calls:
| 498.0ms | (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F) |
| 17.0ms | (*.f64 (pow.f64 l 5) F) |
| 11.0ms | (*.f64 (pow.f64 l 3) F) |
| 0.0ms | (pow.f64 (PI.f64) 5) |
| 1× | rewrite-expression-head |
| 129× | times-frac_binary64 |
| 109× | add-sqr-sqrt_binary64 |
| 97× | *-un-lft-identity_binary64 |
| 73× | add-cube-cbrt_binary64 |
| 24× | add-exp-log_binary64 |
4 calls:
| 24.0ms | (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F) |
| 4.0ms | (*.f64 (pow.f64 l 3) F) |
| 4.0ms | (*.f64 (pow.f64 l 5) F) |
| 2.0ms | (pow.f64 (PI.f64) 5) |
| 1× | egg-herbie |
| 417× | unswap-sqr_binary64 |
| 333× | associate-*l*_binary64 |
| 310× | associate-*r*_binary64 |
| 215× | fma-neg_binary64 |
| 181× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 356 | 14854 |
| 1 | 945 | 13720 |
| 2 | 3605 | 13688 |
| 3 | 4995 | 13688 |
| 4 | 4951 | 13688 |
15 alts after pruning (14 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 282 | 5 | 287 |
| Fresh | 2 | 9 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 285 | 15 | 300 |
| Status | Error | Program |
| 10.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (-.f64 (/.f64 1 (*.f64 l (PI.f64))) (fma.f64 (*.f64 l (PI.f64)) 1/3 (fma.f64 2/945 (*.f64 (pow.f64 l 5) (pow.f64 (PI.f64) 5)) (*.f64 1/45 (pow.f64 (*.f64 l (PI.f64)) 3))))) (*.f64 F F)))) | |
| 3.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (*.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45)))))) F)) | |
| 2.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)) 5) (*.f64 (pow.f64 (cbrt.f64 l) 5) F)))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F)) | |
| 39.8b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 1.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (log1p.f64 (expm1.f64 (*.f64 (pow.f64 l 5) F))))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F)) | |
| 44.4b | (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (PI.f64) (PI.f64)) (PI.f64)) (*.f64 (*.f64 l l) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 37.8b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 1.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (-.f64 (/.f64 F (*.f64 l (PI.f64))) (fma.f64 1/3 (*.f64 F (*.f64 l (PI.f64))) (fma.f64 2/945 (*.f64 F (*.f64 (pow.f64 l 5) (pow.f64 (PI.f64) 5))) (*.f64 1/45 (*.f64 F (pow.f64 (*.f64 l (PI.f64)) 3))))))))) | |
| 16.2b | (-.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))) | |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) (sqrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) | |
| 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| ✓ | 12.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
| 18.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (exp.f64 (log.f64 (*.f64 F (pow.f64 l 5)))))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) F)) | |
| 16.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 16.1b | (-.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))) |
Compiled 22089 to 12565 computations (43.1% saved)
Total 0.7b remaining (34.6%)
Threshold costs 0.7b (34.6%)
Compiled 40508 to 25051 computations (38.2% saved)
| 1× | egg-herbie |
| 29× | *-commutative_binary64 |
| 23× | +-commutative_binary64 |
| 21× | sub-neg_binary64 |
| 19× | neg-sub0_binary64 |
| 19× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 76 |
| 1 | 51 | 76 |
| 2 | 64 | 76 |
| 3 | 89 | 76 |
| 4 | 125 | 76 |
| 5 | 160 | 76 |
| 6 | 188 | 76 |
| 7 | 206 | 76 |
| 8 | 214 | 76 |
| 9 | 215 | 76 |
| 10 | 210 | 76 |
Compiled 552 to 350 computations (36.6% saved)
Loading profile data...