Details

Time bar (total: 13.8s)

analyze2.8s (20.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
31.2%68.6%0.1%8
31.2%56.2%12.6%9
34.3%53%12.6%10
37.4%49.9%12.6%11
46.8%40.6%12.6%12
47.8%39.6%12.6%13
49.7%37.1%13.2%14
Compiler

Compiled 25 to 20 computations (20% saved)

sample213.0ms (1.5%)

Algorithm
intervals
Results
53.0ms47×body1024valid
50.0ms42×body1024invalid
28.0ms160×body128valid
23.0ms29×body512valid
17.0ms22×body512invalid
15.0msbody2048valid
4.0ms11×body256valid
3.0msbody256invalid
2.0ms15×body128invalid
Compiler

Compiled 52 to 42 computations (19.2% saved)

simplify148.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
310834
419834
543934
662734
7108234
8110934
9130134
10150634
11180434
12209634
13251934
14315434
15347034
16382234
17397634
18404434
19408634
20488334
21485534

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 48 to 38 computations (20.8% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (/.f64 angle 180) PI.f64)
0.3b
(*.f64 (/.f64 angle 180) PI.f64)
27.9b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
28.3b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite139.0ms (1%)

Algorithm
rewrite-expression-head
Error
20.2b
Rules
30×add-sqr-sqrt_binary64
26×associate-*l*_binary64
20×times-frac_binary64
20×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
Counts
4 → 78
Calls

4 calls:

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

Compiled 2073 to 1469 computations (29.1% saved)

series32.0ms (0.2%)

Error
20.6b
Counts
4 → 13
Calls

4 calls:

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

Compiled 730 to 574 computations (21.4% saved)

simplify117.0ms (0.8%)

Algorithm
egg-herbie
Rules
550×associate-*l/_binary64
541×unswap-sqr_binary64
327×associate-*r/_binary64
283×*-commutative_binary64
245×associate-*l*_binary64
Counts
91 → 67
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0961148
11921010
24521010
312581010
429421010
547751010
649861010
749491010

prune134.0ms (1%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New432467
Fresh000
Picked101
Done000
Total442468
Error
20.3b
Counts
68 → 24
Alt Table
StatusErrorProgram
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (*.f64 PI.f64 (sqrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.9b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (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))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
45.4b
(+.f64 (pow.f64 (*.f64 a (sin.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 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) 1) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) 180))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2))
Compiler

Compiled 3187 to 2312 computations (27.5% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 1/180 (*.f64 angle PI.f64))
0.4b
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)
28.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.3b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite163.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
20.2b
Rules
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
10×pow1_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
4 → 55
Calls

4 calls:

4.0ms
(*.f64 1/180 (*.f64 angle PI.f64))
2.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
1.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 1438 to 1032 computations (28.2% saved)

series54.0ms (0.4%)

Error
20.0b
Counts
4 → 14
Calls

4 calls:

14.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)
9.0ms
(*.f64 1/180 (*.f64 angle PI.f64))
7.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
6.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 900 to 721 computations (19.9% saved)

simplify101.0ms (0.7%)

Algorithm
egg-herbie
Rules
535×associate-+l+_binary64
314×sqr-pow_binary64
309×*-commutative_binary64
255×log-prod_binary64
235×exp-prod_binary64
Counts
69 → 33
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
093987
1199870
2619854
31289854
42212840
54752840
64982840
74866840

prune99.0ms (0.7%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New27633
Fresh12223
Picked101
Done000
Total292857
Error
20.2b
Counts
57 → 28
Alt Table
StatusErrorProgram
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (*.f64 PI.f64 (sqrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.9b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 3))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (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))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
45.4b
(+.f64 (pow.f64 (*.f64 a (sin.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 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/180) (cbrt.f64 1/180)) (*.f64 (*.f64 angle PI.f64) (cbrt.f64 1/180)))) 3))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) 1) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) 180))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.8b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (exp.f64 (*.f64 3 (log.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2))
Compiler

Compiled 2402 to 1835 computations (23.6% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9))
0.8b
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
28.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.3b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite181.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
20.2b
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cbrt-prod_binary64
unpow-prod-down_binary64
Counts
4 → 46
Calls

