Details

Time bar (total: 13.0s)

analyze1.7s (13.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
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)

sample142.0ms (1.1%)

Algorithm
intervals
Results
31.0ms34×body1024valid
30.0ms33×body1024invalid
23.0ms181×body128valid
14.0ms23×body512valid
13.0ms17×body512invalid
5.0ms15×body256valid
5.0msbody2048valid
3.0ms22×body128invalid
2.0msbody256invalid
Compiler

Compiled 52 to 42 computations (19.2% saved)

simplify147.0ms (1.1%)

Algorithm
egg-herbie
Rules
1078×sqr-pow_binary64
786×cube-prod_binary64
770×fabs-mul_binary64
484×unswap-sqr_binary64
392×pow-sqr_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
13034
26434
311034
419934
543934
662734
7108234
8110934
9130134
10150634
11180434
12209634
13251934
14315434
15347034
16382234
17397634
18404434
19408634
20488334
21485534

prune7.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
16.7b
Counts
1 → 1
Alt Table
StatusErrorProgram
16.7b
(+.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 48 to 38 computations (20.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
20.5b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
20.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite210.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
15.9b
Rules
30×add-sqr-sqrt_binary64
26×associate-*r*_binary64
20×add-cube-cbrt_binary64 *-un-lft-identity_binary64 times-frac_binary64
14×add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64
Counts
4 → 78
Calls

4 calls:

7.0ms
(*.f64 PI.f64 (/.f64 angle 180))
7.0ms
(*.f64 PI.f64 (/.f64 angle 180))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2073 to 1467 computations (29.2% saved)

series62.0ms (0.5%)

Error
16.5b
Counts
4 → 18
Calls

4 calls:

13.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
13.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
11.0ms
(*.f64 PI.f64 (/.f64 angle 180))
9.0ms
(*.f64 PI.f64 (/.f64 angle 180))
Compiler

Compiled 1077 to 841 computations (21.9% saved)

simplify90.0ms (0.7%)

Algorithm
egg-herbie
Rules
587×times-frac_binary64
371×associate-/l/_binary64
309×unswap-sqr_binary64
304×associate-/r/_binary64
290×cancel-sign-sub-inv_binary64
Counts
96 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01371374
13111236
29661236
321711227
446751227
549391227

prune153.0ms (1.2%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New372158
Fresh000
Picked101
Done000
Total382159
Error
16.0b
Counts
59 → 21
Alt Table
StatusErrorProgram
16.7b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
23.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (-.f64 (*.f64 1/180 (*.f64 angle PI.f64)) (*.f64 1/34992000 (pow.f64 (*.f64 angle PI.f64) 3))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2))
42.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
23.4b
(+.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 1/180 (*.f64 angle PI.f64))) 3))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2))
27.2b
(+.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 1/180 (*.f64 angle PI.f64)) 3)))) 2))
27.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
Compiler

Compiled 2566 to 1853 computations (27.8% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
20.5b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
20.6b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite227.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
15.9b
Rules
19×add-sqr-sqrt_binary64
14×add-cube-cbrt_binary64 *-un-lft-identity_binary64
13×associate-*r*_binary64
10×times-frac_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
Counts
4 → 61
Calls

4 calls:

7.0ms
(*.f64 PI.f64 (/.f64 angle 180))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1738 to 1218 computations (29.9% saved)

series113.0ms (0.9%)

Error
15.9b
Counts
4 → 21
Calls

4 calls:

22.0ms
(log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
9.0ms
(*.f64 PI.f64 (/.f64 angle 180))
Compiler

Compiled 1361 to 1064 computations (21.8% saved)

simplify124.0ms (0.9%)

Algorithm
egg-herbie
Rules
587×times-frac_binary64
372×associate-/l/_binary64
309×unswap-sqr_binary64
304×associate-/r/_binary64
290×cancel-sign-sub-inv_binary64
Counts
82 → 49
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01581321
13281197
29871197
321981188
444731182
548231182
649961182
749201182

prune190.0ms (1.5%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New48149
Fresh11920
Picked011
Done000
Total492170
Error
16.0b
Counts
70 → 21
Alt Table
StatusErrorProgram
16.7b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
23.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (-.f64 (*.f64 1/180 (*.f64 angle PI.f64)) (*.f64 1/34992000 (pow.f64 (*.f64 angle PI.f64) 3))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5))))) 2))
17.8b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2))
42.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
23.4b
(+.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 1/180 (*.f64 angle PI.f64))) 3))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2))
27.2b
(+.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 1/180 (*.f64 angle PI.f64)) 3)))) 2))
27.4b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
Compiler

