Time bar (total: 18.9s)
| 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 |
| 25% | 74.9% | 0.1% | 6 |
| 25% | 74.9% | 0.1% | 7 |
| 25% | 62.4% | 12.6% | 8 |
| 31.2% | 56.2% | 12.6% | 9 |
| 34.3% | 53% | 12.6% | 10 |
| 42.9% | 44.5% | 12.6% | 11 |
| 46.8% | 40.6% | 12.6% | 12 |
| 47.8% | 39.6% | 12.6% | 13 |
| 52.6% | 34.8% | 12.6% | 14 |
Compiled 25 to 20 computations (20% saved)
| 2.3s | 1671× | body | 1024 | valid |
| 2.0s | 1411× | body | 1024 | invalid |
| 1.3s | 5142× | body | 128 | valid |
| 767.0ms | 832× | body | 512 | valid |
| 654.0ms | 706× | body | 512 | invalid |
| 378.0ms | 171× | body | 2048 | valid |
| 225.0ms | 435× | body | 256 | valid |
| 223.0ms | 367× | body | 256 | invalid |
| 160.0ms | 649× | body | 128 | invalid |
| 28.0ms | 5× | body | 4096 | valid |
Compiled 74 to 59 computations (20.3% saved)
| 1× | egg-herbie |
| 1078× | sqr-pow_binary64 |
| 786× | cube-prod_binary64 |
| 770× | fabs-mul_binary64 |
| 484× | unswap-sqr_binary64 |
| 392× | pow-sqr_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 34 |
| 1 | 30 | 34 |
| 2 | 66 | 34 |
| 3 | 124 | 34 |
| 4 | 217 | 34 |
| 5 | 465 | 34 |
| 6 | 669 | 34 |
| 7 | 1130 | 34 |
| 8 | 1177 | 34 |
| 9 | 1369 | 34 |
| 10 | 1574 | 34 |
| 11 | 1868 | 34 |
| 12 | 2152 | 34 |
| 13 | 2573 | 34 |
| 14 | 3206 | 34 |
| 15 | 3520 | 34 |
| 16 | 3872 | 34 |
| 17 | 4026 | 34 |
| 18 | 4094 | 34 |
| 19 | 4136 | 34 |
| 20 | 4933 | 34 |
| 21 | 4905 | 34 |
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 |
| ▶ | 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) |
Compiled 72 to 57 computations (20.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) |
| ✓ | 0.3b | (*.f64 (PI.f64) (/.f64 angle 180)) |
| ✓ | 23.7b | (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
| ✓ | 24.0b | (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
4 calls:
| 51.0ms | (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) |
| 11.0ms | (*.f64 (PI.f64) (/.f64 angle 180)) |
| 7.0ms | (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
| 6.0ms | (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
| 2× | batch-egg-rewrite |
| 557× | log-prod_binary64 |
| 298× | prod-diff_binary64 |
| 213× | expm1-udef_binary64 |
| 213× | log1p-udef_binary64 |
| 189× | log-pow_binary64 |
4 calls:
| 98.0ms | (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) |
| 98.0ms | (*.f64 (PI.f64) (/.f64 angle 180)) |
| 98.0ms | (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
| 98.0ms | (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 44 |
| 1 | 252 | 44 |
| 2 | 2758 | 44 |
| 3 | 5058 | 44 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 845× | fma-neg_binary64 |
| 635× | unswap-sqr_binary64 |
| 405× | distribute-rgt-neg-in_binary64 |
| 395× | distribute-lft-neg-in_binary64 |
| 306× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 1058 |
| 1 | 242 | 1050 |
| 2 | 832 | 1028 |
| 3 | 2094 | 1016 |
| 4 | 4940 | 1016 |
| 5 | 5168 | 1016 |
28 alts after pruning (28 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 117 | 28 | 145 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 118 | 28 | 146 |
| Status | Error | Program |
| 43.2b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 2))) 2)) | |
| 19.5b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)) 2)) | |
| 26.1b | (+.f64 (pow.f64 (*.f64 a (fma.f64 (*.f64 (*.f64 angle angle) (pow.f64 (PI.f64) 2)) -1/64800 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.5b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2)) | |
| ▶ | 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) |
| 37.2b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 31.8b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2)) | |
| 24.1b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) 2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 4)))) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 20.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 27.2b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2)) | |
| 23.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2))) 1)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 24.1b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 37.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b))))) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2)) | |
| 19.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2)))) | |
| 28.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (/.f64 angle 180) 3))))) 2)) | |
| 26.0b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2) 3))) | |
| 23.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 31.9b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 1))) 2)) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 33.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 b 2))))) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2)) | |
| 20.6b | (+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 24.0b | (+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) |
Compiled 5756 to 4334 computations (24.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) |
| 0.3b | (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) | |
| 0.3b | (*.f64 (PI.f64) (/.f64 angle 180)) | |
| 24.0b | (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
1 calls:
| 29.0ms | (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) |
| 2× | batch-egg-rewrite |
| 831× | log1p-expm1-u_binary64 |
| 831× | expm1-log1p-u_binary64 |
| 298× | prod-diff_binary64 |
| 94× | add-sqr-sqrt_binary64 |
| 87× | add-log-exp_binary64 |
1 calls:
| 85.0ms | (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 187 | 13 |
| 2 | 2193 | 13 |
| 3 | 5611 | 13 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 817× | distribute-rgt-neg-in_binary64 |
| 767× | distribute-lft-neg-in_binary64 |
| 576× | fma-neg_binary64 |
| 310× | associate-*r*_binary64 |
| 301× | associate-*l*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 412 |
| 1 | 113 | 408 |
| 2 | 364 | 403 |
| 3 | 1540 | 394 |
| 4 | 3357 | 393 |
| 5 | 5003 | 393 |
28 alts after pruning (28 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 97 | 18 | 115 |
| Fresh | 17 | 10 | 27 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 115 | 28 | 143 |
| Status | Error | Program |
| 43.2b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 2))) 2)) | |
| 26.1b | (+.f64 (pow.f64 (*.f64 a (fma.f64 (*.f64 (*.f64 angle angle) (pow.f64 (PI.f64) 2)) -1/64800 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2)) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) 3) 2)) | |
| 33.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 b b))))) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 43.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 24.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) b))) 2)) | |
| 23.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2))) 1)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 37.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b))) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 20.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) b)) | |
| 27.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2)) | |
| 20.6b | (+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 31.7b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2)) | |
| 24.1b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| ▶ | 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) |
| 19.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2)))) | |
| 37.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (exp.f64 (log.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 23.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2)) | |
| 29.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3) 1/3) 2)) | |
| 28.6b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 angle 180) 3) (pow.f64 (PI.f64) 3))))) 2)) | |
| 24.0b | (+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 25.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2) 3))) |
Compiled 4232 to 3299 computations (22% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) |
| ✓ | 0.3b | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) |
| 0.3b | (*.f64 (PI.f64) (/.f64 angle 180)) | |
| 24.0b | (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) |
2 calls:
| 53.0ms | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) |
| 30.0ms | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) |
| 2× | batch-egg-rewrite |
| 551× | log-prod_binary64 |
| 338× | prod-diff_binary64 |
| 210× | expm1-udef_binary64 |
| 210× | log1p-udef_binary64 |
| 187× | log-pow_binary64 |
2 calls:
| 105.0ms | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) |
| 105.0ms | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 29 |
| 1 | 252 | 29 |
| 2 | 2738 | 29 |
| 3 | 5051 | 29 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 846× | fma-neg_binary64 |
| 645× | unswap-sqr_binary64 |
| 634× | cancel-sign-sub-inv_binary64 |
| 359× | distribute-rgt-neg-in_binary64 |
| 351× | distribute-lft-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 74 | 998 |
| 1 | 217 | 990 |
| 2 | 753 | 969 |
| 3 | 1932 | 954 |
| 4 | 4694 | 954 |
| 5 | 5015 | 954 |
29 alts after pruning (29 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 117 | 3 | 120 |
| Fresh | 1 | 26 | 27 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 119 | 29 | 148 |
| Status | Error | Program |
| 43.2b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 2))) 2)) | |
| 26.1b | (+.f64 (pow.f64 (*.f64 a (fma.f64 (*.f64 (*.f64 angle angle) (pow.f64 (PI.f64) 2)) -1/64800 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2)) | |
| 27.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2)) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) 3) 2)) | |
| 33.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 b b))))) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)))) 2)) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 43.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 24.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) b))) 2)) | |
| 23.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2))) 1)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 37.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b))) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| ▶ | 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) 2)) |
| 20.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) b)) | |
| 27.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2)) | |
| 20.6b | (+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 31.7b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2)) | |
| 19.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2)))) | |
| 37.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (exp.f64 (log.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 29.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3) 1/3) 2)) | |
| 28.6b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 angle 180) 3) (pow.f64 (PI.f64) 3))))) 2)) | |
| 24.0b | (+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 24.1b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 25.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2) 3))) | |
| 23.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) |
Compiled 4552 to 3568 computations (21.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) |
| ✓ | 0.3b | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) 2) |
| ✓ | 0.5b | (/.f64 (PI.f64) (/.f64 180 angle)) |
| ✓ | 23.9b | (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) |
4 calls:
| 51.0ms | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) 2) |
| 32.0ms | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) |
| 7.0ms | (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) |
| 6.0ms | (/.f64 (PI.f64) (/.f64 180 angle)) |
| 2× | batch-egg-rewrite |
| 796× | prod-diff_binary64 |
| 217× | expm1-udef_binary64 |
| 217× | log1p-udef_binary64 |
| 123× | add-sqr-sqrt_binary64 |
| 120× | expm1-log1p-u_binary64 |
4 calls:
| 102.0ms | (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) |
| 102.0ms | (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))))) 2) |
| 102.0ms | (/.f64 (PI.f64) (/.f64 180 angle)) |
| 102.0ms | (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 47 |
| 1 | 257 | 47 |
| 2 | 2950 | 47 |
| 3 | 4959 | 47 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 688× | fma-neg_binary64 |
| 415× | distribute-rgt-neg-in_binary64 |
| 406× | distribute-lft-neg-in_binary64 |
| 351× | fma-def_binary64 |
| 344× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 1296 |
| 1 | 253 | 1284 |
| 2 | 897 | 1254 |
| 3 | 2276 | 1230 |
| 4 | 4837 | 1230 |
| 5 | 4982 | 1230 |
33 alts after pruning (33 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 117 | 15 | 132 |
| Fresh | 10 | 18 | 28 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 128 | 33 | 161 |
| Status | Error | Program |
| 19.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b) 2)))) | |
| 26.1b | (+.f64 (pow.f64 (*.f64 a (fma.f64 (*.f64 (*.f64 angle angle) (pow.f64 (PI.f64) 2)) -1/64800 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 23.9b | (+.f64 (pow.f64 (*.f64 a 1) 2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b) 4))) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 23.9b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b)) 2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b) 4)))) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) 3) 2)) | |
| 43.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (sqrt.f64 (/.f64 180 angle))) (/.f64 (cbrt.f64 (PI.f64)) (sqrt.f64 (/.f64 180 angle)))))))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 21.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) (*.f64 b (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b)))) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) 180) (/.f64 (cbrt.f64 (PI.f64)) (/.f64 1 angle))))))) 2)) | |
| 19.2b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b)))) | |
| 43.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2)) | |
| 24.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) b))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 180 angle)) 2)) (/.f64 (PI.f64) (cbrt.f64 (/.f64 180 angle)))))))) 2)) | |
| 23.3b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2))) 1)) | |
| 24.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b))) 2)) | |
| 20.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) b)) | |
| 27.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2)) | |
| 20.6b | (+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 31.7b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2)) | |
| 24.1b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (pow.f64 (/.f64 (/.f64 180 angle) (PI.f64)) -1))))) 2)) | |
| 28.9b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) b) 3) 1/3) 2)) | |
| 43.1b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (pow.f64 (sqrt.f64 (/.f64 (PI.f64) (/.f64 180 angle))) 2))))) 2)) | |
| 25.8b | (+.f64 (pow.f64 (*.f64 a 1) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2) 3))) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (cbrt.f64 (/.f64 (PI.f64) (/.f64 180 angle))) (pow.f64 (cbrt.f64 (/.f64 (PI.f64) (/.f64 180 angle))) 2)))))) 2)) | |
| 19.5b | (+.f64 (pow.f64 (*.f64 a 1) 2) (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) b) 2)))) | |
| 23.7b | (+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) | |
| 19.3b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (*.f64 (/.f64 (PI.f64) 180) (pow.f64 (cbrt.f64 angle) 2)) (cbrt.f64 angle)))))) 2)) | |
| 28.0b | (+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle))) 2))) | |
| 19.4b | (+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (sin.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) 1) (/.f64 (cbrt.f64 (PI.f64)) (/.f64 180 angle))))))) 2)) | |
| 24.0b | (+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)) |
Compiled 4116 to 3209 computations (22% saved)
Total 1.2b remaining (6%)
Threshold costs 0b (0%)
Compiled 32061 to 26415 computations (17.6% saved)
| 1× | egg-herbie |
| 4× | *-commutative_binary64 |
| 2× | *-rgt-identity_binary64 |
| 1× | +-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 26 |
| 1 | 26 | 26 |
| 2 | 25 | 26 |
Compiled 949 to 785 computations (17.3% saved)
Loading profile data...