Details

Time bar (total: 2.4min)

analyze24.6s (17.3%)

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.9%)

Algorithm
intervals
Results
1.2s120×body4096valid
893.0ms42×body8192valid
363.0ms53×body2048valid
104.0ms24×body1024valid
21.0msbody512valid
11.0msbody4096invalid
9.0msbody256valid
4.0msbody512invalid
4.0msbody1024invalid
3.0msbody128valid
Compiler

Compiled 382 to 254 computations (33.5% saved)

simplify26.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 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
057292
1154279
2569279
35117279

prune10.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
63.9b
Counts
2 → 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 540 to 339 computations (37.2% saved)

localize73.0ms (0.1%)

Local error

Found 4 expressions with local error:

27.9b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
27.9b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
27.9b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
36.8b
(-.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))))

rewrite678.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
63.9b
Rules
159×*-un-lft-identity_binary64
72×times-frac_binary64
41×distribute-lft-out_binary64
27×prod-diff_binary64
20×add-sqr-sqrt_binary64
Counts
4 → 84
Calls

4 calls:

102.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))))
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 20247 to 12172 computations (39.9% saved)

series6.2s (4.3%)

Error
62.8b
Counts
4 → 29
Calls

4 calls:

5.9s
(-.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))))
18.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
18.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
17.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 48478 to 33569 computations (30.8% saved)

simplify574.0ms (0.4%)

Algorithm
egg-herbie
Rules
376×times-frac_binary64
323×associate-/l*_binary64
251×fma-neg_binary64
239×associate-/r*_binary64
236×associate-*r*_binary64
Counts
113 → 96
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042334267
1113324707
2497524707
3519624707

prune582.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New90696
Fresh000
Picked011
Done000
Total90797
Error
62.8b
Counts
97 → 7
Alt Table
StatusErrorProgram
63.8b
(*.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 a a) (-.f64 (+.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))) (sqrt.f64 (-.f64 (fma.f64 3 (*.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))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.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 (+.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)))
63.8b
(*.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 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (pow.f64 a 4)) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.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.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 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))) (*.f64 x-scale x-scale))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.5b
(*.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 b b) (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
64.0b
(*.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 a a) (*.f64 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale))) (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 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))))) (*.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 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)) (*.f64 x-scale x-scale)) (/.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 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 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 (*.f64 b b) (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 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (pow.f64 x-scale 4)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 15258 to 8550 computations (44% saved)

localize65.0ms (0%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.4b
(-.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4))))))

rewrite414.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
62.8b
Rules
23×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
18×prod-diff_binary64
13×sqrt-prod_binary64
Counts
4 → 71
Calls

4 calls:

5.0ms
(-.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4))))))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 14035 to 7607 computations (45.8% saved)

series450.0ms (0.3%)

Error
61.9b
Counts
4 → 18
Calls

4 calls:

378.0ms
(-.f64 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4))))))
15.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 4423 to 2483 computations (43.9% saved)

simplify280.0ms (0.2%)

Algorithm
egg-herbie
Rules
626×fma-neg_binary64
545×unswap-sqr_binary64
411×fma-def_binary64
360×cancel-sign-sub-inv_binary64
248×hypot-def_binary64
Counts
89 → 47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01367474
12556931
27436843
324966790
442606790
549676790
648486790

prune198.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New46147
Fresh145
Picked011
Done101
Total48654
Error
62.8b
Counts
54 → 6
Alt Table
StatusErrorProgram
63.8b
(*.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 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (pow.f64 a 4)) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.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.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 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))) (*.f64 x-scale x-scale))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.5b
(*.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 b b) (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.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 (log.f64 (exp.f64 (-.f64 (fma.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (sqrt.f64 (fma.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (fma.f64 2 (*.f64 (*.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))))) (*.f64 x-scale x-scale))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
64.0b
(*.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 a a) (*.f64 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale))) (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 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.8b
(*.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 a a) (-.f64 (+.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))) (sqrt.f64 (-.f64 (fma.f64 3 (*.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))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 5154 to 2726 computations (47.1% saved)

localize74.0ms (0.1%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
29.5b
(-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))

rewrite1.2s (0.9%)

Algorithm
rewrite-expression-head
Error
62.8b
Rules
42×frac-sub_binary64
40×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
24×sqrt-div_binary64
24×prod-diff_binary64
Counts
4 → 104
Calls

4 calls:

39.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 32823 to 18257 computations (44.4% saved)

series555.0ms (0.4%)

Error
61.5b
Counts
4 → 18
Calls

4 calls:

482.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))
16.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
16.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 4911 to 2764 computations (43.7% saved)

simplify567.0ms (0.4%)

Algorithm
egg-herbie
Rules
585×cancel-sign-sub-inv_binary64
258×associate-*l*_binary64
232×associate-*r*_binary64
232×fma-neg_binary64
211×*-commutative_binary64
Counts
122 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030732408
189528869
2354728216
3541928216

prune555.0ms (0.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New79180
Fresh044
Picked101
Done011
Total80686
Error
62.8b
Counts
86 → 6
Alt Table
StatusErrorProgram
63.8b
(*.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 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (pow.f64 a 4)) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.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.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 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))) (*.f64 x-scale x-scale))))) (*.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 (log.f64 (exp.f64 (-.f64 (fma.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (sqrt.f64 (fma.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (fma.f64 2 (*.f64 (*.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))))) (*.f64 x-scale x-scale))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
64.0b
(*.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 a a) (*.f64 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale))) (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 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.8b
(*.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 a a) (-.f64 (+.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))) (sqrt.f64 (-.f64 (fma.f64 3 (*.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))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.5b
(*.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 b b) (-.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 18043 to 10104 computations (44% saved)

localize76.0ms (0.1%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
29.5b
(-.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))

rewrite1.9s (1.3%)

Algorithm
rewrite-expression-head
Error
62.8b
Rules
42×frac-sub_binary64
40×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
24×sqrt-div_binary64
24×prod-diff_binary64
Counts
4 → 104
Calls

4 calls:

48.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 33396 to 18830 computations (43.6% saved)

series544.0ms (0.4%)

Error
62.8b
Counts
4 → 18
Calls

4 calls:

479.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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))))))
17.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
16.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
15.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 4977 to 2830 computations (43.1% saved)

