Details

Time bar (total: 15.2s)

analyze2.2s (14.3%)

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
25%62.4%12.6%8
31.2%56.2%12.6%9
31.2%56.2%12.6%10
39%48.4%12.6%11
44.9%42.5%12.6%12
45.8%41.5%12.6%13
50.4%37%12.6%14
Compiler

Compiled 25 to 20 computations (20% saved)

sample7.4s (48.4%)

Results
2.1s1693×body1024valid
1.8s1415×body1024invalid
1.1s5147×body128valid
668.0ms786×body512valid
629.0ms728×body512invalid
369.0ms195×body2048valid
219.0ms432×body256valid
196.0ms355×body256invalid
139.0ms625×body128invalid
17.0msbody4096valid
Compiler

Compiled 50 to 40 computations (20% saved)

preprocess67.0ms (0.4%)

Algorithm
egg-herbie
Rules
715×sqr-pow_binary64
400×cube-prod_binary64
336×unswap-sqr_binary64
335×fabs-mul_binary64
212×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039136
186136
2224136
3486136
4934136
51294136
61954136
72267136
82598136
93074136
103759136
114698136
033
Stop Event
saturated
node limit
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify51.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
13034
27134
314134
425734
565034
6102034
7184334
8206034
9229834
10260834
11305834
12365034
13435934
Stop Event
node limit
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
21.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
Compiler

Compiled 72 to 57 computations (20.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
0.3b
(*.f64 (PI.f64) (/.f64 angle 180))
24.5b
(cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))
25.2b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))

series31.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

6.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
b
-inf
4.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
angle
0
4.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
b
0
3.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
b
inf
2.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
angle
-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
189×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
125244
2292344
Stop Event
node limit
Counts
4 → 95

simplify43.0ms (0.3%)

Algorithm
egg-herbie
Rules
635×unswap-sqr_binary64
579×fma-neg_binary64
404×distribute-rgt-neg-in_binary64
395×distribute-lft-neg-in_binary64
296×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0831058
12441050
28861028
326801020
Stop Event
node limit
Counts
155 → 124

prune395.0ms (2.6%)

Pruning

34 alts after pruning (34 fresh and 0 done)

PrunedKeptTotal
New11434148
Fresh000
Picked101
Done000
Total11534149
Error
20.2b
Counts
149 → 34
Alt Table
StatusErrorProgram
21.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
31.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
22.4b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
25.2b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
22.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))
43.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
23.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) (*.f64 b (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
29.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2) 3)))
34.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 b 2)))))
35.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))))
21.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 1 (/.f64 180 (*.f64 (PI.f64) angle))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2))
30.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
37.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
34.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2))
25.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 angle 1/180) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
31.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
22.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
27.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
Compiler

Compiled 6230 to 4701 computations (24.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
0.3b
(pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2)
0.3b
(*.f64 (PI.f64) (/.f64 angle 180))
25.2b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))

series15.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

4.0ms
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
b
0
3.0ms
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
b
-inf
3.0ms
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
angle
0
3.0ms
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
b
inf
1.0ms
(*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
angle
inf

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
831×log1p-expm1-u_binary64
831×expm1-log1p-u_binary64
298×prod-diff_binary64
94×add-sqr-sqrt_binary64
87×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
118713
2227013
Stop Event
node limit
Counts
1 → 15

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
813×distribute-rgt-neg-in_binary64
576×fma-neg_binary64
389×distribute-lft-neg-in_binary64
309×associate-*r*_binary64
296×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038412
1113408
2382403
31952394
43959393
Stop Event
node limit
Counts
39 → 24

prune495.0ms (3.3%)

Pruning

36 alts after pruning (36 fresh and 0 done)

PrunedKeptTotal
New9720117
Fresh171633
Picked101
Done000
Total11536151
Error
20.2b
Counts
151 → 36
Alt Table
StatusErrorProgram
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
37.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) b))
27.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 b (PI.f64)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
22.4b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
23.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) b) (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))
25.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (expm1.f64 (log1p.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
25.2b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
37.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (sqrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 2) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 3) 2))
32.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3) 1/3) 2))
43.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
29.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))))
25.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
21.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 1 (/.f64 180 (*.f64 (PI.f64) angle))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
28.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2) 3)))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 b 2)))))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
30.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 angle 1/180) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
30.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
22.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))
Compiler

Compiled 4757 to 3725 computations (21.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (PI.f64) angle)
0.3b
(/.f64 (*.f64 (PI.f64) angle) 180)
0.3b
(pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2)
25.0b
(sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))

