Details

Time bar (total: 1.3min)

analyze17.0s (22.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
2.3%97.4%0.2%9
3.5%96.2%0.2%10
5.3%94.5%0.2%11
6.1%93.6%0.2%12
9.2%90.6%0.2%13
13.8%85.9%0.2%14
Compiler

Compiled 170 to 127 computations (25.3% saved)

sample1.5s (2%)

Algorithm
intervals
Results
558.0ms56×body4096valid
324.0ms53×body2048valid
222.0ms46×body1024valid
203.0msbody8192exit
84.0ms25×body512valid
45.0ms63×body128valid
25.0ms13×body256valid
Compiler

Compiled 339 to 258 computations (23.9% saved)

simplify132.0ms (0.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (25.0ms)

IterNodesCost
05229273

prune39.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
57.9b
Counts
2 → 1
Compiler

Compiled 338 to 238 computations (29.6% saved)

localize85.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (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))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64)
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (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))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite22.0ms (0%)

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

8 calls:

4.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (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))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))

series462.0ms (0.6%)

Counts
4 → 22
Calls

4 calls:

256.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
69.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
68.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
68.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 5568 to 3952 computations (29% saved)

simplify133.0ms (0.2%)

Algorithm
egg-herbie
Counts
50 → 50
Iterations

Useful iterations: 0 (118.0ms)

IterNodesCost
04926724
14926724

prune802.0ms (1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New42850
Fresh000
Picked101
Done000
Total43851
Error
55.7b
Counts
51 → 8
Compiler

Compiled 10083 to 6671 computations (33.8% saved)

localize84.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (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))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 1 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))
0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (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))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 1 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64)
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite19.0ms (0%)

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

8 calls:

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

series259.0ms (0.3%)

Counts
4 → 22
Calls

4 calls:

69.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
68.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
66.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
56.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 5219 to 3719 computations (28.7% saved)

simplify137.0ms (0.2%)

Algorithm
egg-herbie
Counts
50 → 50
Iterations

Useful iterations: 0 (121.0ms)

IterNodesCost
04926737
14926737

prune702.0ms (0.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New47350
Fresh167
Picked101
Done000
Total49958
Error
55.2b
Counts
58 → 9
Compiler

Compiled 10022 to 6655 computations (33.6% saved)

localize86.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 1 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64)
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 1 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite19.0ms (0%)

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

8 calls:

2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2))) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 1 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))

series269.0ms (0.4%)

Counts
4 → 24
Calls

4 calls:

69.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
67.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
67.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
66.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 5504 to 3936 computations (28.5% saved)

simplify128.0ms (0.2%)

Algorithm
egg-herbie
Counts
52 → 52
Iterations

Useful iterations: 0 (113.0ms)

IterNodesCost
04926804
14926804

prune616.0ms (0.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New50252
Fresh178
Picked011
Done000
Total511061
Error
54.7b
Counts
61 → 10
Compiler

Compiled 10545 to 6998 computations (33.6% saved)

localize90.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64)
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.1b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite19.0ms (0%)

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

8 calls:

2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) b) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 (*.f64 1/64800 (pow.f64 (*.f64 angle PI.f64) 2)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)) y-scale) y-scale)) 2) (pow.f64 (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale) 2)))) (/.f64 (/.f64 (*.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) x-scale) y-scale))) PI.f64))

series207.0ms (0.3%)

Counts
4 → 14
Calls

4 calls:

69.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
46.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
46.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
45.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 4512 to 3198 computations (29.1% saved)

simplify92.0ms (0.1%)

Algorithm
egg-herbie
Counts
42 → 42
Iterations

Useful iterations: 0 (80.0ms)

IterNodesCost
04782521
14782521

prune383.0ms (0.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New42042
Fresh088
Picked011
Done011
Total421052
Error
54.7b
Counts
52 → 10
Compiler

Compiled 7366 to 4827 computations (34.5% saved)

simplify109.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (16.0ms)

IterNodesCost
09918261
19918261

regimes2.0s (2.5%)

Compiler

Compiled 35971 to 25611 computations (28.8% saved)

bsearch987.0ms (1.3%)

Steps
ItersRangePoint
8
2.5560831862969764e-66
1.5137134506813564e-62
1.4900124830572083e-62
4
-6.07562879176322e+73
-3.833643042059855e+73
-3.8971157501057044e+73
Compiler

Compiled 1 to 5 computations (-400% saved)

regimes164.0ms (0.2%)

Compiler

Compiled 1132 to 971 computations (14.2% saved)

bsearch972.0ms (1.3%)

Steps
ItersRangePoint
8
2.5560831862969764e-66
1.5137134506813564e-62
1.5981539602088595e-63
4
-6.07562879176322e+73
-3.833643042059855e+73
-4.9126790788392896e+73
Compiler

Compiled 1 to 5 computations (-400% saved)

regimes63.0ms (0.1%)

Compiler

Compiled 25 to 140 computations (-460% saved)

bsearch1.1s (1.4%)

Steps
ItersRangePoint
8
1.0170414225065345e-49
5.5369631232211274e-45
1.0605051678061434e-48
7
-1.365138191187364e+18
-20237591132538404.0
-59888888921953816.0
Compiler

Compiled 1 to 5 computations (-400% saved)

regimes56.0ms (0.1%)

Accuracy

Total 9.3b remaining (19.5%)

Threshold costs 0b (0%)

Compiler

Compiled 20 to 110 computations (-450% saved)

bsearch923.0ms (1.2%)

Steps
ItersRangePoint
3
1.5137134506813564e-62
1.9990394582847513e-62
1.9432313403315025e-62
10
-300226983.15335494
-0.0008795880509297812
-467244.6681672348
Compiler

Compiled 354 to 273 computations (22.9% saved)

simplify10.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (4.0ms)

IterNodesCost
0257557
1257557

end0.0ms (0%)

sample47.1s (61.4%)

Algorithm
intervals
Results
15.4s1596×body4096valid
8.6s1416×body2048valid
7.6s1579×body1024valid
6.7s95×body8192exit
2.4s746×body512valid
1.7s2344×body128valid
616.0ms319×body256valid
Compiler

Compiled 5658 to 4047 computations (28.5% saved)

Pareto

0.6841637224169477

Profiling

Loading profile data...