Details

Time bar (total: 2.5min)

analyze25.8s (17.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
0%99.8%0.2%12
0%99.8%0.2%13
0%99.8%0.2%14
Compiler

Compiled 189 to 125 computations (33.9% saved)

sample1.1s (0.7%)

Algorithm
intervals
Results
417.0ms64×body1024valid
181.0ms29×body1024invalid
135.0ms148×body128valid
112.0ms26×body512valid
58.0ms14×body512invalid
52.0ms53×body128invalid
50.0msbody2048valid
34.0ms13×body256valid
15.0msbody256invalid
Compiler

Compiled 382 to 254 computations (33.5% saved)

simplify55.0ms (0%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
686×associate-*l*_binary64
303×associate-/r*_binary64
262×associate-/l*_binary64
190×associate-*l/_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057292
1159287
2592287
34709283
45020283

prune14.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
63.2b
Counts
2 → 2
Alt Table
StatusErrorProgram
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 8 (*.f64 (*.f64 a (*.f64 b (*.f64 b a))) (*.f64 a (*.f64 b (*.f64 b a))))) (pow.f64 (*.f64 x-scale y-scale) 2)) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 x-scale y-scale)) 2))))))) (/.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 a -4))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 925 to 608 computations (34.3% saved)

localize79.0ms (0.1%)

Local error

Found 4 expressions with local error:

25.4b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
25.4b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
25.4b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
47.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))

rewrite3.1s (2.1%)

Algorithm
rewrite-expression-head
Error
63.0b
Rules
198×times-frac_binary64
130×add-exp-log_binary64
63×*-un-lft-identity_binary64
63×add-sqr-sqrt_binary64
63×add-cube-cbrt_binary64
Counts
4 → 225
Calls

4 calls:

20.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 67488 to 42888 computations (36.5% saved)

series1.8min (70.3%)

Error
47.8b
Counts
4 → 29
Calls

4 calls:

1.7min
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
22.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
18.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
18.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 184156 to 131501 computations (28.6% saved)

simplify2.6s (1.7%)

Algorithm
egg-herbie
Rules
527×*-commutative_binary64
318×associate-*r*_binary64
172×+-commutative_binary64
160×distribute-frac-neg_binary64
158×associate-/l*_binary64
Counts
254 → 237
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01374128175
13906123338
24964123338
34943123338

prune2.3s (1.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New22314237
Fresh101
Picked101
Done000
Total22514239
Error
47.8b
Counts
239 → 14
Alt Table
StatusErrorProgram
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) 4) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (/.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (pow.f64 (*.f64 y-scale x-scale) 2))))
61.6b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)) (fabs.f64 (*.f64 y-scale x-scale))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (*.f64 (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
61.4b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.3b
(exp.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
62.0b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 a a) (*.f64 y-scale y-scale)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))
62.3b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 x-scale x-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)))))))))))
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.1b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
62.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
58.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
60.9b
(*.f64 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))) -1/4)
61.2b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))))
Compiler

Compiled 81392 to 49017 computations (39.8% saved)

localize49.0ms (0%)

Local error

Found 4 expressions with local error:

25.3b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite238.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
47.8b
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 28
Calls

4 calls:

2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2665 to 1685 computations (36.8% saved)

series73.0ms (0%)

Error
47.8b
Counts
4 → 12
Calls

4 calls:

14.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
11.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
11.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2693 to 1837 computations (31.8% saved)

simplify199.0ms (0.1%)

Algorithm
egg-herbie
Rules
1392×sqr-pow_binary64
724×unswap-sqr_binary64
592×cube-prod_binary64
500×fabs-mul_binary64
470×pow-sqr_binary64
Counts
40 → 4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023585
131501
240501
347501
454501
569501
6106501
7207501
8551501
91147501
101286501
111549501
121854501
132148501
142550501
152904501
163087501
173344501
183483501
193562501
203642501
214400501
224802501

prune110.0ms (0.1%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New314
Fresh01313
Picked011
Done000
Total31518
Error
47.8b
Counts
18 → 15
Alt Table
StatusErrorProgram
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) 4) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (/.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (pow.f64 (*.f64 y-scale x-scale) 2))))
61.6b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)) (fabs.f64 (*.f64 y-scale x-scale))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (*.f64 (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
61.4b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.3b
(exp.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
62.0b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 a a) (*.f64 y-scale y-scale)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))
62.3b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 x-scale x-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)))))))))))
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.1b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
58.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
60.9b
(*.f64 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))) -1/4)
61.2b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))))
Compiler

