Details

Time bar (total: 16.3s)

analyze2.3s (13.9%)

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)

sample230.0ms (1.4%)

Algorithm
intervals
Results
61.0ms53×body1024valid
46.0ms40×body1024invalid
32.0ms38×body512valid
24.0ms143×body128valid
17.0ms20×body512invalid
11.0msbody2048valid
8.0ms14×body256invalid
6.0msbody4096valid
6.0ms14×body256valid
3.0ms19×body128invalid
Compiler

Compiled 52 to 42 computations (19.2% saved)

simplify141.0ms (0.9%)

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
26634
312234
421634
546534
666934
7113034
8117734
9136934
10157434
11186834
12215234
13257334
14320634
15352034
16387234
17402634
18409434
19413634
20493334
21490534

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 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
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
27.8b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
28.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite258.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
23.4b
Rules
23×pow1_binary64
19×add-sqr-sqrt_binary64
19×add-cube-cbrt_binary64
16×add-exp-log_binary64
14×add-cbrt-cube_binary64
Counts
4 → 139
Calls

4 calls:

15.0ms
(*.f64 (/.f64 angle 180) PI.f64)
14.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
11.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
10.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 2844 to 2089 computations (26.5% saved)

series56.0ms (0.3%)

Error
23.7b
Counts
4 → 16
Calls

4 calls:

23.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
11.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
6.0ms
(*.f64 (/.f64 angle 180) PI.f64)
5.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 969 to 762 computations (21.4% saved)

simplify115.0ms (0.7%)

Algorithm
egg-herbie
Rules
735×associate-*l*_binary64
628×fma-def_binary64
625×associate-*r*_binary64
180×log-prod_binary64
179×prod-exp_binary64
Counts
155 → 85
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01391628
12671531
27091516
331441510
448841510
552391510

prune157.0ms (1%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New543185
Fresh000
Picked101
Done000
Total553186
Error
23.4b
Counts
86 → 31
Alt Table
StatusErrorProgram
45.6b
(+.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))
28.8b
(+.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) 1) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.9b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (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))
24.5b
(+.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))
24.7b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.8b
(+.f64 (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.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))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
36.3b
(+.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (*.f64 a a) (pow.f64 PI.f64 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.4b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2))
30.1b
(+.f64 (pow.f64 (*.f64 a (fma.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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))
31.8b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 6)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
38.0b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (neg.f64 (*.f64 angle PI.f64)) -180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
38.5b
(+.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (cbrt.f64 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.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))
31.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (cbrt.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
31.6b
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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))
Compiler