simplify557.0ms (0.4%)

Algorithm
egg-herbie
Rules
585×cancel-sign-sub-inv_binary64
257×associate-*l*_binary64
232×associate-*r*_binary64
232×fma-neg_binary64
211×*-commutative_binary64
Counts
122 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
031032372
189928869
2355228216
3542828216

prune580.0ms (0.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New79180
Fresh044
Picked011
Done011
Total79786
Error
62.8b
Counts
86 → 7
Alt Table
StatusErrorProgram
63.8b
(*.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 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 y-scale y-scale)) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a)) (*.f64 y-scale y-scale))) (sqrt.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)) (pow.f64 a 4)) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.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.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 (fma.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 a a))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 a 4) (fma.f64 2 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (*.f64 b b) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))) (*.f64 x-scale x-scale))))) (*.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 (log.f64 (exp.f64 (-.f64 (fma.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (sqrt.f64 (fma.f64 (pow.f64 a 4) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (fma.f64 2 (*.f64 (*.f64 (*.f64 a a) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 b 4)))))))) (*.f64 x-scale x-scale))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
64.0b
(*.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 a a) (*.f64 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale))) (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 y-scale y-scale)) (/.f64 (*.f64 b b) (*.f64 x-scale x-scale)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.8b
(*.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 a a) (-.f64 (+.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))) (sqrt.f64 (-.f64 (fma.f64 3 (*.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))) (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.5b
(*.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 b b) (-.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.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))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.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)))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
63.5b
(*.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 b b) (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))) (cbrt.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))))) (cbrt.f64 (+.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale)))) (neg.f64 (sqrt.f64 (-.f64 (+.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 x-scale 4)) (fma.f64 3 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 4) (pow.f64 y-scale 4)))) (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 y-scale y-scale))))))))))) (*.f64 (*.f64 b a) (*.f64 b (neg.f64 a)))) (pow.f64 (*.f64 x-scale y-scale) 2)))
Compiler

Compiled 17603 to 9874 computations (43.9% saved)

regimes11.2s (7.8%)

Accuracy

Total -1.7b remaining (-2.8%)

Threshold costs -1.7b (-2.8%)

Compiler

Compiled 506176 to 306346 computations (39.5% saved)

simplify11.0ms (0%)

Algorithm
egg-herbie
Rules
45×distribute-rgt-neg-in_binary64
33×distribute-lft-neg-in_binary64
24×*-commutative_binary64
22×neg-sub0_binary64
22×neg-mul-1_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02575
13975
24875
36375
48471
59971
613471
716371
818871
919971
1020171
1119571

end1.0ms (0%)

Compiler

Compiled 52 to 28 computations (46.2% saved)

sample1.5min (61.7%)

Algorithm
intervals
Results
40.1s3701×body4096valid
30.6s1443×body8192valid
12.3s1853×body2048valid
2.5s622×body1024valid
680.0ms242×body512valid
309.0ms38×body2048invalid
155.0ms35×body1024invalid
152.0ms87×body256valid
56.0ms18×body512invalid
43.0ms52×body128valid
37.0msbody4096invalid
24.0ms14×body256invalid
22.0msbody8192exit
8.0msbody4096nan
8.0msbody128invalid
Compiler

Compiled 1296 to 761 computations (41.3% saved)

Profiling

Loading profile data...