Details

Time bar (total: 2.5min)

analyze39.1s (26%)

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)

sample2.7s (1.8%)

Algorithm
intervals
Results
1.3s116×body4096valid
936.0ms46×body8192valid
347.0ms54×body2048valid
98.0ms24×body1024valid
23.0msbody512valid
12.0msbody256valid
7.0msbody2048invalid
5.0msbody1024invalid
3.0msbody512invalid
2.0msbody128valid
2.0msbody256invalid
Compiler

Compiled 382 to 254 computations (33.5% saved)

simplify27.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
057292
1154279
2569279
35117279

prune12.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
63.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.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)) (hypot.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)) (/.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))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 723 to 452 computations (37.5% saved)

localize63.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
25.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
25.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
25.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
38.0b
(-.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)) (hypot.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)) (/.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))))

rewrite126.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
157×*-un-lft-identity_binary64
72×times-frac_binary64
41×distribute-lft-out_binary64
27×prod-diff_binary64
18×add-sqr-sqrt_binary64
Counts
2 → 66
Calls

2 calls:

95.0ms
(-.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)) (hypot.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)) (/.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))))
1.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

series1.4min (57.1%)

Counts
2 → 72
Calls

2 calls:

1.4min
(-.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)) (hypot.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)) (/.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.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

simplify2.8s (1.8%)

Algorithm
egg-herbie
Counts
138 → 154
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05302430582

prune4.5s (3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2107217
Fresh000
Picked101
Done000
Total2117218
Error
63.0b
Counts
218 → 7
Alt Table
StatusErrorProgram
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (+.f64 (fma.f64 1 (+.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)) (neg.f64 (*.f64 (sqrt.f64 (hypot.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)) (/.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)))) (sqrt.f64 (hypot.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)) (/.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))))))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.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)) (/.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))))) (sqrt.f64 (hypot.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)) (/.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)))) (*.f64 (sqrt.f64 (hypot.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)) (/.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)))) (sqrt.f64 (hypot.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)) (/.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)) (pow.f64 x-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 x-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (pow.f64 x-scale 4)) (+.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)) (pow.f64 x-scale 4)) (/.f64 (*.f64 (pow.f64 a 2) (*.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) (pow.f64 b 2)))) (pow.f64 x-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.4b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.6b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (*.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 x-scale 2)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 y-scale 2))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 y-scale 2) (pow.f64 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)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (pow.f64 b 2))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 x-scale 2))) (sqrt.f64 (-.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 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (+.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 (+.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) (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (sqrt.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 (/.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))) (neg.f64 (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 195985 to 137255 computations (30% saved)

localize65.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
25.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
25.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
35.0b
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))

rewrite94.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
55×*-un-lft-identity_binary64
35×prod-diff_binary64
26×add-sqr-sqrt_binary64
25×sqrt-prod_binary64
22×add-cube-cbrt_binary64
Counts
2 → 90
Calls

2 calls:

55.0ms
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))
1.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

series2.5s (1.7%)

Counts
2 → 52
Calls

2 calls:

2.5s
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

simplify581.0ms (0.4%)

Algorithm
egg-herbie
Rules
372×unswap-sqr_binary64
331×fma-neg_binary64
219×associate-*l*_binary64
205×associate-*r*_binary64
178×*-commutative_binary64
Counts
142 → 245
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030924888
187223457
2332623274
3493023269
4492223269

prune1.5s (1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2933296
Fresh336
Picked101
Done000
Total2976303
Error
61.0b
Counts
303 → 6
Alt Table
StatusErrorProgram
61.1b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (+.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 (+.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) (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 x-scale 2))) (sqrt.f64 (-.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 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.7b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.4b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (/.f64 1 (pow.f64 y-scale 2)) (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (neg.f64 (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)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (pow.f64 y-scale 4)) (/.f64 (*.f64 (pow.f64 b 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (sqrt.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 (/.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))) (neg.f64 (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 44033 to 27920 computations (36.6% saved)

localize19.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
16.8b
(/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))
17.5b
(*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))
19.8b
(*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0)
23.2b
(*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))

rewrite155.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
1300×add-exp-log_binary64
997×prod-exp_binary64
526×add-cbrt-cube_binary64
400×cbrt-unprod_binary64
250×pow1_binary64
Counts
4 → 394
Calls

4 calls:

29.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))
25.0ms
(/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))
25.0ms
(*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))
7.0ms
(*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0)

series13.0ms (0%)

Counts
4 → 168
Calls

4 calls:

5.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2))
4.0ms
(/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))))
3.0ms
(*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0))
1.0ms
(*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) 0)

