Time bar (total: 2.5min)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 99.8% | 0.2% | 7 |
| 0% | 99.8% | 0.2% | 8 |
| 2.3% | 97.4% | 0.2% | 9 |
| 3.5% | 96.2% | 0.2% | 10 |
| 5.3% | 94.5% | 0.2% | 11 |
| 6.1% | 93.6% | 0.2% | 12 |
| 9.2% | 90.6% | 0.2% | 13 |
| 13.8% | 85.9% | 0.2% | 14 |
Compiled 175 to 127 computations (27.4% saved)
| 19.4s | 1670× | body | 4096 | valid |
| 11.0s | 1428× | body | 2048 | valid |
| 10.6s | 1703× | body | 1024 | valid |
| 6.7s | 91× | body | 8192 | exit |
| 3.0s | 703× | body | 512 | valid |
| 2.5s | 2409× | body | 128 | valid |
| 903.0ms | 343× | body | 256 | valid |
Compiled 524 to 380 computations (27.5% saved)
| 1× | egg-herbie |
| 637× | times-frac_binary64 |
| 293× | associate-/l/_binary64 |
| 243× | div-sub_binary64 |
| 198× | fma-def_binary64 |
| 174× | distribute-rgt-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 273 |
| 1 | 115 | 265 |
| 2 | 345 | 265 |
| 3 | 1608 | 265 |
| 1× | node limit |
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 |
| ▶ | 54.5b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) |
| 56.2b | (*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))) (PI.f64))) |
Compiled 1024 to 708 computations (30.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 15.0b | (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)) |
| ✓ | 23.1b | (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) |
| ✓ | 26.6b | (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| ✓ | 26.8b | (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
4 calls:
| 34.2s | (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)) |
| 17.3s | (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) |
| 3.0ms | (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| 2.0ms | (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| 1× | batch-egg-rewrite |
| 501× | log1p-expm1-u_binary64 |
| 501× | expm1-log1p-u_binary64 |
| 171× | log-prod_binary64 |
| 162× | unpow-prod-down_binary64 |
| 141× | prod-diff_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 484 |
| 1 | 1038 | 456 |
| 1× | node limit |
4 calls:
| 101.0ms | (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)) |
| 101.0ms | (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) |
| 101.0ms | (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| 101.0ms | (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10887 | 673290 |
| 1× | node limit |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 393 | 14 | 407 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 394 | 15 | 409 |
| Status | Error | Program |
| 56.2b | (*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))) (PI.f64))) | |
| 62.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) 3) 1/3) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 61.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 a 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2))) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2)))))) (/.f64 (pow.f64 b 2) (pow.f64 x-scale 2))))) (*.f64 angle (-.f64 (*.f64 1/180 (*.f64 (PI.f64) (pow.f64 b 2))) (*.f64 1/180 (*.f64 (PI.f64) (pow.f64 a 2))))))))) (PI.f64))) | |
| 56.5b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 (*.f64 1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 54.6b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (sqrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (neg.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 52.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4))))))) (pow.f64 x-scale 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 59.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (*.f64 (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2)))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2)))) (pow.f64 b 2)) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 54.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 53.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 x-scale 2) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 57.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))) (pow.f64 x-scale 4))) (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (pow.f64 x-scale 4))))) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (pow.f64 x-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 x-scale 2))))) (-.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 62.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 a 2)) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 b 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 a 4)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 y-scale (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| ▶ | 52.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) |
| 55.7b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 58.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (+.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (sqrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) 2) (*.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) 2)))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 58.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) |
Compiled 401814 to 283386 computations (29.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 15.9b | (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2)))) |
| ✓ | 17.4b | (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) |
| ✓ | 26.4b | (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
| ✓ | 26.8b | (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
4 calls:
| 562.0ms | (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2)))) |
| 344.0ms | (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) |
| 3.0ms | (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
| 2.0ms | (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
| 1× | batch-egg-rewrite |
| 390× | log1p-expm1-u_binary64 |
| 390× | expm1-log1p-u_binary64 |
| 370× | add-log-exp_binary64 |
| 361× | pow1_binary64 |
| 121× | unpow-prod-down_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 296 |
| 1 | 869 | 286 |
| 1× | node limit |
4 calls:
| 81.0ms | (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2)))) |
| 81.0ms | (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) |
| 81.0ms | (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
| 81.0ms | (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
| 1× | egg-herbie |
| 742× | times-frac_binary64 |
| 500× | associate-/l*_binary64 |
| 391× | fma-def_binary64 |
| 261× | cancel-sign-sub-inv_binary64 |
| 135× | distribute-rgt-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 132 | 3372 |
| 1 | 399 | 3359 |
| 2 | 1468 | 3264 |
| 1× | node limit |
21 alts after pruning (21 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 294 | 11 | 305 |
| Fresh | 4 | 10 | 14 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 299 | 21 | 320 |
| Status | Error | Program |
| 53.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (log.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)))))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 45.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 54.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (+.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2))))))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)))))))) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2))))))) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2))))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 54.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 54.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 57.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))) (pow.f64 x-scale 4))) (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (pow.f64 x-scale 4))))) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (pow.f64 x-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 x-scale 2))))) (-.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 56.2b | (*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))) (PI.f64))) | |
| 62.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) 3) 1/3) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 61.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 a 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2))) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2)))))) (/.f64 (pow.f64 b 2) (pow.f64 x-scale 2))))) (*.f64 angle (-.f64 (*.f64 1/180 (*.f64 (PI.f64) (pow.f64 b 2))) (*.f64 1/180 (*.f64 (PI.f64) (pow.f64 a 2))))))))) (PI.f64))) | |
| ▶ | 36.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) |
| 55.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 x-scale 2)) (*.f64 1/32400 (/.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) (pow.f64 y-scale 2)))) (*.f64 1/32400 (/.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) (pow.f64 x-scale 2)))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 55.7b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 36.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (/.f64 -2 (pow.f64 x-scale 2))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 58.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 55.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2))))))) 3) 1/3)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 46.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 53.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 x-scale 2) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 62.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 a 2)) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 b 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 a 4)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 y-scale (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 45.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (+.f64 (fma.f64 (*.f64 (*.f64 (/.f64 angle x-scale) (/.f64 angle x-scale)) (pow.f64 (PI.f64) 2)) 1/16200 (/.f64 -2 (*.f64 x-scale x-scale))) (*.f64 (*.f64 (/.f64 (pow.f64 angle 4) x-scale) (/.f64 (pow.f64 (PI.f64) 4) x-scale)) -1/1574640000))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 41.6b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (fma.f64 (*.f64 (*.f64 (/.f64 angle x-scale) (/.f64 angle x-scale)) (pow.f64 (PI.f64) 2)) 1/16200 (/.f64 -2 (*.f64 x-scale x-scale)))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 52.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4))))))) (pow.f64 x-scale 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) |
Compiled 48635 to 33318 computations (31.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 12.0b | (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) |
| 26.4b | (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) | |
| ✓ | 26.4b | (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
| 26.8b | (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) |
2 calls:
| 91.0ms | (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) |
| 3.0ms | (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
| 1× | batch-egg-rewrite |
| 241× | add-sqr-sqrt_binary64 |
| 226× | log1p-expm1-u_binary64 |
| 226× | expm1-log1p-u_binary64 |
| 225× | add-log-exp_binary64 |
| 224× | add-cube-cbrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 65 |
| 1 | 533 | 62 |
| 1× | node limit |
2 calls:
| 32.0ms | (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) |
| 32.0ms | (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
| 1× | egg-herbie |
| 492× | associate-*r*_binary64 |
| 435× | fma-neg_binary64 |
| 391× | associate-*l*_binary64 |
| 383× | distribute-rgt-neg-in_binary64 |
| 349× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 1298 |
| 1 | 216 | 1292 |
| 2 | 714 | 1288 |
| 3 | 3488 | 1288 |
| 1× | node limit |
22 alts after pruning (22 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 88 | 11 | 99 |
| Fresh | 9 | 11 | 20 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 98 | 22 | 120 |
| Status | Error | Program |
| 53.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (log.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)))))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 45.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 46.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 43.6b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) 1)))))) (PI.f64))) | |
| 56.2b | (*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))) (PI.f64))) | |
| ▶ | 35.2b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) 3)) (PI.f64))) |
| 41.7b | (*.f64 180 (/.f64 (atan.f64 (-.f64 (*.f64 1/540 (/.f64 (*.f64 y-scale (*.f64 angle (PI.f64))) x-scale)) (*.f64 180 (/.f64 y-scale (*.f64 x-scale (*.f64 angle (PI.f64))))))) (PI.f64))) | |
| 37.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 1 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 38.7b | (*.f64 180 (/.f64 (atan.f64 (*.f64 -180 (/.f64 (/.f64 y-scale x-scale) (*.f64 angle (PI.f64))))) (PI.f64))) | |
| 55.7b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 36.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (/.f64 -2 (pow.f64 x-scale 2))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 39.4b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (PI.f64))) | |
| 58.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (fma.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2) (hypot.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) a) (*.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) b)) 2) (pow.f64 y-scale -2))) (*.f64 (/.f64 2 y-scale) (/.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))) (/.f64 (/.f64 x-scale (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 55.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2))))))) 3) 1/3)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 36.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 54.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 43.6b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 57.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))) (pow.f64 x-scale 4))) (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (pow.f64 x-scale 4))))) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (pow.f64 x-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 x-scale 2))))) (-.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 40.5b | (*.f64 180 (/.f64 (atan.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 (/.f64 y-scale (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) 1/2) x-scale))) (PI.f64))) | |
| 40.3b | (*.f64 180 (/.f64 (atan.f64 (sqrt.f64 (pow.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2))) (PI.f64))) | |
| 36.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 -1 (/.f64 (*.f64 y-scale (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) (*.f64 x-scale (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) (PI.f64))) | |
| 52.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4))))))) (pow.f64 x-scale 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) |
Compiled 8390 to 5807 computations (30.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 12.0b | (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) |
| ✓ | 15.0b | (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) |
| 26.4b | (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) | |
| ✓ | 26.7b | (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
3 calls:
| 155.0ms | (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) |
| 88.0ms | (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) |
| 3.0ms | (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
| 1× | batch-egg-rewrite |
| 227× | add-sqr-sqrt_binary64 |
| 212× | log1p-expm1-u_binary64 |
| 212× | expm1-log1p-u_binary64 |
| 211× | add-cube-cbrt_binary64 |
| 211× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 116 |
| 1 | 465 | 116 |
| 1× | node limit |
3 calls:
| 38.0ms | (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) |
| 38.0ms | (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) |
| 38.0ms | (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) |
| 1× | egg-herbie |
| 487× | fma-neg_binary64 |
| 354× | associate-*r*_binary64 |
| 311× | distribute-rgt-neg-in_binary64 |
| 307× | distribute-lft-neg-in_binary64 |
| 277× | associate-*l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 1606 |
| 1 | 210 | 1596 |
| 2 | 697 | 1594 |
| 3 | 3066 | 1580 |
| 1× | node limit |
29 alts after pruning (28 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 119 | 13 | 132 |
| Fresh | 6 | 15 | 21 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 125 | 29 | 154 |
| Status | Error | Program |
| 53.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (log.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale -2)) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale -2) (sqrt.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale -4) (-.f64 (fma.f64 3 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale -4))) (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 x-scale y-scale) -2)))))))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 45.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 41.0b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (*.f64 (/.f64 (*.f64 1/2 y-scale) (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)) x-scale) 2) -2) (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)))))) 2)) 3)) (PI.f64))) | |
| 35.8b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (/.f64 (/.f64 (neg.f64 y-scale) x-scale) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))) 3)) (PI.f64))) | |
| 36.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 36.5b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x-scale (*.f64 (/.f64 (*.f64 1/2 y-scale) (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)) x-scale) 2) -2) (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))))))) 3) 3)) (PI.f64))) | |
| 37.0b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 -1 (/.f64 (*.f64 y-scale (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) (*.f64 x-scale (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) 3)) (PI.f64))) | |
| 46.0b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 43.6b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) 1)))))) (PI.f64))) | |
| 45.8b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) y-scale) (*.f64 x-scale (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) 1/3) (cbrt.f64 -1)) 3)) (PI.f64))) | |
| 40.5b | (*.f64 180 (/.f64 (atan.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 (/.f64 y-scale (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) 1/2) x-scale))) (PI.f64))) | |
| 35.7b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)))))))) 3)) (PI.f64))) | |
| 56.2b | (*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))) (PI.f64))) | |
| ✓ | 35.2b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) 3)) (PI.f64))) |
| 38.2b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (fma.f64 (*.f64 angle (*.f64 angle (pow.f64 (PI.f64) 2))) -1/64800 1) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) 3)) (PI.f64))) | |
| 37.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 1 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 55.7b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (-.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 y-scale 2)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 x-scale 4)) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 y-scale 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 x-scale 2))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 36.9b | (*.f64 180 (/.f64 (atan.f64 (*.f64 -1 (/.f64 (*.f64 y-scale (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) (*.f64 x-scale (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))))) (PI.f64))) | |
| 50.3b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (exp.f64 x-scale) (*.f64 (/.f64 (*.f64 1/2 y-scale) (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)) x-scale) 2) -2) (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))))))) 3)) (PI.f64))) | |
| 37.5b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y-scale x-scale) (-.f64 (*.f64 (*.f64 angle (PI.f64)) 1/540) (/.f64 180 (*.f64 angle (PI.f64)))))) 3)) (PI.f64))) | |
| 36.1b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (/.f64 -2 (pow.f64 x-scale 2))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))) (PI.f64))) | |
| 39.4b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 1/2 (/.f64 (*.f64 y-scale (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (*.f64 x-scale x-scale)) -2)) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (PI.f64))) | |
| 37.2b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 x-scale (*.f64 (/.f64 (*.f64 1/2 y-scale) (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))) (/.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)) x-scale) 2) -2) (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180))))))))) 3)) (PI.f64))) | |
| 39.9b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 -180 (/.f64 (/.f64 (/.f64 y-scale angle) x-scale) (PI.f64)))) 3)) (PI.f64))) | |
| 54.3b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (*.f64 (/.f64 2 y-scale) (/.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) | |
| 57.8b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (*.f64 -1/2 (/.f64 (*.f64 y-scale (+.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))) (pow.f64 x-scale 4))) (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (pow.f64 x-scale 4))))) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (pow.f64 x-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 x-scale 2))))) (-.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))) (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))))))))) (PI.f64))) | |
| 37.8b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) 3)) (PI.f64))) | |
| 40.9b | (*.f64 180 (/.f64 (atan.f64 (pow.f64 (cbrt.f64 (*.f64 x-scale (/.f64 (*.f64 1/2 (*.f64 y-scale (*.f64 (pow.f64 (/.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) x-scale) 2) -2))) (*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sqrt.f64 (pow.f64 (sin.f64 (*.f64 (*.f64 angle (PI.f64)) 1/180)) 2)))))) 3)) (PI.f64))) | |
| 52.2b | (*.f64 180 (/.f64 (atan.f64 (*.f64 x-scale (/.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 b 2)) (sqrt.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 4)) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4))))))) (pow.f64 x-scale 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) y-scale)))) (PI.f64))) |
Compiled 7790 to 5700 computations (26.8% saved)
Compiled 119168 to 83634 computations (29.8% saved)
Loading profile data...