Time bar (total: 8.5s)
| 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× | intervals |
| 31.0ms | 33× | body | 2048 | valid |
| 14.0ms | 48× | body | 1024 | valid |
| 11.0ms | 149× | body | 128 | valid |
| 8.0ms | 2× | body | 4096 | valid |
| 3.0ms | 15× | body | 512 | valid |
| 1.0ms | 9× | body | 256 | valid |
| 0.0ms | 3× | body | 128 | invalid |
Compiled 35 to 23 computations (34.3% 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 |
| 16.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| ▶ | 16.1b | (-.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) |
| ✓ | 4.5b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| ✓ | 25.9b | (tan.f64 (*.f64 (PI.f64) l)) |
4 calls:
| 55.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)) |
| 5.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:
| 5.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 5.0ms | (-.f64 (*.f64 (PI.f64) l) (/.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 | 124 | 19 | 143 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 125 | 20 | 145 |
| Status | Error | Program |
| 40.2b | (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 21.5b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 42.1b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 40.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))) | |
| 16.3b | (-.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))) | |
| 16.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| 42.1b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 11.5b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 16.7b | (-.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))) | |
| 11.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))) | |
| 45.4b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 16.2b | (-.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))) | |
| 30.3b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 26.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| ▶ | 11.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) |
| 16.7b | (-.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))) | |
| 16.3b | (-.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))) | |
| 16.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))) | |
| 16.2b | (-.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))))) | |
| 34.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) |
Compiled 4022 to 1253 computations (68.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| ✓ | 0.3b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 0.3b | (*.f64 (PI.f64) l) | |
| 25.9b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 88.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 59.0ms | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 52× | *-un-lft-identity_binary64 |
| 52× | add-sqr-sqrt_binary64 |
| 52× | add-cube-cbrt_binary64 |
| 16× | associate-/l*_binary64 |
2 calls:
| 6.0ms | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| 3.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | egg-herbie |
| 699× | times-frac_binary64 |
| 602× | unswap-sqr_binary64 |
| 440× | associate-/l/_binary64 |
| 422× | associate-/l*_binary64 |
| 359× | associate-/r*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 191 | 3604 |
| 1 | 430 | 3466 |
| 2 | 986 | 3390 |
| 3 | 3679 | 3366 |
| 4 | 4197 | 3361 |
| 5 | 5141 | 3361 |
20 alts after pruning (20 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 7 | 224 |
| Fresh | 6 | 13 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 224 | 20 | 244 |
| Status | Error | Program |
| 30.3b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 11.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 42.1b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 40.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))) | |
| 16.3b | (-.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))) | |
| 16.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| 49.5b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (log.f64 F)))) | |
| 16.3b | (-.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))) | |
| 35.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 22.2b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))) F) F)) | |
| ▶ | 11.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) |
| 42.1b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 11.5b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 36.1b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (/.f64 1 (sqrt.f64 F)) (sqrt.f64 F)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (sqrt.f64 F)) (sqrt.f64 F)))) | |
| 45.4b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 21.5b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.7b | (-.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))) | |
| 11.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) F) F)) | |
| 16.7b | (-.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))) | |
| 34.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) |
Compiled 5679 to 1674 computations (70.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 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) |
| 25.9b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 112.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 60.0ms | (/.f64 1 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) |
| 1× | rewrite-expression-head |
| 25× | add-exp-log_binary64 |
| 13× | add-cbrt-cube_binary64 |
| 12× | *-un-lft-identity_binary64 |
| 12× | times-frac_binary64 |
| 12× | add-sqr-sqrt_binary64 |
2 calls:
| 5.0ms | (/.f64 1 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) |
| 3.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 1× | egg-herbie |
| 489× | associate-*l*_binary64 |
| 448× | associate-*r*_binary64 |
| 389× | unswap-sqr_binary64 |
| 386× | associate-/l*_binary64 |
| 386× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 152 | 2341 |
| 1 | 331 | 2161 |
| 2 | 1043 | 2083 |
| 3 | 4353 | 2083 |
| 4 | 5263 | 2083 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 154 | 3 | 157 |
| Fresh | 9 | 10 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 164 | 13 | 177 |
| Status | Error | Program |
| 11.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (*.f64 F (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) | |
| 42.1b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 40.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))) | |
| 35.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 49.5b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (log.f64 F)))) | |
| 11.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| ▶ | 1.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (-.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))))))))) |
| 16.7b | (-.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))) | |
| 16.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| 42.1b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 16.7b | (-.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))) | |
| 45.4b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 11.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) |
Compiled 3919 to 1520 computations (61.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.0b | (pow.f64 (PI.f64) 5) |
| ✓ | 2.2b | (*.f64 F (-.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))))))) |
| ✓ | 3.5b | (*.f64 (pow.f64 l 5) F) |
| ✓ | 5.2b | (*.f64 (pow.f64 l 3) F) |
4 calls:
| 155.0ms | (*.f64 F (-.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))))))) |
| 20.0ms | (*.f64 (pow.f64 l 5) F) |
| 13.0ms | (*.f64 (pow.f64 l 3) F) |
| 0.0ms | (pow.f64 (PI.f64) 5) |
| 1× | rewrite-expression-head |
| 59× | add-sqr-sqrt_binary64 |
| 45× | *-un-lft-identity_binary64 |
| 43× | add-cube-cbrt_binary64 |
| 42× | prod-diff_binary64 |
| 25× | distribute-lft-in_binary64 |
4 calls:
| 22.0ms | (*.f64 F (-.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))))))) |
| 4.0ms | (*.f64 (pow.f64 l 3) F) |
| 4.0ms | (*.f64 (pow.f64 l 5) F) |
| 3.0ms | (pow.f64 (PI.f64) 5) |
| 1× | egg-herbie |
| 664× | times-frac_binary64 |
| 462× | associate-*l*_binary64 |
| 455× | associate-*r*_binary64 |
| 341× | fma-neg_binary64 |
| 208× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 349 | 11271 |
| 1 | 733 | 8589 |
| 2 | 3243 | 8543 |
| 3 | 5041 | 8543 |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 222 | 4 | 226 |
| Fresh | 1 | 11 | 12 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 224 | 15 | 239 |
| Status | Error | Program |
| 42.1b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 40.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))) | |
| 16.7b | (-.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))) | |
| 16.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (-.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))))))))) | |
| 16.3b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) | |
| 1.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (-.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))))))))) | |
| 1.3b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 F (-.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))))))))) | |
| 35.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 13.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (*.f64 F F) (-.f64 (/.f64 1 (*.f64 l (PI.f64))) (fma.f64 (*.f64 l (PI.f64)) 1/3 (fma.f64 1/45 (pow.f64 (*.f64 l (PI.f64)) 3) (*.f64 2/945 (*.f64 (pow.f64 l 5) (pow.f64 (PI.f64) 5))))))))) | |
| 49.5b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (log.f64 F)))) | |
| 11.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 42.1b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 16.7b | (-.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))) | |
| 45.4b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 11.5b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) |
Compiled 20323 to 12179 computations (40.1% saved)
Total 0.7b remaining (34.5%)
Threshold costs 0.7b (34.5%)
Compiled 27699 to 16108 computations (41.8% saved)
| 1× | egg-herbie |
| 29× | *-commutative_binary64 |
| 22× | +-commutative_binary64 |
| 20× | sub-neg_binary64 |
| 18× | neg-sub0_binary64 |
| 18× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 76 |
| 1 | 52 | 76 |
| 2 | 65 | 76 |
| 3 | 86 | 76 |
| 4 | 120 | 76 |
| 5 | 154 | 76 |
| 6 | 182 | 76 |
| 7 | 200 | 76 |
| 8 | 208 | 76 |
| 9 | 209 | 76 |
| 10 | 204 | 76 |
Compiled 49 to 34 computations (30.6% saved)
| 1× | intervals |
| 963.0ms | 1012× | body | 2048 | valid |
| 571.0ms | 1825× | body | 1024 | valid |
| 287.0ms | 4112× | body | 128 | valid |
| 199.0ms | 57× | body | 4096 | valid |
| 152.0ms | 703× | body | 512 | valid |
| 45.0ms | 291× | body | 256 | valid |
| 15.0ms | 167× | body | 128 | invalid |
| 3.0ms | 6× | body | 2048 | invalid |
| 2.0ms | 4× | body | 8192 | exit |
Compiled 520 to 303 computations (41.7% saved)
Loading profile data...