simplify248.0ms (0.2%)

Algorithm
egg-herbie
Rules
788×associate-*r*_binary64
714×associate-*l*_binary64
510×log-prod_binary64
484×distribute-rgt-neg-out_binary64
283×times-frac_binary64
Counts
562 → 941
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04415932
17212869
228172859
343052859
446162859

prune317.0ms (0.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New9401941
Fresh055
Picked101
Done000
Total9416947
Error
46.3b
Counts
947 → 6
Alt Table
StatusErrorProgram
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 x-scale 2))) (sqrt.f64 (-.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 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.7b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.4b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (/.f64 1 (pow.f64 y-scale 2)) (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (neg.f64 (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)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (pow.f64 y-scale 4)) (/.f64 (*.f64 (pow.f64 b 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
46.3b
(*.f64 -1/4 0)
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (+.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 (+.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) (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (sqrt.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 (/.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))) (neg.f64 (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 25351 to 9145 computations (63.9% saved)

localize1.0ms (0%)

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify8.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune22.0ms (0%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New000
Fresh055
Picked011
Done000
Total066
Error
46.3b
Counts
6 → 6
Alt Table
StatusErrorProgram
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 x-scale 2))) (sqrt.f64 (-.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 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 x-scale 4)) (*.f64 3 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (*.f64 (pow.f64 y-scale 2) (pow.f64 x-scale 2))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.7b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 2)) (pow.f64 y-scale 2)) (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (pow.f64 y-scale 2))) (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 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (pow.f64 b 2)))) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.4b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (/.f64 1 (pow.f64 y-scale 2)) (+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (neg.f64 (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)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (pow.f64 y-scale 4)) (/.f64 (*.f64 (pow.f64 b 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4)) (pow.f64 y-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
46.3b
(*.f64 -1/4 0)
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (+.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 (+.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) (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.9b
(*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 8 (pow.f64 (*.f64 x-scale y-scale) 2)) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (*.f64 (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a))) (fma.f64 (sqrt.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 (/.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))) (neg.f64 (hypot.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)) (/.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)))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 905 to 586 computations (35.2% saved)

regimes2.0s (1.4%)

Compiler

Compiled 91624 to 60802 computations (33.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041
131

end0.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

sample7.5s (5%)

Algorithm
intervals
Results
39.0msbody8192valid
30.0msbody8192valid
28.0msbody4096valid
27.0msbody8192valid
26.0msbody8192valid
26.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
25.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
24.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
23.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody4096valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
22.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
21.0msbody8192valid
20.0msbody8192valid
20.0msbody8192valid
20.0msbody8192valid
19.0msbody8192valid
19.0msbody8192valid
19.0msbody4096valid
17.0msbody4096valid
17.0msbody8192valid
16.0msbody8192valid
16.0msbody8192valid
16.0msbody8192valid
16.0msbody4096valid
15.0msbody4096valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody4096valid
15.0msbody4096valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody4096valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
15.0msbody8192valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody8192valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody8192valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody8192valid
14.0msbody4096valid
14.0msbody8192valid
13.0msbody4096valid
13.0msbody8192valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody8192valid
13.0msbody4096valid
13.0msbody8192valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody8192valid
13.0msbody4096valid
13.0msbody8192valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
13.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096invalid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody2048valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody2048valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody2048valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody2048valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
12.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody4096valid
11.0msbody2048valid
11.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody2048valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody2048valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody2048valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody4096valid
10.0msbody2048valid
10.0msbody4096valid
10.0msbody2048valid
9.0msbody2048valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody2048valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody2048valid
9.0msbody4096valid
9.0msbody4096valid
9.0msbody2048valid
9.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody2048valid
8.0msbody2048valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody1024invalid
8.0msbody2048valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody2048valid
8.0msbody4096valid
8.0msbody4096valid
8.0msbody2048valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048invalid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody4096valid
7.0msbody4096valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
7.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody1024valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048invalid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody1024valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody1024valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
6.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024invalid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024valid
5.0msbody1024valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody2048valid
5.0msbody1024valid
4.0msbody1024valid
4.0msbody512valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024invalid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody512valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody512valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
4.0msbody1024valid
3.0msbody1024valid
3.0msbody256valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody1024valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512invalid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
3.0msbody512valid
2.0msbody512valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256valid
2.0msbody256invalid
1.0msbody128valid
1.0msbody128valid
1.0msbody128valid
1.0msbody128valid
1.0msbody128valid
Compiler

Compiled 194 to 130 computations (33% saved)

Profiling

Loading profile data...