Compiled 3552 to 2612 computations (26.5% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite313.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
23.4b
Rules
20×add-cube-cbrt_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
12×add-cbrt-cube_binary64
12×log1p-expm1-u_binary64
Counts
4 → 112
Calls

4 calls:

14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
12.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
11.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
11.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 3501 to 2449 computations (30% saved)

series316.0ms (1.9%)

Error
23.3b
Counts
4 → 13
Calls

4 calls:

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

Compiled 1352 to 1003 computations (25.8% saved)

simplify152.0ms (0.9%)

Algorithm
egg-herbie
Rules
715×fma-def_binary64
688×distribute-rgt-neg-in_binary64
671×distribute-lft-neg-in_binary64
458×fma-neg_binary64
404×unswap-sqr_binary64
Counts
125 → 35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0661287
11141201
22071201
36401201
412561201
519871201
633861201
743611201
847651201
949981201
1047451201

prune264.0ms (1.6%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New33235
Fresh03030
Picked101
Done000
Total343266
Error
23.4b
Counts
66 → 32
Alt Table
StatusErrorProgram
45.6b
(+.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))
28.8b
(+.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) 1) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.9b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (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))
24.5b
(+.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))
24.7b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.8b
(+.f64 (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.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))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
36.3b
(+.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (*.f64 a a) (pow.f64 PI.f64 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.4b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2))
30.1b
(+.f64 (pow.f64 (*.f64 a (fma.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
24.5b
(+.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))
31.8b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 6)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
38.0b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (neg.f64 (*.f64 angle PI.f64)) -180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
38.5b
(+.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (cbrt.f64 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.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))
31.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (cbrt.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
31.6b
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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))
Compiler

Compiled 3445 to 2574 computations (25.3% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite420.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
23.4b
Rules
20×add-cube-cbrt_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
12×add-cbrt-cube_binary64
12×log1p-expm1-u_binary64
Counts
4 → 112
Calls

4 calls:

13.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
13.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
12.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 3655 to 2603 computations (28.8% saved)

series86.0ms (0.5%)

Error
23.3b
Counts
4 → 13
Calls

4 calls:

11.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
10.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
7.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
7.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 1418 to 1069 computations (24.6% saved)

simplify156.0ms (1%)

Algorithm
egg-herbie
Rules
715×fma-def_binary64
688×distribute-rgt-neg-in_binary64
671×distribute-lft-neg-in_binary64
458×fma-neg_binary64
404×unswap-sqr_binary64
Counts
125 → 24
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0671287
11141201
22071201
36401201
412561201
519871201
633861201
743611201
847651201
949981201
1047451201

prune139.0ms (0.9%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New23124
Fresh13031
Picked101
Done000
Total253156
Error
23.4b
Counts
56 → 31
Alt Table
StatusErrorProgram
45.6b
(+.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))
28.8b
(+.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) 1) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.9b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (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))
24.5b
(+.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))
24.7b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
27.8b
(+.f64 (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.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))
33.5b
(+.f64 (pow.f64 (*.f64 a (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
36.3b
(+.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (*.f64 a a) (pow.f64 PI.f64 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.4b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2))
30.1b
(+.f64 (pow.f64 (*.f64 a (fma.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
24.5b
(+.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))
31.8b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 6)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
38.0b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (neg.f64 (*.f64 angle PI.f64)) -180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
38.5b
(+.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (cbrt.f64 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.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))
31.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (cbrt.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
31.6b
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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))
Compiler

Compiled 3027 to 2288 computations (24.4% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
27.8b
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
28.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite417.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
23.4b
Rules
20×add-cube-cbrt_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
12×add-cbrt-cube_binary64
12×log1p-expm1-u_binary64
Counts
4 → 112
Calls

4 calls:

16.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
14.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
13.0ms
(cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
11.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 3424 to 2282 computations (33.4% saved)

series54.0ms (0.3%)

Error
23.3b
Counts
4 → 13
Calls

4 calls:

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

Compiled 1282 to 921 computations (28.2% saved)

simplify184.0ms (1.1%)

Algorithm
egg-herbie
Rules
715×fma-def_binary64
688×distribute-rgt-neg-in_binary64
671×distribute-lft-neg-in_binary64
458×fma-neg_binary64
386×unswap-sqr_binary64
Counts
125 → 24
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0511287
1941201
21841201
36091201
412161201
519321201
632981201
743331201
846751201
949881201
1047151201

prune116.0ms (0.7%)

Pruning

33 alts after pruning (33 fresh and 0 done)

PrunedKeptTotal
New21324
Fresh03030
Picked101
Done000
Total223355
Error
23.4b
Counts
55 → 33
Alt Table
StatusErrorProgram
45.6b
(+.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))
28.8b
(+.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) 1) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.9b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2)) (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))
24.5b
(+.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))
24.7b
(+.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
29.4b
(+.f64 (pow.f64 (*.f64 a (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
33.6b
(+.f64 (pow.f64 (*.f64 a (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
28.2b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (sqrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))))) 2))
28.4b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
27.8b
(+.f64 (*.f64 a (*.f64 a (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.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))
33.5b
(+.f64 (pow.f64 (*.f64 a (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
36.3b
(+.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (*.f64 (*.f64 a a) (pow.f64 PI.f64 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (exp.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
29.4b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.4b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) 1)) 2))
30.1b
(+.f64 (pow.f64 (*.f64 a (fma.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000 (*.f64 1/180 (*.f64 angle PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3))))) 2))
24.5b
(+.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))
31.8b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) 6)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))) 2))
38.0b
(+.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (expm1.f64 (log1p.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2))
24.3b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 (neg.f64 (*.f64 angle PI.f64)) -180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
38.5b
(+.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) a) (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (cbrt.f64 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.f64 (pow.f64 (*.f64 a (*.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (*.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))
31.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (cbrt.f64 (*.f64 1/32400 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (cbrt.f64 (*.f64 1/180 (*.f64 angle PI.f64)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
31.6b
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
24.5b
(+.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))
Compiler

Compiled 2052 to 1490 computations (27.4% saved)

regimes2.2s (13.6%)

Accuracy

Total 0.7b remaining (3.5%)

Threshold costs 0.7b (3.5%)

Compiler

Compiled 48124 to 37214 computations (22.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01622
12222
22122

end1.0ms (0%)

Compiler

Compiled 17 to 14 computations (17.6% saved)

sample8.1s (49.8%)

Algorithm
intervals
Results
1.8s1595×body1024valid
1.7s1445×body1024invalid
1.2s734×body512invalid
814.0ms5005×body128valid
598.0ms810×body512valid
340.0ms194×body2048valid
171.0ms394×body256valid
147.0ms326×body256invalid
93.0ms562×body128invalid
10.0msbody4096valid
Compiler

Compiled 1144 to 886 computations (22.6% saved)

Profiling

Loading profile data...