Details

Time bar (total: 2.5min)

analyze22.3s (14.9%)

Algorithm
search
Search
TrueOtherFalseIter
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
Compiler

Compiled 175 to 127 computations (27.4% saved)

sample54.1s (36.1%)

Results
19.4s1670×body4096valid
11.0s1428×body2048valid
10.6s1703×body1024valid
6.7s91×body8192exit
3.0s703×body512valid
2.5s2409×body128valid
903.0ms343×body256valid
Compiler

Compiled 524 to 380 computations (27.5% saved)

simplify21.0ms (0%)

Algorithm
egg-herbie
Rules
637×times-frac_binary64
293×associate-/l/_binary64
243×div-sub_binary64
198×fma-def_binary64
174×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
046273
1115265
2345265
31608265
Stop Event
node limit
Counts
1 → 2

prune17.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
54.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
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)))
Compiler

Compiled 1024 to 708 computations (30.9% saved)

localize49.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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)))

series51.6s (34.4%)

Counts
4 → 144
Calls

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)))

rewrite111.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
501×log1p-expm1-u_binary64
501×expm1-log1p-u_binary64
171×log-prod_binary64
162×unpow-prod-down_binary64
141×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
044484
11038456
Stop Event
node limit
Counts
4 → 90
Calls

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)))

simplify3.7s (2.5%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010887673290
Stop Event
node limit
Counts
234 → 187

prune10.4s (6.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New39314407
Fresh011
Picked101
Done000
Total39415409
Error
36.6b
Counts
409 → 15
Alt Table
StatusErrorProgram
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)))
Compiler

Compiled 401814 to 283386 computations (29.5% saved)

localize47.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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))))

series911.0ms (0.6%)

Counts
4 → 76
Calls

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))))

rewrite87.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
390×log1p-expm1-u_binary64
390×expm1-log1p-u_binary64
370×add-log-exp_binary64
361×pow1_binary64
121×unpow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037296
1869286
Stop Event
node limit
Counts
4 → 79
Calls

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))))

simplify59.0ms (0%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
500×associate-/l*_binary64
391×fma-def_binary64
261×cancel-sign-sub-inv_binary64
135×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01323372
13993359
214683264
Stop Event
node limit
Counts
155 → 125

prune1.7s (1.1%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New29411305
Fresh41014
Picked101
Done000
Total29921320
Error
23.1b
Counts
320 → 21
Alt Table
StatusErrorProgram
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)))
Compiler

Compiled 48635 to 33318 computations (31.5% saved)

localize25.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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))))

series94.0ms (0.1%)

Counts
2 → 48
Calls

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)))

rewrite33.0ms (0%)

Algorithm
batch-egg-rewrite
Rules
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
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02565
153362
Stop Event
node limit
Counts
2 → 34
Calls

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)))

simplify45.0ms (0%)

Algorithm
egg-herbie
Rules
492×associate-*r*_binary64
435×fma-neg_binary64
391×associate-*l*_binary64
383×distribute-rgt-neg-in_binary64
349×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0731298
12161292
27141288
334881288
Stop Event
node limit
Counts
82 → 54

prune342.0ms (0.2%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New881199
Fresh91120
Picked101
Done000
Total9822120
Error
17.8b
Counts
120 → 22
Alt Table
StatusErrorProgram
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)))
Compiler

Compiled 8390 to 5807 computations (30.8% saved)

localize23.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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)))

series246.0ms (0.2%)

Counts
3 → 56
Calls

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)))

rewrite39.0ms (0%)

Algorithm
batch-egg-rewrite
Rules
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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022116
1465116
Stop Event
node limit
Counts
3 → 55
Calls

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)))

simplify47.0ms (0%)

Algorithm
egg-herbie
Rules
487×fma-neg_binary64
354×associate-*r*_binary64
311×distribute-rgt-neg-in_binary64
307×distribute-lft-neg-in_binary64
277×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0681606
12101596
26971594
330661580
Stop Event
node limit
Counts
111 → 76

prune454.0ms (0.3%)

Pruning

29 alts after pruning (28 fresh and 1 done)

PrunedKeptTotal
New11913132
Fresh61521
Picked011
Done000
Total12529154
Error
17.4b
Counts
154 → 29
Alt Table
StatusErrorProgram
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)))
Compiler

Compiled 7790 to 5700 computations (26.8% saved)

regimes3.6s (2.4%)

Compiler

Compiled 119168 to 83634 computations (29.8% saved)

Profiling

Loading profile data...