Compiled 2493 to 1806 computations (27.6% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
20.5b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
20.6b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite247.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
15.4b
Rules
18×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64 *-un-lft-identity_binary64 associate-*r*_binary64
12×add-exp-log_binary64
10×times-frac_binary64
pow1_binary64 add-cbrt-cube_binary64
Counts
4 → 64
Calls

4 calls:

9.0ms
(*.f64 PI.f64 (/.f64 angle 180))
4.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1863 to 1334 computations (28.4% saved)

series138.0ms (1.1%)

Error
15.9b
Counts
4 → 24
Calls

4 calls:

45.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
15.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
13.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
10.0ms
(*.f64 PI.f64 (/.f64 angle 180))
Compiler

Compiled 1741 to 1364 computations (21.7% saved)

simplify102.0ms (0.8%)

Algorithm
egg-herbie
Rules
587×times-frac_binary64
438×*-commutative_binary64
434×distribute-rgt-neg-in_binary64
258×cancel-sign-sub-inv_binary64
218×neg-mul-1_binary64
Counts
88 → 43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01971544
14361448
214021424
332641412
446721412
549511412

prune160.0ms (1.2%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New36743
Fresh11819
Picked101
Done011
Total382664
Error
15.5b
Counts
64 → 26
Alt Table
StatusErrorProgram
16.7b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
35.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
23.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
23.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (-.f64 (*.f64 1/180 (*.f64 angle PI.f64)) (*.f64 1/34992000 (pow.f64 (*.f64 angle PI.f64) 3))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5))))) 2))
31.2b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 (*.f64 b b) (+.f64 (*.f64 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)) 1/32400) (*.f64 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)) -1/3149280000))))
17.8b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
30.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (pow.f64 PI.f64 2) (*.f64 b b)))))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))
42.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
23.4b
(+.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 1/180 (*.f64 angle PI.f64))) 3))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2))
27.2b
(+.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 1/180 (*.f64 angle PI.f64)) 3)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (cbrt.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 6)))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
Compiler

Compiled 2499 to 1855 computations (25.8% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
20.5b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
20.6b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))

rewrite281.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
15.4b
Rules
18×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64 *-un-lft-identity_binary64 associate-*r*_binary64
12×add-exp-log_binary64
10×times-frac_binary64
pow1_binary64 add-cbrt-cube_binary64
Counts
4 → 64
Calls

4 calls:

7.0ms
(*.f64 PI.f64 (/.f64 angle 180))
4.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
3.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2043 to 1514 computations (25.9% saved)

series156.0ms (1.2%)

Error
15.4b
Counts
4 → 24
Calls

4 calls:

48.0ms
(pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2)
15.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
10.0ms
(*.f64 PI.f64 (/.f64 angle 180))
Compiler

Compiled 1894 to 1517 computations (19.9% saved)

simplify102.0ms (0.8%)

Algorithm
egg-herbie
Rules
587×times-frac_binary64
438×*-commutative_binary64
434×distribute-rgt-neg-in_binary64
258×cancel-sign-sub-inv_binary64
218×neg-mul-1_binary64
Counts
88 → 43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01971544
14361448
214021424
332641412
446721412
549511412

prune154.0ms (1.2%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New42143
Fresh02424
Picked101
Done011
Total432669
Error
15.5b
Counts
69 → 26
Alt Table
StatusErrorProgram
16.7b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
35.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (exp.f64 (*.f64 2 (log.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
23.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3)) 3))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
23.3b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (+.f64 (-.f64 (*.f64 1/180 (*.f64 angle PI.f64)) (*.f64 1/34992000 (pow.f64 (*.f64 angle PI.f64) 3))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5))))) 2))
31.2b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 (*.f64 b b) (+.f64 (*.f64 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)) 1/32400) (*.f64 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)) -1/3149280000))))
17.8b
(+.f64 (pow.f64 (*.f64 a (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
30.5b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (pow.f64 PI.f64 2) (*.f64 b b)))))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2))
26.1b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2) (*.f64 b b)))
42.2b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
23.4b
(+.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 1/180 (*.f64 angle PI.f64))) 3))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
42.1b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (sqrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.9b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2))
27.2b
(+.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 1/180 (*.f64 angle PI.f64)) 3)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (sqrt.f64 PI.f64) (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
16.7b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2) (pow.f64 (*.f64 b (sin.f64 (/.f64 (*.f64 angle PI.f64) 180))) 2))
23.9b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (cbrt.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 6)))
16.8b
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (/.f64 angle 180) (cbrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 2))
Compiler

Compiled 1805 to 1343 computations (25.6% saved)

regimes2.2s (17.2%)

Accuracy

Total 0.9b remaining (4.5%)

Threshold costs 0.9b (4.5%)

Compiler

Compiled 40318 to 31844 computations (21% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
unpow1_binary64 1-exp_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01834
12434
22334

end1.0ms (0%)

Compiler

Compiled 24 to 19 computations (20.8% saved)

sample6.2s (47.4%)

Algorithm
intervals
Results
1.5s1606×body1024valid
1.2s1320×body1024invalid
656.0ms4942×body128valid
511.0ms840×body512valid
433.0ms682×body512invalid
253.0ms181×body2048valid
142.0ms430×body256valid
117.0ms312×body256invalid
83.0ms641×body128invalid
5.0msbody4096valid
Compiler

Compiled 862 to 665 computations (22.9% saved)

Profiling

Loading profile data...