Details

Time bar (total: 19.5s)

analyze3.0s (15.5%)

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)

sample332.0ms (1.7%)

Algorithm
intervals
Results
70.0ms55×body1024valid
62.0msbody4096valid
46.0ms36×body1024invalid
44.0ms148×body128valid
28.0ms29×body512valid
22.0msbody2048valid
14.0ms16×body512invalid
12.0ms40×body128invalid
5.0msbody256valid
3.0msbody256invalid
Compiler

Compiled 56 to 46 computations (17.9% saved)

simplify60.0ms (0.3%)

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

prune6.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)

localize27.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)))

rewrite44.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:

22.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
10.0ms
(*.f64 PI.f64 (/.f64 angle 180))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

series237.0ms (1.2%)

Counts
4 → 72
Calls

4 calls:

205.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
20.0ms
(*.f64 PI.f64 (/.f64 angle 180))
6.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
6.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

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

prune440.0ms (2.3%)

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
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))))
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))))
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.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))))
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))))
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))))
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))))
Compiler

Compiled 6164 to 4530 computations (26.5% saved)

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

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune413.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
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))))
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.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))))))
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))))
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.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 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))))))
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))))
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)))))) (*.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.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))))
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))))
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.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))))))
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.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)))
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))))))
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))))
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))))
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))))
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))))
Compiler

Compiled 5770 to 4446 computations (22.9% saved)

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

simplify43.0ms (0.2%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune446.0ms (2.3%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New144911450
Fresh13031
Picked101
Done000
Total1451311482
Error
28.1b
Counts
1482 → 31
Alt Table
StatusErrorProgram
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))))
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.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))))))
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))))
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.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 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))))))
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))))
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)))))) (*.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 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))))
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))))
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.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)))
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))))))
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))))
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))))
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))))
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))))
Compiler

Compiled 5828 to 4522 computations (22.4% saved)

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

simplify214.0ms (1.1%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune545.0ms (2.8%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New11298211300
Fresh03030
Picked101
Done000
Total112993211331
Error
28.1b
Counts
11331 → 32
Alt Table
StatusErrorProgram
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))))
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))))
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.6b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) 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))))))
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))))
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)))))) (*.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 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))))
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))) (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))))))))
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))) (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)))
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.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)))
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))))))
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))))
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))))
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))))
Compiler

Compiled 4767 to 3682 computations (22.8% saved)

regimes2.4s (12.1%)

Accuracy

Total 3.0b remaining (9.5%)

Threshold costs 0b (0%)

Compiler

Compiled 33842 to 26640 computations (21.3% saved)

simplify8.0ms (0%)

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
01941
12541
23041
33241
43341
53341

end2.0ms (0%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

sample10.9s (55.8%)

Algorithm
intervals
Results
2.0s1478×body1024valid
1.8s1255×body1024invalid
1.5s5114×body128valid
743.0ms782×body512valid
679.0ms82×body4096valid
605.0ms649×body512invalid
427.0ms187×body2048valid
397.0ms1309×body128invalid
226.0ms357×body256valid
190.0ms316×body256invalid
Compiler

Compiled 1233 to 980 computations (20.5% saved)

Profiling

Loading profile data...