4 calls:

3.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
1.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 1429 to 1048 computations (26.7% saved)

series66.0ms (0.5%)

Error
20.0b
Counts
4 → 15
Calls

4 calls:

16.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
11.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9))
8.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
8.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 1031 to 830 computations (19.5% saved)

simplify102.0ms (0.7%)

Algorithm
egg-herbie
Rules
514×distribute-rgt-in_binary64
498×distribute-lft-in_binary64
354×*-commutative_binary64
298×distribute-rgt-neg-in_binary64
290×distribute-lft-neg-in_binary64
Counts
61 → 26
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0781067
11511034
23391018
310111018
41864990
53070990
64853990
74845990

prune102.0ms (0.7%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New24226
Fresh12627
Picked101
Done000
Total262854
Error
20.2b
Counts
54 → 28
Alt Table
StatusErrorProgram
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (*.f64 PI.f64 (sqrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.9b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 3))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (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))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)) 2) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)))))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
45.4b
(+.f64 (pow.f64 (*.f64 a (sin.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 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/180) (cbrt.f64 1/180)) (*.f64 (*.f64 angle PI.f64) (cbrt.f64 1/180)))) 3))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) 1) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) 180))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2))
Compiler

Compiled 2454 to 1881 computations (23.3% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.8b
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
28.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.0b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.3b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite142.0ms (1%)

Algorithm
rewrite-expression-head
Error
20.2b
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-exp-log_binary64
pow1_binary64
Counts
4 → 38
Calls

4 calls:

3.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
3.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
1.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 1675 to 1250 computations (25.4% saved)

series74.0ms (0.5%)

Error
20.2b
Counts
4 → 15
Calls

4 calls:

19.0ms
(pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)
10.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
10.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
8.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 1530 to 1237 computations (19.2% saved)

simplify85.0ms (0.6%)

Algorithm
egg-herbie
Rules
510×unswap-sqr_binary64
452×distribute-rgt-in_binary64
434×distribute-lft-in_binary64
322×*-commutative_binary64
282×distribute-rgt-neg-in_binary64
Counts
53 → 20
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062793
1125760
2265752
3761752
41442752
52913752
64884752
74851752

prune88.0ms (0.6%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New20020
Fresh02727
Picked011
Done000
Total202848
Error
20.2b
Counts
48 → 28
Alt Table
StatusErrorProgram
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (*.f64 PI.f64 (sqrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.9b
(+.f64 (pow.f64 (*.f64 a (log.f64 (exp.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 3))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180))) (*.f64 PI.f64 (cbrt.f64 (*.f64 1/180 angle)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) 3))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (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))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)) 2) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 9)))))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2))
45.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
45.4b
(+.f64 (pow.f64 (*.f64 a (sin.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 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/180) (cbrt.f64 1/180)) (*.f64 (*.f64 angle PI.f64) (cbrt.f64 1/180)))) 3))) 2))
21.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
45.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (exp.f64 (log.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) 1) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) 180))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.2b
(+.f64 (pow.f64 (*.f64 a (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) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (*.f64 1/180 angle) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 1/180 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
21.1b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (cbrt.f64 angle) (sqrt.f64 180)))))) 2))
Compiler

Compiled 1634 to 1254 computations (23.3% saved)

regimes1.7s (12.3%)

Accuracy

Total 0.9b remaining (4.5%)

Threshold costs 0.9b (4.5%)

Compiler

Compiled 39956 to 31692 computations (20.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02244
13044
22944

end1.0ms (0%)

Compiler

Compiled 30 to 25 computations (16.7% saved)

sample7.2s (52%)

Algorithm
intervals
Results
1.8s1522×body1024valid
1.6s1360×body1024invalid
831.0ms5066×body128valid
610.0ms802×body512valid
521.0ms664×body512invalid
326.0ms184×body2048valid
175.0ms420×body256valid
161.0ms355×body256invalid
92.0ms555×body128invalid
31.0msbody4096valid
Compiler

Compiled 994 to 773 computations (22.2% saved)

Profiling

Loading profile data...