Compiled 5488 to 3531 computations (35.7% saved)

localize51.0ms (0%)

Local error

Found 4 expressions with local error:

25.3b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite204.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
47.8b
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 28
Calls

4 calls:

3.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2749 to 1769 computations (35.6% saved)

series78.0ms (0.1%)

Error
47.8b
Counts
4 → 12
Calls

4 calls:

14.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
12.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
12.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2780 to 1924 computations (30.8% saved)

simplify195.0ms (0.1%)

Algorithm
egg-herbie
Rules
1392×sqr-pow_binary64
724×unswap-sqr_binary64
592×cube-prod_binary64
500×fabs-mul_binary64
470×pow-sqr_binary64
Counts
40 → 4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023585
131501
240501
347501
454501
569501
6106501
7207501
8551501
91147501
101286501
111549501
121854501
132148501
142550501
152904501
163087501
173344501
183483501
193562501
203642501
214400501
224802501

prune111.0ms (0.1%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New314
Fresh01313
Picked101
Done011
Total41519
Error
47.8b
Counts
19 → 15
Alt Table
StatusErrorProgram
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3)) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) 4) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (/.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (pow.f64 (*.f64 y-scale x-scale) 2))))
61.6b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)) (fabs.f64 (*.f64 y-scale x-scale))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (*.f64 (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
61.4b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.3b
(exp.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
62.0b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 a a) (*.f64 y-scale y-scale)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))
62.3b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 x-scale x-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)))))))))))
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.1b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
58.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
60.9b
(*.f64 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))) -1/4)
61.2b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))))
Compiler

Compiled 5506 to 3549 computations (35.5% saved)

localize55.0ms (0%)

Local error

Found 4 expressions with local error:

25.3b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.3b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite193.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
47.8b
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 28
Calls

4 calls:

2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2833 to 1853 computations (34.6% saved)

series78.0ms (0.1%)

Error
47.8b
Counts
4 → 12
Calls

4 calls:

14.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
12.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2867 to 2011 computations (29.9% saved)

simplify200.0ms (0.1%)

Algorithm
egg-herbie
Rules
1392×sqr-pow_binary64
724×unswap-sqr_binary64
592×cube-prod_binary64
500×fabs-mul_binary64
470×pow-sqr_binary64
Counts
40 → 4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023585
131501
240501
347501
454501
569501
6106501
7207501
8551501
91147501
101286501
111549501
121854501
132148501
142550501
152904501
163087501
173344501
183483501
193562501
203642501
214400501
224802501

prune98.0ms (0.1%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New404
Fresh01313
Picked011
Done011
Total41519
Error
47.8b
Counts
19 → 15
Alt Table
StatusErrorProgram
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3)) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) 4) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (/.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (pow.f64 (*.f64 y-scale x-scale) 2))))
61.6b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 4 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (+.f64 (+.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) x-scale) y-scale) 2))))))) (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)) (fabs.f64 (*.f64 y-scale x-scale))))
63.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (*.f64 (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2))))))))) (cbrt.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
61.4b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) a))) (sqrt.f64 (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))))))
63.3b
(exp.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2))) (*.f64 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a))) (+.f64 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)) (*.f64 y-scale y-scale))) 2) (pow.f64 (/.f64 (*.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 y-scale x-scale)) 2)))))))) (/.f64 (*.f64 4 (*.f64 (*.f64 a b) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 y-scale x-scale) 2)))))
62.0b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 a a) (*.f64 y-scale y-scale)) (+.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 b 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 a 4) (pow.f64 y-scale 4))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (pow.f64 (*.f64 y-scale x-scale) 2))))) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))
62.3b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 x-scale x-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 x-scale 4)))))))))))
58.7b
(*.f64 1/4 (*.f64 (*.f64 x-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
62.1b
(*.f64 -1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (sqrt.f64 8))) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4)) (pow.f64 y-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))) (pow.f64 y-scale 4)))))))))))
58.8b
(*.f64 1/4 (*.f64 (*.f64 y-scale (sqrt.f64 8)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))))))))))))
60.9b
(*.f64 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))) -1/4)
61.2b
(*.f64 1/4 (*.f64 (*.f64 y-scale (*.f64 x-scale (*.f64 (sqrt.f64 8) b))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 (*.f64 y-scale x-scale) 2)))))))))))
Compiler

Compiled 3002 to 1945 computations (35.2% saved)

regimes7.6s (5.1%)

Compiler

Compiled 290802 to 190947 computations (34.3% saved)

bsearch43.0ms (0%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

Profiling

Loading profile data...