series31.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

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

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
514×log-prod_binary64
205×prod-diff_binary64
195×expm1-udef_binary64
195×log1p-udef_binary64
178×pow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01139
123339
2272339
Stop Event
node limit
Counts
4 → 101

simplify48.0ms (0.3%)

Algorithm
egg-herbie
Rules
799×associate-*r*_binary64
768×associate-*l*_binary64
207×fma-def_binary64
198×*-commutative_binary64
181×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
067944
1199936
2729918
34648918
Stop Event
node limit
Counts
161 → 120

prune411.0ms (2.7%)

Pruning

38 alts after pruning (38 fresh and 0 done)

PrunedKeptTotal
New1137120
Fresh43135
Picked101
Done000
Total11838156
Error
20.0b
Counts
156 → 38
Alt Table
StatusErrorProgram
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
27.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 b (PI.f64)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
22.4b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
23.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) b) (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))
25.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (expm1.f64 (log1p.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
25.2b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 3) 2))
32.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3) 1/3) 2))
43.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
29.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))))
25.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
24.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) angle))) 180))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
32.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) angle) 3)) 180))) 2))
21.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 1 (/.f64 180 (*.f64 (PI.f64) angle))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
28.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2) 3)))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 b 2)))))
21.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 3) 180))) 2))
22.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))
39.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) angle) 3) 1/3) 180))) 2))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 2) (*.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 1/180)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 angle 1/180) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
30.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2))
37.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 3) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
Compiler

Compiled 4810 to 3738 computations (22.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (PI.f64) (*.f64 angle 1/180))
0.5b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2)
10.1b
(cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))
25.3b
(sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))

series164.0ms (1.1%)

Counts
4 → 40
Calls

18 calls:

28.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2)
angle
-inf
28.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2)
angle
inf
27.0ms
(cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))
angle
-inf
26.0ms
(cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))
angle
inf
18.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2)
b
-inf

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary64
361×prod-diff_binary64
200×expm1-udef_binary64
200×log1p-udef_binary64
181×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01251
124151
2271651
Stop Event
node limit
Counts
4 → 92

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
605×cancel-sign-sub-inv_binary64
605×fma-def_binary64
380×fma-neg_binary64
356×*-commutative_binary64
281×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039586
1118582
2352580
31492580
44644580
Stop Event
node limit
Counts
132 → 106

prune1.1s (7.2%)

Pruning

50 alts after pruning (50 fresh and 0 done)

PrunedKeptTotal
New21917236
Fresh43337
Picked101
Done000
Total22450274
Error
19.9b
Counts
274 → 50
Alt Table
StatusErrorProgram
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)))) 2))
38.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b)) 1/3)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (pow.f64 (cbrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3)) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 1)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
27.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 b (PI.f64)))) 2))
22.3b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (pow.f64 (cbrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3)) b))))
39.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (pow.f64 (pow.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)) 3) 1/3)) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
22.4b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
23.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) b) (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))
32.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)) 3))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
25.2b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) (sin.f64 1)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
37.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 3) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b)) 4))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
28.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b)))) 1) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
43.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
29.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
34.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))))
25.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2))
24.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) angle))) 180))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 3)) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
32.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) angle) 3)) 180))) 2))
35.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) (sin.f64 1))) b))))
21.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 1 (/.f64 180 (*.f64 (PI.f64) angle))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
31.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (PI.f64) (/.f64 180 angle)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.8b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 b 2)))))
21.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 3) 180))) 2))
25.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
22.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))))
39.9b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) angle) 3) 1/3) 180))) 2))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3))) 2))
21.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b)) 2))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
25.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.2b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b) 2)) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
25.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) b))))
21.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
43.0b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 2)) b))))
33.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3) 1/3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.5b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 2) (*.f64 (cbrt.f64 (*.f64 (PI.f64) angle)) 1/180)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 angle 1/180) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b)) 2))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
21.4b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))) 3) 2))
38.1b
(+.f64 (pow.f64 (*.f64 a 1) 2) (*.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) b) 1/6) 2) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)) (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b))))
Compiler

Compiled 11616 to 8428 computations (27.4% saved)

regimes1.5s (10%)

Accuracy

Total 1.3b remaining (6.2%)

Threshold costs 0b (0%)

Counts
187 → 1
Compiler

Compiled 36064 to 28782 computations (20.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01622
12322
Stop Event
saturated

end982.0ms (6.5%)

Stop Event
fuel
Compiler

Compiled 1658 to 1335 computations (19.5% saved)

Profiling

Loading profile data...