Details

Time bar (total: 14.2s)

analyze2.1s (14.6%)

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
34.3%53%12.6%10
42.9%44.5%12.6%11
46.8%40.6%12.6%12
47.8%39.6%12.6%13
52.6%34.8%12.6%14
Compiler

Compiled 25 to 20 computations (20% saved)

sample7.4s (52.4%)

Results
2.1s1584×body1024valid
1.8s1397×body1024invalid
1.2s5285×body128valid
714.0ms795×body512valid
629.0ms710×body512invalid
379.0ms200×body2048valid
204.0ms370×body256invalid
200.0ms388×body256valid
161.0ms663×body128invalid
26.0msbody4096valid
Compiler

Compiled 50 to 40 computations (20% saved)

preprocess72.0ms (0.5%)

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

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
20.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
20.3b
(+.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)

localize12.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.4b
(cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))
24.8b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))

series30.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

5.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
4.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

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
2292744
Stop Event
node limit
Counts
4 → 95

simplify41.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

prune364.0ms (2.6%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New11731148
Fresh000
Picked101
Done000
Total11831149
Error
19.0b
Counts
149 → 31
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))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) 1))
30.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2))
20.3b
(+.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))
33.5b
(+.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))
41.6b
(+.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))
20.3b
(+.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))
20.4b
(+.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))
29.6b
(+.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))
24.4b
(+.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))
20.5b
(+.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))
29.6b
(+.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))
20.4b
(+.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))))
24.4b
(+.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.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))
39.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)))))
20.3b
(+.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.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))
33.5b
(+.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)))))
24.4b
(+.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))
23.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))
20.3b
(+.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))
27.2b
(+.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)))
24.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 1))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.7b
(+.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))
20.3b
(+.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))
20.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.9b
(+.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) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 4))))
21.2b
(+.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.8b
(+.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))))
Compiler

Compiled 5992 to 4517 computations (24.6% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 (PI.f64) angle) 180)
0.3b
(*.f64 (PI.f64) (/.f64 angle 180))
24.4b
(cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))
24.5b
(sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))

series5.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite38.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
717×pow1_binary64
669×add-log-exp_binary64
669×log1p-expm1-u_binary64
669×expm1-log1p-u_binary64
74×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
114818
2179918
Stop Event
node limit
Counts
2 → 45

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
612×fma-def_binary64
605×cancel-sign-sub-inv_binary64
402×unswap-sqr_binary64
380×fma-neg_binary64
311×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030298
192294
2302292
31368292
44393292
Stop Event
node limit
Counts
69 → 55

prune446.0ms (3.1%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New1064110
Fresh22830
Picked011
Done000
Total10833141
Error
18.9b
Counts
141 → 33
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))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) 1))
30.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2))
20.3b
(+.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))
33.5b
(+.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))
41.6b
(+.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))
20.3b
(+.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))
24.8b
(+.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 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.4b
(+.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))
29.6b
(+.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))
24.4b
(+.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))
20.5b
(+.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))
29.6b
(+.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))
20.4b
(+.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))))
24.4b
(+.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.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))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 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))
39.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)))))
20.3b
(+.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.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))
33.5b
(+.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)))))
24.4b
(+.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))
23.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))
20.3b
(+.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))
27.2b
(+.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)))
20.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.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))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)))) 2))
24.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 1))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.9b
(+.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) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 4))))
21.2b
(+.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.8b
(+.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))))
Compiler

Compiled 4872 to 3653 computations (25% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (PI.f64) (*.f64 angle 1/180))
0.4b
(pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3)
24.3b
(cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
24.8b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))

series16.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

