Time bar (total: 1.1min)
| 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 |
| 0% | 99.8% | 0.2% | 9 |
| 0% | 99.8% | 0.2% | 10 |
| 6.2% | 93.5% | 0.2% | 11 |
| 6.2% | 93.5% | 0.2% | 12 |
| 7.8% | 92% | 0.2% | 13 |
| 8.6% | 91.2% | 0.2% | 14 |
Compiled 115 to 84 computations (27% saved)
| 12.5s | 1484× | body | 4096 | valid |
| 9.3s | 1780× | body | 2048 | valid |
| 7.5s | 876× | body | 4096 | invalid |
| 6.3s | 1184× | body | 2048 | invalid |
| 3.0s | 869× | body | 1024 | valid |
| 2.9s | 3530× | body | 128 | valid |
| 2.3s | 646× | body | 1024 | invalid |
| 1.2s | 65× | body | 8192 | valid |
| 839.0ms | 370× | body | 512 | valid |
| 755.0ms | 1071× | body | 128 | invalid |
| 696.0ms | 293× | body | 512 | invalid |
| 439.0ms | 24× | body | 8192 | invalid |
| 235.0ms | 158× | body | 256 | valid |
| 171.0ms | 118× | body | 256 | invalid |
Compiled 230 to 168 computations (27% saved)
| 2× | egg-herbie |
| 432× | fma-def_binary64 |
| 225× | distribute-neg-frac_binary64 |
| 202× | distribute-lft-in_binary64 |
| 202× | distribute-rgt-in_binary64 |
| 193× | associate-*r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 249 | 1925 |
| 1 | 735 | 1903 |
| 2 | 2737 | 1903 |
| 0 | 5 | 5 |
| 1× | saturated |
| 1× | node limit |
Compiled 114 to 83 computations (27.2% saved)
| 1× | egg-herbie |
| 545× | associate-/l/_binary64 |
| 526× | associate-/r/_binary64 |
| 263× | distribute-rgt-in_binary64 |
| 260× | distribute-lft-in_binary64 |
| 157× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 175 |
| 1 | 104 | 173 |
| 2 | 339 | 173 |
| 3 | 1688 | 170 |
| 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 |
| 48.7b | (fma.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 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) -4) (*.f64 (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) x-scale) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))) | |
| ▶ | 42.3b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) |
Compiled 670 to 462 computations (31% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 12.1b | (*.f64 (*.f64 4 (/.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)) |
| ✓ | 29.4b | (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| ✓ | 29.7b | (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) |
| ✓ | 32.0b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) |
36 calls:
| 200.0ms | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) | angle | -inf |
| 192.0ms | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) | angle | inf |
| 176.0ms | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) | y-scale | 0 |
| 172.0ms | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) | y-scale | inf |
| 166.0ms | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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))) | x-scale | 0 |
| 1× | batch-egg-rewrite |
| 429× | log1p-expm1-u_binary64 |
| 429× | expm1-log1p-u_binary64 |
| 413× | add-log-exp_binary64 |
| 398× | pow1_binary64 |
| 152× | log-prod_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 238 |
| 1 | 918 | 226 |
| 1× | node limit |
| 1× | egg-herbie |
| 465× | times-frac_binary64 |
| 357× | associate-/l*_binary64 |
| 342× | associate-*r*_binary64 |
| 277× | associate-/r*_binary64 |
| 263× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 297 | 18027 |
| 1 | 1275 | 17004 |
| 1× | node limit |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 284 | 11 | 295 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 286 | 11 | 297 |
| Status | Error | Program |
| 42.3b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 1 (sin.f64 (*.f64 (*.f64 angle 1/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))) | |
| 37.3b | (/.f64 (neg.f64 (fma.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (/.f64 y-scale (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) y-scale))) (fma.f64 4 (*.f64 (*.f64 (/.f64 a y-scale) (/.f64 a y-scale)) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) 8) (/.f64 (/.f64 y-scale (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) y-scale)) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))))) (*.f64 x-scale x-scale)) | |
| 46.8b | (-.f64 (*.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) (/.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)) (/.f64 (*.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) 4) (/.f64 (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale))) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b) (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))))) | |
| 35.2b | (*.f64 -4 (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale))) | |
| 45.0b | (-.f64 (*.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) (/.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)) (/.f64 (*.f64 (*.f64 4 (/.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (*.f64 b (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) 2) (*.f64 x-scale x-scale))) (/.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (*.f64 b (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) 2) y-scale)) y-scale)) | |
| ▶ | 33.0b | 0 |
| 43.0b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) 3)) 2)) y-scale) y-scale))) | |
| 42.3b | (/.f64 (neg.f64 (fma.f64 4 (*.f64 (*.f64 (/.f64 a x-scale) (/.f64 a x-scale)) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (fma.f64 8 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a)) (/.f64 (*.f64 x-scale x-scale) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b)))) (*.f64 4 (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) x-scale) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) x-scale)))))) (*.f64 y-scale y-scale)) | |
| 41.7b | (-.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))))) (fma.f64 8 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) x-scale) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) x-scale))) (*.f64 4 (+.f64 (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale))) (fma.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))))))))) | |
| 42.4b | (*.f64 (fma.f64 4 (*.f64 (/.f64 (*.f64 b b) (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale)))) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (fma.f64 8 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) (*.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 (/.f64 (*.f64 y-scale y-scale) b) (/.f64 (*.f64 x-scale x-scale) b)))))) (neg.f64 (*.f64 a a))) | |
| 53.8b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (exp.f64 (log.f64 (sin.f64 (*.f64 (*.f64 angle 1/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))) |
Compiled 38448 to 26062 computations (32.2% saved)
11 alts after pruning (10 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 10 | 10 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 0 | 11 | 11 |
| Status | Error | Program |
| 42.3b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 1 (sin.f64 (*.f64 (*.f64 angle 1/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))) | |
| 37.3b | (/.f64 (neg.f64 (fma.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (/.f64 y-scale (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) y-scale))) (fma.f64 4 (*.f64 (*.f64 (/.f64 a y-scale) (/.f64 a y-scale)) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) 8) (/.f64 (/.f64 y-scale (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) y-scale)) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))))) (*.f64 x-scale x-scale)) | |
| 46.8b | (-.f64 (*.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) (/.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)) (/.f64 (*.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) 4) (/.f64 (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale))) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b) (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))))) | |
| ▶ | 35.2b | (*.f64 -4 (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale))) |
| 45.0b | (-.f64 (*.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) (/.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)) (/.f64 (*.f64 (*.f64 4 (/.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (*.f64 b (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) 2) (*.f64 x-scale x-scale))) (/.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) (*.f64 b (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64))))) 2) y-scale)) y-scale)) | |
| ✓ | 33.0b | 0 |
| 43.0b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.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 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))) 3)) 2)) y-scale) y-scale))) | |
| 42.3b | (/.f64 (neg.f64 (fma.f64 4 (*.f64 (*.f64 (/.f64 a x-scale) (/.f64 a x-scale)) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (fma.f64 8 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a)) (/.f64 (*.f64 x-scale x-scale) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b)))) (*.f64 4 (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) x-scale) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) x-scale)))))) (*.f64 y-scale y-scale)) | |
| 41.7b | (-.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))))) (fma.f64 8 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) x-scale) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) x-scale))) (*.f64 4 (+.f64 (*.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale))) (fma.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))))))))) | |
| 42.4b | (*.f64 (fma.f64 4 (*.f64 (/.f64 (*.f64 b b) (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale)))) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (fma.f64 8 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) (*.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 (/.f64 (*.f64 y-scale y-scale) b) (/.f64 (*.f64 x-scale x-scale) b)))))) (neg.f64 (*.f64 a a))) | |
| 53.8b | (-.f64 (*.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) (/.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)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (exp.f64 (log.f64 (sin.f64 (*.f64 (*.f64 angle 1/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))) |
Compiled 2022 to 1328 computations (34.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (*.f64 a b) (*.f64 a b)) |
| ✓ | 15.4b | (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) |
| ✓ | 22.7b | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) |
27 calls:
| 18.0ms | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) | a | inf |
| 18.0ms | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) | b | -inf |
| 17.0ms | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) | b | 0 |
| 13.0ms | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) | a | 0 |
| 13.0ms | (/.f64 (/.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (*.f64 x-scale x-scale)) (*.f64 y-scale y-scale)) | b | inf |
| 1× | batch-egg-rewrite |
| 210× | expm1-udef_binary64 |
| 210× | log1p-udef_binary64 |
| 199× | log-pow_binary64 |
| 122× | times-frac_binary64 |
| 120× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 39 |
| 1 | 241 | 30 |
| 2 | 3681 | 30 |
| 1× | node limit |
| 1× | egg-herbie |
| 772× | associate-/r*_binary64 |
| 461× | associate-/l/_binary64 |
| 399× | associate-*l*_binary64 |
| 392× | associate-*l/_binary64 |
| 328× | associate-*r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 1872 |
| 1 | 46 | 1872 |
| 2 | 154 | 1872 |
| 3 | 1080 | 1872 |
| 1× | node limit |
15 alts after pruning (14 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 100 | 13 | 113 |
| Fresh | 8 | 1 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 109 | 15 | 124 |
| Status | Error | Program |
| 46.8b | (-.f64 (*.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) (/.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)) (/.f64 (*.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) 4) (/.f64 (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale))) (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b) (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))))))) | |
| 21.2b | (*.f64 -4 (*.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) 1) (/.f64 (/.f64 a (/.f64 x-scale b)) (*.f64 y-scale y-scale)))) | |
| ✓ | 33.0b | 0 |
| 29.9b | (*.f64 -4 (/.f64 (*.f64 (/.f64 a x-scale) (/.f64 (*.f64 b (*.f64 a b)) x-scale)) (*.f64 y-scale y-scale))) | |
| 10.2b | (*.f64 -4 (exp.f64 (log.f64 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2)))) | |
| 23.2b | (*.f64 -4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) 3))) | |
| ▶ | 8.2b | (*.f64 -4 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2)) |
| 8.4b | (*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2)) 3)) | |
| 21.5b | (*.f64 -4 (*.f64 (pow.f64 (*.f64 a b) 2) (/.f64 1 (pow.f64 (*.f64 y-scale x-scale) 2)))) | |
| 18.7b | (*.f64 -4 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 a (/.f64 x-scale b)) 2)) 2) y-scale) (/.f64 (cbrt.f64 (pow.f64 (/.f64 a (/.f64 x-scale b)) 2)) y-scale))) | |
| 29.1b | (*.f64 -4 (*.f64 (/.f64 (pow.f64 (*.f64 a b) 2) y-scale) (/.f64 (pow.f64 x-scale -2) y-scale))) | |
| 29.3b | (*.f64 -4 (*.f64 (*.f64 b b) (*.f64 (/.f64 a x-scale) (/.f64 a (*.f64 y-scale (*.f64 y-scale x-scale)))))) | |
| 31.6b | (*.f64 -4 (*.f64 (/.f64 (*.f64 a b) (*.f64 y-scale y-scale)) (/.f64 (*.f64 a b) (*.f64 x-scale x-scale)))) | |
| 18.5b | (*.f64 -4 (*.f64 (/.f64 (pow.f64 (/.f64 a (/.f64 x-scale b)) 2) y-scale) (/.f64 1 y-scale))) | |
| 35.6b | (*.f64 -4 (/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 a b) 2)) (/.f64 1 (*.f64 x-scale (neg.f64 x-scale)))) (*.f64 y-scale y-scale))) |
Compiled 2799 to 1517 computations (45.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) |
| ✓ | 5.4b | (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) |
| ✓ | 7.7b | (/.f64 a (/.f64 x-scale b)) |
33 calls:
| 7.0ms | (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) | y-scale | inf |
| 6.0ms | (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) | a | -inf |
| 4.0ms | (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) | x-scale | -inf |
| 4.0ms | (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) | b | -inf |
| 3.0ms | (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2) | b | inf |
| 1× | batch-egg-rewrite |
| 623× | log-prod_binary64 |
| 198× | expm1-udef_binary64 |
| 198× | log1p-udef_binary64 |
| 190× | log-div_binary64 |
| 178× | log-pow_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 30 |
| 1 | 221 | 30 |
| 2 | 3174 | 30 |
| 1× | node limit |
| 1× | egg-herbie |
| 798× | associate-/r*_binary64 |
| 486× | associate-/l/_binary64 |
| 476× | associate-*l/_binary64 |
| 459× | associate-*l*_binary64 |
| 379× | associate-*r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 1788 |
| 1 | 66 | 1788 |
| 2 | 182 | 1788 |
| 3 | 1054 | 1788 |
| 1× | node limit |
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 143 | 9 | 152 |
| Fresh | 9 | 4 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 153 | 14 | 167 |
| Status | Error | Program |
| 8.7b | (*.f64 -4 (*.f64 (cbrt.f64 (pow.f64 (/.f64 a (/.f64 y-scale (/.f64 b x-scale))) 2)) (*.f64 (cbrt.f64 (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))) (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))))) | |
| 6.0b | (*.f64 -4 (pow.f64 (/.f64 (*.f64 a b) (*.f64 y-scale x-scale)) 2)) | |
| 11.9b | (*.f64 -4 (*.f64 (*.f64 a (/.f64 b x-scale)) (*.f64 (/.f64 1 y-scale) (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))))) | |
| ✓ | 8.2b | (*.f64 -4 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2)) |
| 6.0b | (*.f64 -4 (/.f64 1 (*.f64 (*.f64 y-scale (/.f64 x-scale (*.f64 a b))) (*.f64 y-scale (/.f64 x-scale (*.f64 a b)))))) | |
| 5.8b | (*.f64 -4 (pow.f64 (/.f64 (*.f64 (/.f64 1 x-scale) (/.f64 a (/.f64 1 b))) y-scale) 2)) | |
| 24.2b | (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))) (*.f64 (sqrt.f64 (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))) (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))))) | |
| 26.7b | (*.f64 -4 (*.f64 (/.f64 a y-scale) (*.f64 (/.f64 a y-scale) (*.f64 (/.f64 b (*.f64 x-scale x-scale)) b)))) | |
| 8.4b | (*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 a (/.f64 x-scale b)) y-scale) 2)) 3)) | |
| 21.5b | (*.f64 -4 (*.f64 (pow.f64 (*.f64 a b) 2) (/.f64 1 (pow.f64 (*.f64 y-scale x-scale) 2)))) | |
| 12.1b | (*.f64 -4 (/.f64 (*.f64 (/.f64 a x-scale) (neg.f64 b)) (*.f64 (*.f64 y-scale (/.f64 x-scale (*.f64 a b))) (neg.f64 y-scale)))) | |
| 29.3b | (*.f64 -4 (*.f64 (*.f64 b b) (*.f64 (/.f64 a x-scale) (/.f64 a (*.f64 y-scale (*.f64 y-scale x-scale)))))) | |
| 31.6b | (*.f64 -4 (*.f64 (/.f64 (*.f64 a b) (*.f64 y-scale y-scale)) (/.f64 (*.f64 a b) (*.f64 x-scale x-scale)))) | |
| 12.1b | (*.f64 -4 (/.f64 (*.f64 a (/.f64 a (/.f64 y-scale (/.f64 b x-scale)))) (/.f64 y-scale (/.f64 b x-scale)))) |
Compiled 2893 to 1335 computations (53.9% saved)
Total 5.8b remaining (98.4%)
Threshold costs 0b (0%)
Compiled 44408 to 30543 computations (31.2% saved)
| 4× | left-value |
4 calls:
| 0.0ms | (/.f64 angle 180) |
| 0.0ms | (/.f64 angle 180) |
| 0.0ms | (/.f64 angle 180) |
| 0.0ms | (/.f64 angle 180) |
| Iters | Point | Range | ||||
|---|---|---|---|---|---|---|
3.512556767822914e+195 | ∈ [ | 3.512556767822914e+195 | , | 1.5282906873384059e+200 | ] | |
1.0042822233950538e-168 | ∈ [ | 1.0042822233950538e-168 | , | 2.0001824943921353e-168 | ] | |
-3.365480426795039e-296 | ∈ [ | -3.365480426795039e-296 | , | -5.422117172280254e-297 | ] | |
-7.083147212391496e-105 | ∈ [ | -7.083147212391496e-105 | , | -2.9230952562124776e-105 | ] | |
Compiled 8 to 7 computations (12.5% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 116 |
| 1 | 44 | 116 |
| 1× | saturated |
| 1× | fuel |
Compiled 485 to 304 computations (37.3% saved)
Loading profile data...