Details

Time bar (total: 13.3s)

analyze2.1s (15.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
31.2%68.6%0.1%8
31.2%56.2%12.6%9
34.3%53%12.6%10
37.4%49.9%12.6%11
46.8%40.6%12.6%12
47.8%39.6%12.6%13
49.7%37.1%13.2%14
Compiler

Compiled 25 to 20 computations (20% saved)

sample7.5s (56.3%)

Results
2.2s1651×body1024valid
1.9s1417×body1024invalid
1.2s5204×body128valid
718.0ms821×body512valid
629.0ms708×body512invalid
337.0ms173×body2048valid
205.0ms402×body256valid
186.0ms339×body256invalid
133.0ms570×body128invalid
27.0msbody4096valid
Compiler

Compiled 50 to 40 computations (20% saved)

preprocess68.0ms (0.5%)

Algorithm
egg-herbie
Rules
717×sqr-pow_binary64
400×cube-prod_binary64
336×unswap-sqr_binary64
336×fabs-mul_binary64
209×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039136
186136
2222136
3484136
4930136
51297136
61957136
72270136
82601136
93083136
103770136
114709136
033
Stop Event
saturated
node limit
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify49.0ms (0.4%)

Algorithm
egg-herbie
Rules
696×sqr-pow_binary64
484×unswap-sqr_binary64
389×fabs-mul_binary64
362×cube-prod_binary64
264×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
13034
27134
313934
425834
564434
6101634
7183934
8205634
9229434
10260434
11305434
12364834
13435734
Stop Event
node limit
Counts
1 → 2

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
20.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.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))
Compiler

Compiled 141 to 110 computations (22% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180))))
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
23.6b
(cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))
24.4b
(sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))

series39.0ms (0.3%)

Counts
4 → 72
Calls

18 calls:

4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
angle
0
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
a
-inf
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
a
0
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
angle
-inf
3.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
a
inf

rewrite54.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
557×log-prod_binary64
298×prod-diff_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
179×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01249
125349
2292749
Stop Event
node limit
Counts
4 → 91

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
905×fma-neg_binary64
552×distribute-rgt-neg-in_binary64
474×fma-def_binary64
402×*-commutative_binary64
362×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01211374
13591362
212251328
337301318
Stop Event
node limit
Counts
163 → 127

prune280.0ms (2.1%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New10423127
Fresh011
Picked101
Done000
Total10524129
Error
19.7b
Counts
129 → 24
Alt Table
StatusErrorProgram
37.7b
(+.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.5b
(+.f64 (*.f64 (*.f64 angle angle) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 a a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
37.7b
(+.f64 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b 1) 2))
20.5b
(+.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
23.0b
(+.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (*.f64 a (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
29.7b
(+.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) 1) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.8b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.3b
(+.f64 (pow.f64 (*.f64 a (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
38.1b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.3b
(+.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3)) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2))
20.4b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
31.3b
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 3) 1/3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.4b
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
Compiler

Compiled 5278 to 3956 computations (25% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)
0.3b
(*.f64 1/180 (*.f64 angle (PI.f64)))
23.8b
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
24.4b
(sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))

series5.0ms (0%)

Counts
2 → 4
Calls

6 calls:

2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
angle
0
1.0ms
(*.f64 1/180 (*.f64 angle (PI.f64)))
angle
-inf
1.0ms
(*.f64 1/180 (*.f64 angle (PI.f64)))
angle
inf
1.0ms
(*.f64 1/180 (*.f64 angle (PI.f64)))
angle
0
0.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
angle
inf

rewrite41.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
650×pow1_binary64
598×add-log-exp_binary64
598×log1p-expm1-u_binary64
598×expm1-log1p-u_binary64
70×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
114018
2161818
Stop Event
node limit
Counts
2 → 29

simplify29.0ms (0.2%)

Algorithm
egg-herbie
Rules
847×distribute-rgt-neg-in_binary64
488×fma-def_binary64
475×cancel-sign-sub-inv_binary64
296×*-commutative_binary64
274×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02794
17694
223890
3116988
4410782
Stop Event
node limit
Counts
33 → 36

prune343.0ms (2.6%)

Pruning

29 alts after pruning (29 fresh and 0 done)

PrunedKeptTotal
New967103
Fresh12223
Picked101
Done000
Total9829127
Error
19.6b
Counts
127 → 29
Alt Table
StatusErrorProgram
37.7b
(+.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.5b
(+.f64 (*.f64 (*.f64 angle angle) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 a a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
37.7b
(+.f64 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b 1) 2))
20.5b
(+.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
23.0b
(+.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (*.f64 a (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
25.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (cbrt.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3)))) 2))
31.3b
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 3) 1/3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
40.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (sqrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))) 2))
29.7b
(+.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) 1) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.8b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.3b
(+.f64 (pow.f64 (*.f64 a (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
31.8b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3) 1/3))) 2))
38.1b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.3b
(+.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 1))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3)) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2))
20.4b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (expm1.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.4b
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
Compiler

Compiled 4805 to 3571 computations (25.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
0.3b
(*.f64 1/180 (*.f64 angle (PI.f64)))
23.8b
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
24.3b
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))

