Details

Time bar (total: 11.0s)

analyze1.8s (16.4%)

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
40.6%59.3%0.1%9
40.6%59.3%0.1%10
46%53.8%0.1%11
52.7%47.2%0.1%12
52.7%44.6%2.8%13
55.9%40.6%3.5%14
Compiler

Compiled 27 to 22 computations (18.5% saved)

sample185.0ms (1.7%)

Algorithm
intervals
Results
38.0ms55×body1024valid
28.0msbody4096valid
24.0ms36×body1024invalid
23.0ms148×body128valid
16.0ms40×body128invalid
15.0ms29×body512valid
12.0msbody2048valid
8.0ms16×body512invalid
3.0msbody256valid
2.0msbody256invalid
Compiler

Compiled 56 to 46 computations (17.9% saved)

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
387×unsub-neg_binary64
380×neg-sub0_binary64
373×neg-mul-1_binary64
358×*-commutative_binary64
328×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01737
13737
28437
322437
480337
5206137
6386137
7507637

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
32.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 101 to 78 computations (22.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
7.1b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
26.3b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64
16×associate-*r*_binary64
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
13×*-un-lft-identity_binary64
Counts
4 → 74
Calls

4 calls:

11.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
5.0ms
(*.f64 PI.f64 (/.f64 angle 180))
1.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
1.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

series128.0ms (1.2%)

Counts
4 → 72
Calls

4 calls:

110.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
12.0ms
(*.f64 PI.f64 (/.f64 angle 180))
3.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
3.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

simplify146.0ms (1.3%)

Algorithm
egg-herbie
Rules
848×fma-def_binary64
487×cancel-sign-sub-inv_binary64
351×fma-neg_binary64
313×associate-*r*_binary64
300×associate-*l*_binary64
Counts
146 → 224
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02433355
16412801
223862789
347842758
449912758
549482758

prune228.0ms (2.1%)

Pruning

29 alts after pruning (29 fresh and 0 done)

PrunedKeptTotal
New19529224
Fresh000
Picked101
Done000
Total19629225
Error
28.2b
Counts
225 → 29
Alt Table
StatusErrorProgram
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180))) (/.f64 (cbrt.f64 angle) (sqrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
50.2b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (exp.f64 (+.f64 (log.f64 PI.f64) (log.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.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)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 (/.f64 angle 180))) (sqrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180)))) (cbrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
51.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (cbrt.f64 PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.5b
(*.f64 (*.f64 -2 (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.9b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 PI.f64 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (/.f64 angle (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
37.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (fma.f64 angle (*.f64 PI.f64 1/180) (fma.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5)) (fma.f64 (pow.f64 PI.f64 7) (*.f64 (pow.f64 angle 7) -1/30855889612800000000) (*.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 angle)) (/.f64 (sqrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))
54.3b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (log.f64 (exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 1)
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.6b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180)))) (/.f64 (cbrt.f64 angle) (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (+.f64 (log.f64 2) (log.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 6164 to 4530 computations (26.5% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
26.3b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune229.0ms (2.1%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New1946200
Fresh22628
Picked101
Done000
Total19732229
Error
28.1b
Counts
229 → 32
Alt Table
StatusErrorProgram
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180))) (/.f64 (cbrt.f64 angle) (sqrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
50.2b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (exp.f64 (+.f64 (log.f64 PI.f64) (log.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180)))) (cbrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (cbrt.f64 PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 1)))
45.5b
(*.f64 (*.f64 -2 (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.9b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))
32.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 PI.f64 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (/.f64 angle (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
49.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 angle)) (/.f64 (sqrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))
51.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
54.3b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (log.f64 (exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 1)
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.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)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.6b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180)))) (/.f64 (cbrt.f64 angle) (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 (/.f64 angle 180))) (sqrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
37.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (fma.f64 angle (*.f64 PI.f64 1/180) (fma.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5)) (fma.f64 (pow.f64 PI.f64 7) (*.f64 (pow.f64 angle 7) -1/30855889612800000000) (*.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (+.f64 (log.f64 2) (log.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 5770 to 4446 computations (22.9% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
26.3b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify20.0ms (0.2%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune246.0ms (2.2%)

Pruning

33 alts after pruning (33 fresh and 0 done)

PrunedKeptTotal
New144821450
Fresh03131
Picked101
Done000
Total1449331482
Error
28.1b
Counts
1482 → 33
Alt Table
StatusErrorProgram
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180))) (/.f64 (cbrt.f64 angle) (sqrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
50.2b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (exp.f64 (+.f64 (log.f64 PI.f64) (log.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180)))) (cbrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (cbrt.f64 PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 1)))
45.5b
(*.f64 (*.f64 -2 (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.9b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))))
32.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 PI.f64 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (/.f64 angle (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
49.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 angle)) (/.f64 (sqrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 1)))
51.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
54.3b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (log.f64 (exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 1)
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.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)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.6b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180)))) (/.f64 (cbrt.f64 angle) (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 (/.f64 angle 180))) (sqrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
37.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (fma.f64 angle (*.f64 PI.f64 1/180) (fma.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5)) (fma.f64 (pow.f64 PI.f64 7) (*.f64 (pow.f64 angle 7) -1/30855889612800000000) (*.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (+.f64 (log.f64 2) (log.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 6028 to 4682 computations (22.3% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
26.5b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify224.0ms (2%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune434.0ms (4%)

Pruning

34 alts after pruning (34 fresh and 0 done)

PrunedKeptTotal
New23994624000
Fresh42832
Picked101
Done000
Total239993424033
Error
28.0b
Counts
24033 → 34
Alt Table
StatusErrorProgram
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (sqrt.f64 180))) (/.f64 (cbrt.f64 angle) (sqrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
50.2b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (exp.f64 (+.f64 (log.f64 PI.f64) (log.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
45.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 (/.f64 angle 180)) (cbrt.f64 (/.f64 angle 180)))) (cbrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64)) (*.f64 (cbrt.f64 PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (pow.f64 b 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 1)))
45.5b
(*.f64 (*.f64 -2 (*.f64 (pow.f64 a 2) (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.9b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (sqrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
32.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 PI.f64 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (/.f64 angle (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cbrt.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
37.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (fma.f64 angle (*.f64 PI.f64 1/180) (fma.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 PI.f64 5)) (fma.f64 (pow.f64 PI.f64 7) (*.f64 (pow.f64 angle 7) -1/30855889612800000000) (*.f64 (pow.f64 (*.f64 angle PI.f64) 3) -1/34992000))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 1)) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 1)))
51.7b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))
54.3b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
36.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (fma.f64 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)) -1/64800 1))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
55.2b
(*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
33.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 1)
32.3b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
45.6b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.8b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle))) (/.f64 (cbrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
32.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (log1p.f64 (expm1.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 1/180 (*.f64 angle PI.f64))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))))))
55.2b
(*.f64 (exp.f64 (+.f64 (+.f64 (log.f64 2) (log.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (log.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (/.f64 (*.f64 (cbrt.f64 angle) (cbrt.f64 angle)) (*.f64 (cbrt.f64 180) (cbrt.f64 180)))) (/.f64 (cbrt.f64 angle) (cbrt.f64 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 (/.f64 angle 180))) (sqrt.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
35.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
49.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (*.f64 PI.f64 (sqrt.f64 angle)) (/.f64 (sqrt.f64 angle) 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 6142 to 4751 computations (22.6% saved)

regimes1.4s (12.7%)

Accuracy

Total 3.1b remaining (9.7%)

Threshold costs 0b (0%)

Compiler

Compiled 38202 to 30090 computations (21.2% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029127
139127
244127
346127
447127
547127

end2.0ms (0%)

Compiler

Compiled 77 to 60 computations (22.1% saved)

sample5.8s (52.5%)

Algorithm
intervals
Results
1.1s1478×body1024valid
868.0ms1255×body1024invalid
830.0ms5114×body128valid
389.0ms782×body512valid
340.0ms82×body4096valid
320.0ms649×body512invalid
226.0ms187×body2048valid
215.0ms1309×body128invalid
120.0ms357×body256valid
107.0ms316×body256invalid
Compiler

Compiled 1454 to 1154 computations (20.6% saved)

Profiling

Loading profile data...