Details

Time bar (total: 9.6s)

analyze1.6s (16.7%)

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
0%99.9%0.1%6
6.2%93.6%0.1%7
9.4%90.5%0.1%8
14%85.8%0.1%9
19.5%80.4%0.1%10
20.7%79.2%0.1%11
22%77.8%0.1%12
23.5%76.4%0.1%13
23.8%76%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample101.0ms (1%)

Algorithm
intervals
Results
60.0ms125×body1024valid
11.0ms34×body512valid
9.0msbody2048valid
6.0ms68×body128valid
4.0ms22×body256valid
Compiler

Compiled 28 to 20 computations (28.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
+-commutative_binary64
associate-*r/_binary64
associate-*l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11314
21614
32014
42114
52114

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
14.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.5b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
Compiler

Compiled 45 to 28 computations (37.8% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.2b
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
3.2b
(cos.f64 (+.f64 a b))

series82.0ms (0.8%)

Counts
3 → 52
Calls

3 calls:

48.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
28.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
6.0ms
(cos.f64 (+.f64 a b))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64
19×times-frac_binary64
19×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
13×associate-*r*_binary64
Counts
3 → 73
Calls

3 calls:

6.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
3.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
3.0ms
(cos.f64 (+.f64 a b))

simplify75.0ms (0.8%)

Algorithm
egg-herbie
Rules
696×fma-def_binary64
561×associate-/r*_binary64
437×associate-*l/_binary64
281×associate-/r/_binary64
239×associate-/l/_binary64
Counts
125 → 172
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02442790
16202642
222882580
353172580

prune157.0ms (1.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1648172
Fresh000
Picked101
Done000
Total1658173
Error
0.2b
Counts
173 → 8
Alt Table
StatusErrorProgram
15.3b
(*.f64 r (*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 (sin.f64 b))) (*.f64 (cbrt.f64 (cos.f64 (+.f64 a b))) (cbrt.f64 (cos.f64 (+.f64 a b))))) (/.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 a b))))))
14.5b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
27.9b
(*.f64 r (cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))))
14.7b
(*.f64 r (/.f64 (sin.f64 b) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3))))
14.5b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 a b))))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
29.5b
(*.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 a b)))))
38.7b
(*.f64 (sqrt.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))) (sqrt.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))))
Compiler

Compiled 3913 to 1247 computations (68.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
0.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))

series239.0ms (2.5%)

Counts
4 → 80
Calls

4 calls:

148.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
64.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
16.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
11.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

rewrite32.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt_binary64
22×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
20×associate-*r*_binary64
19×times-frac_binary64
Counts
4 → 110
Calls

4 calls:

11.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
6.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
4.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
4.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

simplify159.0ms (1.6%)

Algorithm
egg-herbie
Rules
386×fma-neg_binary64
323×cancel-sign-sub-inv_binary64
290×associate-*r*_binary64
268×associate-*l*_binary64
198×distribute-rgt-neg-in_binary64
Counts
190 → 216
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03315599
18715281
232585029
345305023
449715023

prune236.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New20610216
Fresh707
Picked101
Done000
Total21410224
Error
0.0b
Counts
224 → 10
Alt Table
StatusErrorProgram
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.4b
(/.f64 r (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1)))
0.3b
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
0.4b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) 3)))) (+.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (+.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 a)) (sin.f64 a)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 b)) (sin.f64 b)))))))
1.3b
(*.f64 (*.f64 r (*.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2))))) (+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
23.3b
(*.f64 (/.f64 r (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
13.8b
(*.f64 r (cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.9b
(*.f64 r (/.f64 (/.f64 (sin.f64 b) (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
Compiler

Compiled 6727 to 1887 computations (71.9% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.3b
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
26.5b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))

series101.0ms (1%)

Counts
3 → 72
Calls

3 calls:

65.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))))
25.0ms
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
10.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))

rewrite41.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
42×pow1_binary64
28×sin-mult_binary64
17×pow-prod-down_binary64
17×add-cbrt-cube_binary64
17×add-exp-log_binary64
Counts
3 → 96
Calls

3 calls:

11.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))
10.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))))
6.0ms
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))

simplify106.0ms (1.1%)

Algorithm
egg-herbie
Rules
682×fma-def_binary64
654×times-frac_binary64
378×cancel-sign-sub-inv_binary64
308×unswap-sqr_binary64
247×associate-*r*_binary64
Counts
168 → 185
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02955264
17074170
223953868
351613868

prune439.0ms (4.6%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3053308
Fresh279
Picked101
Done000
Total30810318
Error
0.0b
Counts
318 → 10
Alt Table
StatusErrorProgram
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.4b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) 3)))) (+.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (+.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
31.7b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2))))) (+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
23.3b
(*.f64 (/.f64 r (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.4b
(/.f64 r (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1)))
13.8b
(*.f64 r (cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
1.3b
(*.f64 (*.f64 r (*.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
13.8b
(*.f64 r (cbrt.f64 (/.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 b)) (sin.f64 b)) (*.f64 (*.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))))
0.9b
(*.f64 r (/.f64 (/.f64 (sin.f64 b) (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
Compiler

Compiled 12504 to 3261 computations (73.9% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b))))))
3.0b
(log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))

series193.0ms (2%)

Counts
3 → 84
Calls

3 calls:

115.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
66.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b))))))
11.0ms
(log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))

rewrite36.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
20×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
19×times-frac_binary64
18×associate-*r*_binary64
Counts
3 → 89
Calls

3 calls:

12.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
9.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b))))))
2.0ms
(log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))

simplify165.0ms (1.7%)

Algorithm
egg-herbie
Rules
806×fma-def_binary64
264×associate-/l/_binary64
255×fma-neg_binary64
243×associate-*r*_binary64
217×associate-*l*_binary64
Counts
173 → 204
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03227214
17965383
228424920
348444915
449624915

prune422.0ms (4.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3261327
Fresh189
Picked011
Done000
Total32710337
Error
0.0b
Counts
337 → 10
Alt Table
StatusErrorProgram
30.7b
(*.f64 (*.f64 r (sqrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (sqrt.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b))))))))
31.7b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (log.f64 (exp.f64 (*.f64 (sin.f64 a) (sin.f64 b))))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.4b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) 3)))) (+.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (+.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2))))) (+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
23.3b
(*.f64 (/.f64 r (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (sqrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.4b
(/.f64 r (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1)))
13.8b
(*.f64 r (cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))) (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
13.8b
(*.f64 r (cbrt.f64 (/.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 b)) (sin.f64 b)) (*.f64 (*.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b))))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))))
0.9b
(*.f64 r (/.f64 (/.f64 (sin.f64 b) (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
Compiler

Compiled 14173 to 3018 computations (78.7% saved)

regimes1.9s (20%)

Accuracy

Total 0.3b remaining (83.7%)

Threshold costs 0.3b (83.7%)

Counts
315 → 1
Compiler

Compiled 45272 to 24368 computations (46.2% saved)

simplify3.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
01741
12341
22841
33041
43141
53141

end1.0ms (0%)

Compiler

Compiled 28 to 16 computations (42.9% saved)

sample3.4s (35.6%)

Algorithm
intervals
Results
1.9s3522×body1024valid
352.0ms1357×body512valid
224.0ms185×body2048valid
221.0ms2333×body128valid
123.0ms603×body256valid
0.0msbody512invalid
0.0msbody256invalid
Compiler

Compiled 497 to 208 computations (58.1% saved)

Profiling

Loading profile data...