series25.0ms (0.2%)

Counts
2 → 28
Calls

9 calls:

5.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
a
-inf
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
angle
0
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
a
0
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
a
inf
2.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
angle
-inf

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
905×log1p-expm1-u_binary64
905×expm1-log1p-u_binary64
110×add-sqr-sqrt_binary64
107×pow1_binary64
106×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
122626
2254726
Stop Event
node limit
Counts
2 → 42

simplify36.0ms (0.3%)

Algorithm
egg-herbie
Rules
848×associate-*l*_binary64
807×fma-neg_binary64
603×distribute-rgt-neg-in_binary64
248×*-commutative_binary64
248×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
077708
1230700
2793682
33637674
Stop Event
node limit
Counts
70 → 59

prune378.0ms (2.8%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New1007107
Fresh42428
Picked101
Done000
Total10531136
Error
19.5b
Counts
136 → 31
Alt Table
StatusErrorProgram
37.7b
(+.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.5b
(+.f64 (*.f64 (*.f64 angle angle) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 a a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
38.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
20.4b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (expm1.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2))
40.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (sqrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))) 2))
20.5b
(+.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
23.0b
(+.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (*.f64 a (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
25.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (cbrt.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3)))) 2))
31.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (cbrt.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
31.3b
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 3) 1/3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
29.7b
(+.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) 1) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
20.8b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
31.8b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3) 1/3))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
38.1b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.3b
(+.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))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 1))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3)) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2))
40.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (sqrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.4b
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
Compiler

Compiled 4906 to 3613 computations (26.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.6b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
24.3b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))

series29.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
angle
0
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
a
-inf
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
a
0
3.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
a
inf
3.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
angle
-inf

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
557×log-prod_binary64
298×prod-diff_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
179×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
125344
2292944
Stop Event
node limit
Counts
4 → 96

simplify42.0ms (0.3%)

Algorithm
egg-herbie
Rules
633×fma-neg_binary64
422×distribute-rgt-neg-in_binary64
411×distribute-lft-neg-in_binary64
315×fma-def_binary64
297×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0931058
12761050
29481028
328451012
Stop Event
node limit
Counts
156 → 122

prune531.0ms (4%)

Pruning

33 alts after pruning (33 fresh and 0 done)

PrunedKeptTotal
New1434147
Fresh12930
Picked101
Done000
Total14533178
Error
19.4b
Counts
178 → 33
Alt Table
StatusErrorProgram
37.7b
(+.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
34.5b
(+.f64 (*.f64 (*.f64 angle angle) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 a a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
38.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
20.4b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
31.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 angle 1/180) 3) (pow.f64 (PI.f64) 3))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
25.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 angle 1/180) 3) (pow.f64 (PI.f64) 3))))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (expm1.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2))
40.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (sqrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))) 2))
20.5b
(+.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
23.0b
(+.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (*.f64 a (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
25.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (cbrt.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3)))) 2))
31.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (cbrt.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
31.3b
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 3) 1/3) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
29.7b
(+.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) 1) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
20.8b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 (*.f64 angle (PI.f64)) 180))) 2))
31.8b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (pow.f64 (pow.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 3) 1/3))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
38.1b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 1 (/.f64 180 (*.f64 angle (PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
24.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 1))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (sin.f64 1)))) 2))
40.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (pow.f64 (sqrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 3)) 2))
30.6b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.4b
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a)) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2))
Compiler

Compiled 5099 to 3802 computations (25.4% saved)

regimes988.0ms (7.4%)

Accuracy

Total 1.0b remaining (4.9%)

Threshold costs 1.0b (4.9%)

Counts
130 → 1
Compiler

Compiled 22426 to 17832 computations (20.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02038
12738
Stop Event
saturated

end609.0ms (4.6%)

Stop Event
fuel
Compiler

Compiled 1059 to 849 computations (19.8% saved)

Profiling

Loading profile data...