Simplification of discriminant from scale-rotated-ellipse

Time bar (total: 2.5min)

analyze1.6min (63.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
25%24.9%74.8%0.2%0%0%0%6
25%24.9%74.8%0.2%0%0%0%7
25%24.9%74.8%0.2%0%0%0%8
25%24.9%74.8%0.2%0%0%0%9
37.5%37.4%62.3%0.2%0%0%0%10
56.3%56.1%43.6%0.2%0%0%0%11
56.3%56.1%43.6%0.2%0%0%0%12
Compiler

Compiled 115 to 84 computations (27% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.6min
Operation ival-cos, time spent: 46.5s, 49.0% of total-time
Operation ival-sin, time spent: 45.7s, 49.0% of total-time
Operation ival-mult, time spent: 960.0ms, 1.0% of total-time
Operation ival-div, time spent: 403.0ms, 0.0% of total-time
Operation ival-pow, time spent: 298.0ms, 0.0% of total-time
Operation ival-add, time spent: 127.0ms, 0.0% of total-time
Operation const, time spent: 91.0ms, 0.0% of total-time
Operation ival-sub, time spent: 42.0ms, 0.0% of total-time
Operation ival-pi, time spent: 13.0ms, 0.0% of total-time

sample29.8s (19.9%)

Results
2.3s2467×256valid
4.7s996×2048valid
1.1s778×256infinite
2.2s705×1024valid
3.2s684×2048infinite
5.5s683×4096valid
1.2s564×512valid
1.9s507×1024infinite
857.0ms444×512infinite
3.6s427×4096infinite
2.0ms512infinite
Precisions
Click to see histograms. Total time spent on operations: 23.1s
Operation ival-mult, time spent: 5.4s, 23.0% of total-time
Operation ival-sin, time spent: 5.0s, 22.0% of total-time
Operation ival-cos, time spent: 4.3s, 18.0% of total-time
Operation ival-div, time spent: 4.1s, 18.0% of total-time
Operation ival-pow, time spent: 3.1s, 13.0% of total-time
Operation ival-sub, time spent: 479.0ms, 2.0% of total-time
Operation const, time spent: 326.0ms, 1.0% of total-time
Operation ival-add, time spent: 325.0ms, 1.0% of total-time
Operation ival-pi, time spent: 169.0ms, 1.0% of total-time
Bogosity

preprocess10.3s (6.9%)

Algorithm
egg-herbie
Rules
1260×associate-/r*
1012×fma-define
604×distribute-lft-neg-in
568×associate-*l*
558×distribute-rgt-neg-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1450-0-(-.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)))
1160-0-(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
1160-0-(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
380-1(1.673466526164818e-266 2.548830469641181e+117 5.192446853847179e+198 5.624889611498675e-13 3.452058891266069e+274)(*.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))
300-0-(/.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)
300-0-(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
270-1(7.895290334631915e-36 9.35763522703093e-235 5.194544711711462e-97 3.247953957933259e+150 1.368455279122645e-238)(/.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)
230-1(4.801991169217165e-178 1.936045713837028e-155 3.984082101760018e-212 1.8610429211319666e-14 7.9708122396708165e+152)(/.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)
230-0-(/.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)
120-0-(/.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)
120-0-(-.f64 (pow.f64 b 2) (pow.f64 a 2))
60-0-(/.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)
092(1.1082159371318892e+43 1.5907501203410584e+98 1.6528382092687593e-25 2.9173148867364023e-93 1.246574541156373e+121)0-(pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
00-0-y-scale
00-0-180
080(1.1082159371318892e+43 1.5907501203410584e+98 1.6528382092687593e-25 2.9173148867364023e-93 1.246574541156373e+121)0-(pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
00-0-(PI.f64)
00-0-(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
00-0-(*.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))))
00-0-(*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
00-0-(+.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))
00-0-a
00-0-(*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
090(1.1082159371318892e+43 1.5907501203410584e+98 1.6528382092687593e-25 2.9173148867364023e-93 1.246574541156373e+121)0-(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
00-0-(*.f64 (/.f64 angle 180) (PI.f64))
00-0-b
00-0-(/.f64 angle 180)
00-0-(+.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))
00-0-angle
074(5.971539810649547e-34 3.598165452878423e-107 2.9775705202980262e+190 7.127089776007411e+278 4.0679866521947e-119)0-(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
00-0-(*.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))
00-0-(*.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))
00-0-(*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
00-0-(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
00-0-(pow.f64 b 2)
00-0-4
00-0-2
00-0-(pow.f64 a 2)
00-0-x-scale
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03499230
19689062
238078930
Stop Event
node limit
Calls
Call 1
Inputs
(-.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)))
(-.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)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.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 (neg.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 (neg.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 (neg.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 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.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 (neg.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 (neg.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 (neg.f64 b) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.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 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.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)))) (neg.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)))) (neg.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)) (neg.f64 x-scale)) (neg.f64 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)))
(-.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) (neg.f64 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) (neg.f64 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)) (neg.f64 y-scale)) (neg.f64 y-scale))))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.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 (neg.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 (neg.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 (neg.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))))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.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 (neg.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 (neg.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 (neg.f64 b) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale))))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.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 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) y-scale) y-scale))))
(neg.f64 (-.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)))) (neg.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)))) (neg.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)) (neg.f64 x-scale)) (neg.f64 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))))
(neg.f64 (-.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) (neg.f64 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) (neg.f64 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)) (neg.f64 y-scale)) (neg.f64 y-scale)))))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 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 a 2) (pow.f64 b 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 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) a) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) a) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) a) a)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x-scale (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 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) a) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) a)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y-scale (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 y-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) a) a)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) b) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) b) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) b) b)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 x-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) b) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) b)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 y-scale (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 y-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) b) b)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) angle) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) angle) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2)) angle) angle)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) x-scale) angle) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) x-scale) angle)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2)) angle) angle)))
(-.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)))) y-scale) x-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)))) y-scale) x-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)) y-scale) y-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)) x-scale) x-scale)))
Outputs
(-.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)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.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)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.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 (neg.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 (neg.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 (neg.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 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.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 (neg.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 (neg.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 (neg.f64 b) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.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 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.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)))) (neg.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)))) (neg.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)) (neg.f64 x-scale)) (neg.f64 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)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.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) (neg.f64 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) (neg.f64 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)) (neg.f64 y-scale)) (neg.f64 y-scale))))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.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 (neg.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 (neg.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 (neg.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))))
(neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 y-scale 2))))))
(neg.f64 (fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4))))
(-.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)) (pow.f64 x-scale 2)) (*.f64 4 (/.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)) (pow.f64 y-scale 2)))) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.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 (neg.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 (neg.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 (neg.f64 b) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale))))
(neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 y-scale 2))))))
(neg.f64 (fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4))))
(-.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)) (pow.f64 x-scale 2)) (*.f64 4 (/.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)) (pow.f64 y-scale 2)))) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.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 (neg.f64 angle) 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)) y-scale) y-scale))))
(neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 y-scale 2))))))
(neg.f64 (fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4))))
(-.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)) (pow.f64 x-scale 2)) (*.f64 4 (/.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)) (pow.f64 y-scale 2)))) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(neg.f64 (-.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)))) (neg.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)))) (neg.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)) (neg.f64 x-scale)) (neg.f64 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))))
(neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 y-scale 2))))))
(neg.f64 (fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4))))
(-.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)) (pow.f64 x-scale 2)) (*.f64 4 (/.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)) (pow.f64 y-scale 2)))) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(neg.f64 (-.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) (neg.f64 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) (neg.f64 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)) (neg.f64 y-scale)) (neg.f64 y-scale)))))
(neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)) (pow.f64 y-scale 2))))))
(neg.f64 (fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4))))
(-.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)) (pow.f64 x-scale 2)) (*.f64 4 (/.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)) (pow.f64 y-scale 2)))) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 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 a 2) (pow.f64 b 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 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(fma.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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 a 180))))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 a 180))))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (/.f64 (*.f64 (sin.f64 (*.f64 a (/.f64 (PI.f64) 180))) (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) (*.f64 x-scale y-scale))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (/.f64 (*.f64 (sin.f64 (*.f64 a (/.f64 (PI.f64) 180))) (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2)) (pow.f64 x-scale 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 a (/.f64 (PI.f64) 180))) x-scale)) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 a (/.f64 (PI.f64) 180))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) a) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) a) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) a) a)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x-scale (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 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale a)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale a))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 a 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2)))) (*.f64 a y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2)))) (*.f64 a y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) x-scale) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) x-scale) 2)) (pow.f64 a 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 a 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 b 2) (pow.f64 x-scale 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) a) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) a)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y-scale (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 y-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) a) a)))
(-.f64 (*.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 a x-scale)) (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 a x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 a 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2)))) (*.f64 a x-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2)))) (*.f64 a x-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) y-scale) 2)) (pow.f64 a 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) y-scale) 2)) (pow.f64 x-scale 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 a 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 b 2) (pow.f64 y-scale 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) a) a))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (*.f64 (sin.f64 (/.f64 (*.f64 b (PI.f64)) 180)) (cos.f64 (/.f64 (*.f64 b (PI.f64)) 180)))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (*.f64 (sin.f64 (/.f64 (*.f64 b (PI.f64)) 180)) (cos.f64 (/.f64 (*.f64 b (PI.f64)) 180)))) (*.f64 y-scale x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 b (PI.f64)) 180))) 2) (pow.f64 (*.f64 angle (cos.f64 (/.f64 (*.f64 b (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 b (PI.f64)) 180))) 2) (pow.f64 (*.f64 angle (sin.f64 (/.f64 (*.f64 b (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (*.f64 b (/.f64 (PI.f64) 180))))) (/.f64 (cos.f64 (*.f64 b (/.f64 (PI.f64) 180))) (*.f64 x-scale y-scale))) (*.f64 (*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (*.f64 b (/.f64 (PI.f64) 180))))) (/.f64 (cos.f64 (*.f64 b (/.f64 (PI.f64) 180))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 angle (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2)) (pow.f64 x-scale 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 angle (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 b (/.f64 (PI.f64) 180))) x-scale)) (*.f64 (*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 b (/.f64 (PI.f64) 180))) x-scale)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) b) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) b) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) b) b)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 x-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale b)) (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale b))) (*.f64 4 (*.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))) x-scale) 2)) (pow.f64 b 2)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2)))) (*.f64 b y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2)))) (*.f64 b y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) x-scale) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) x-scale) 2)) (pow.f64 b 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) 2)) (pow.f64 y-scale 2)) (*.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))) x-scale) 2)) (pow.f64 b 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 x-scale 2) (pow.f64 a 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) b) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) b)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 y-scale (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 y-scale (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) b) b)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 b x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 b x-scale))) (*.f64 4 (*.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))) y-scale) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 b 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2)))) (*.f64 b x-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (*.f64 2 (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2)))) (*.f64 b x-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) y-scale) 2)) (pow.f64 b 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) y-scale) 2)) (pow.f64 x-scale 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale) 2)) (pow.f64 b 2)) (*.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))) y-scale) 2)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 y-scale 2) (pow.f64 a 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) b) b))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) angle) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) angle) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2)) angle) angle)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 x-scale 180) (PI.f64)))) 2)) y-scale) y-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 x-scale 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 x-scale 180))))) (*.f64 y-scale angle)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 x-scale 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 x-scale 180))))) (*.f64 y-scale angle))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 x-scale 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 x-scale 180)))) 2)) (pow.f64 angle 2)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 x-scale 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 x-scale 180)))) 2)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180))) (*.f64 angle y-scale))) (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180))) (*.f64 angle y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2)) (pow.f64 angle 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) 2)) (pow.f64 angle 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180))) angle)) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 x-scale (/.f64 (PI.f64) 180)))) (/.f64 (cos.f64 (*.f64 x-scale (/.f64 (PI.f64) 180))) angle)))) y-scale) y-scale))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) x-scale) angle) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) x-scale) angle)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 y-scale 180) (PI.f64)))) 2)) angle) angle)))
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180)) (cos.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180)))) (*.f64 angle x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180)) (cos.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180)))) (*.f64 angle x-scale))) (*.f64 4 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 y-scale (PI.f64)) 180))) 2)) (pow.f64 angle 2)))))
(fma.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) (*.f64 angle x-scale))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) (*.f64 angle x-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2)) (pow.f64 angle 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2)) (pow.f64 x-scale 2)) -4)))
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2)) (pow.f64 angle 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) 2)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) (/.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180))) x-scale)) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 y-scale 180)))) (/.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 y-scale 180))) x-scale)))) angle) angle))
(-.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)))) y-scale) x-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)))) y-scale) x-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)) y-scale) y-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)) x-scale) x-scale)))
(-.f64 (*.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (*.f64 2 (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale x-scale))) (*.f64 4 (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 2 (*.f64 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
(fma.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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
Symmetry

(abs a)

(abs b)

(abs angle)

(abs x-scale)

(abs y-scale)

Results
555.0ms124×256valid
749.0ms68×512valid
1.5s64×2048valid
288.0ms54×256infinite
587.0ms42×1024valid
857.0ms38×2048infinite
1.6s34×4096infinite
1.5s31×4096valid
303.0ms30×512infinite
417.0ms24×1024infinite
639.0ms8192infinite
49.0ms4096valid
Compiler

Compiled 1318 to 927 computations (29.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.3s
Operation ival-sin, time spent: 2.6s, 31.0% of total-time
Operation ival-mult, time spent: 1.7s, 21.0% of total-time
Operation ival-cos, time spent: 1.6s, 19.0% of total-time
Operation ival-div, time spent: 1.1s, 14.0% of total-time
Operation ival-pow, time spent: 936.0ms, 11.0% of total-time
Operation ival-sub, time spent: 174.0ms, 2.0% of total-time
Operation const, time spent: 106.0ms, 1.0% of total-time
Operation ival-add, time spent: 101.0ms, 1.0% of total-time
Operation ival-pi, time spent: 12.0ms, 0.0% of total-time

eval5.0ms (0%)

Compiler

Compiled 328 to 230 computations (29.9% saved)

prune11.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
19.9%
(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)) (pow.f64 y-scale 2)) (*.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)) (pow.f64 x-scale 2)) -4) (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)) (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale)))) y-scale) y-scale))
22.5%
(fma.f64 (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180)) (/.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 2 (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180)))) (*.f64 x-scale y-scale))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 y-scale 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2)) (pow.f64 x-scale 2)) -4)))
25.9%
(-.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)))
20.4%
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale)) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale x-scale))) (*.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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2)))))
Compiler

Compiled 452 to 325 computations (28.1% saved)

localize15.0s (10%)

Results
721.0ms56×256valid
1.1s31×512valid
2.5s29×2048valid
502.0ms25×256infinite
1.0s19×1024valid
1.6s15×2048infinite
2.2s15×4096valid
437.0ms14×512infinite
2.3s14×4096infinite
1.1s10×1024infinite
1.1s8192infinite
Compiler

Compiled 2222 to 1509 computations (32.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.3s
Operation ival-sin, time spent: 4.6s, 34.0% of total-time
Operation ival-cos, time spent: 2.3s, 17.0% of total-time
Operation ival-mult, time spent: 2.3s, 17.0% of total-time
Operation ival-div, time spent: 1.7s, 13.0% of total-time
Operation ival-pow, time spent: 1.7s, 13.0% of total-time
Operation ival-sub, time spent: 341.0ms, 3.0% of total-time
Operation ival-add, time spent: 242.0ms, 2.0% of total-time
Operation const, time spent: 148.0ms, 1.0% of total-time
Operation composed, time spent: 20.0ms, 0.0% of total-time
Operation ival-pi, time spent: 13.0ms, 0.0% of total-time

Profiling

Loading profile data...