4.0ms
(pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3)
angle
inf
3.0ms
(pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3)
angle
0
3.0ms
(pow.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 3)
angle
-inf
2.0ms
(cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
angle
0
1.0ms
(*.f64 (PI.f64) (*.f64 angle 1/180))
angle
0

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
810×pow1_binary64
753×log1p-expm1-u_binary64
753×expm1-log1p-u_binary64
89×add-sqr-sqrt_binary64
84×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
118931
2206931
Stop Event
node limit
Counts
3 → 54

simplify40.0ms (0.3%)

Algorithm
egg-herbie
Rules
548×fma-neg_binary64
470×*-commutative_binary64
295×distribute-rgt-neg-in_binary64
290×distribute-lft-neg-in_binary64
258×sub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044468
1131468
2402460
31848460
44734448
Stop Event
node limit
Counts
90 → 73

prune477.0ms (3.4%)

Pruning

38 alts after pruning (37 fresh and 1 done)

PrunedKeptTotal
New969105
Fresh32831
Picked101
Done011
Total10038138
Error
18.9b
Counts
138 → 38
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))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) 1))
30.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3))) 1))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.5b
(+.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))
20.3b
(+.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))
24.8b
(+.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 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.4b
(+.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))
29.6b
(+.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))
24.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)))) 1)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.5b
(+.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))
29.6b
(+.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))
20.4b
(+.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))))
24.4b
(+.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.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))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 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))
39.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)))))
20.3b
(+.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.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))
33.5b
(+.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)))))
24.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.4b
(+.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))
23.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))
20.3b
(+.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))
27.2b
(+.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)))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (log.f64 (exp.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)))) 2))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 6)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.2b
(+.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))))
41.6b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 2)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.8b
(+.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))))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.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))
20.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.9b
(+.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) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 4))))
Compiler

Compiled 5489 to 4228 computations (23% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (PI.f64) (*.f64 angle 1/180))
0.5b
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))
24.3b
(cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
24.8b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))

series204.0ms (1.4%)

Counts
1 → 12
Calls

3 calls:

101.0ms
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))
angle
inf
92.0ms
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))
angle
-inf
11.0ms
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))
angle
0

rewrite39.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
791×log1p-expm1-u_binary64
791×expm1-log1p-u_binary64
95×add-sqr-sqrt_binary64
92×*-un-lft-identity_binary64
92×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
119313
2219813
Stop Event
node limit
Counts
1 → 20

simplify35.0ms (0.2%)

Algorithm
egg-herbie
Rules
475×fma-def_binary64
413×associate-*r*_binary64
331×associate-*l*_binary64
331×sub-neg_binary64
297×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
079513
1235347
2961300
34446300
Stop Event
node limit
Counts
32 → 30

prune888.0ms (6.2%)

Pruning

41 alts after pruning (40 fresh and 1 done)

PrunedKeptTotal
New1728180
Fresh43236
Picked101
Done011
Total17741218
Error
18.8b
Counts
218 → 41
Alt Table
StatusErrorProgram
30.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 3)))) 2))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3))) 1))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
33.5b
(+.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))
20.3b
(+.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))
24.8b
(+.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 angle (*.f64 (PI.f64) 1/180))) 3))) 2))
20.4b
(+.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))
29.6b
(+.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))
26.1b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 angle 1/180) 3) (pow.f64 (PI.f64) 3))))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)))) 1)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.5b
(+.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))
29.6b
(+.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))
20.4b
(+.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))))
24.4b
(+.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))
24.4b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)))))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.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))
20.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 (PI.f64) angle) 180))) 2))
20.3b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 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))
39.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b)))))
20.7b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (sqrt.f64 (pow.f64 (*.f64 1/2 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))) 2)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.3b
(+.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.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))
33.5b
(+.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)))))
24.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.4b
(+.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))
23.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))
27.2b
(+.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)))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (log.f64 (exp.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
34.1b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 1/180 (*.f64 (PI.f64) angle)) 3) 1/3))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.5b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (pow.f64 (cbrt.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)))) 2))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 6)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.2b
(+.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))))
41.6b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 2)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (E.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
21.8b
(+.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))))
20.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.9b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (+.f64 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
25.0b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 2))) 1))
20.5b
(+.f64 (pow.f64 (*.f64 a (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 1/180 (*.f64 (PI.f64) angle))) 3))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
20.6b
(+.f64 (pow.f64 (*.f64 a 1) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
24.9b
(+.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) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) b) 4))))
Compiler

Compiled 8825 to 6831 computations (22.6% saved)

regimes904.0ms (6.4%)

Accuracy

Total 1.1b remaining (5.7%)

Threshold costs 0b (0%)

Counts
115 → 1
Compiler

Compiled 21214 to 17160 computations (19.1% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01834
12334
Stop Event
saturated

end838.0ms (5.9%)

Stop Event
fuel
Compiler

Compiled 1391 to 1124 computations (19.2% saved)

Profiling

Loading profile data...