Details

Time bar (total: 9.3s)

analyze1.2s (12.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
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)

sample60.0ms (0.7%)

Algorithm
intervals
Results
29.0ms109×body1024valid
8.0ms43×body512valid
5.0ms77×body128valid
3.0ms22×body256valid
2.0msbody2048valid
Compiler

Compiled 28 to 20 computations (28.6% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11314
21714
32014
42114
52114

prune8.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
13.9b
Counts
2 → 1
Alt Table
StatusErrorProgram
13.9b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.1b
(*.f64 r (sin.f64 b))
0.2b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
4.5b
(cos.f64 (+.f64 a b))

rewrite62.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 47
Calls

3 calls:

5.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
4.0ms
(cos.f64 (+.f64 a b))
4.0ms
(*.f64 r (sin.f64 b))
Compiler

Compiled 706 to 152 computations (78.5% saved)

series115.0ms (1.2%)

Error
12.7b
Counts
3 → 30
Calls

3 calls:

61.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
18.0ms
(cos.f64 (+.f64 a b))
16.0ms
(*.f64 r (sin.f64 b))
Compiler

Compiled 1222 to 731 computations (40.2% saved)

simplify93.0ms (1%)

Algorithm
egg-herbie
Rules
475×associate-*l*_binary64
470×associate-*r*_binary64
377×associate-/r*_binary64
321×associate-*l/_binary64
262×associate-/l/_binary64
Counts
77 → 58
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321213
13361091
212101073
343271073
447691073
550201073

prune65.0ms (0.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New471158
Fresh000
Picked101
Done000
Total481159
Error
0.1b
Counts
59 → 11
Alt Table
StatusErrorProgram
14.1b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
14.3b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
14.0b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
13.9b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
33.1b
(+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 b (*.f64 b r))) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.f64 (*.f64 r (pow.f64 b 3)) (cos.f64 a)) (+.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)) 1/3))))
14.0b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))
14.3b
(*.f64 (/.f64 r (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 (cos.f64 (+.f64 b a))))) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))
30.0b
(/.f64 (*.f64 r (sin.f64 b)) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (cos.f64 (+.f64 b a)))))
14.1b
(/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)))
36.3b
(*.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))) (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
Compiler

Compiled 1099 to 439 computations (60.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite145.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
14×add-sqr-sqrt_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
4 → 76
Calls

4 calls:

9.0ms
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
5.0ms
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
5.0ms
(*.f64 (sin.f64 b) (sin.f64 a))
4.0ms
(*.f64 r (sin.f64 b))
Compiler

Compiled 1877 to 293 computations (84.4% saved)

series195.0ms (2.1%)

Error
0.1b
Counts
4 → 38
Calls

4 calls:

100.0ms
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
31.0ms
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
22.0ms
(*.f64 (sin.f64 b) (sin.f64 a))
20.0ms
(*.f64 r (sin.f64 b))
Compiler

Compiled 1919 to 1100 computations (42.7% saved)

simplify129.0ms (1.4%)

Algorithm
egg-herbie
Rules
511×associate-/r*_binary64
338×associate-*l/_binary64
328×associate-/l/_binary64
308×associate-/r/_binary64
191×distribute-rgt-neg-in_binary64
Counts
114 → 70
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01922488
15122264
219392065
347392065
449842065
549612065

prune88.0ms (1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New591170
Fresh9110
Picked101
Done000
Total691281
Error
0.0b
Counts
81 → 12
Alt Table
StatusErrorProgram
0.7b
(/.f64 1 (/.f64 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)) r))
0.5b
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (+.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))
28.6b
(*.f64 (sqrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))) (sqrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))) (cbrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a))))) (cbrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))))
31.2b
(/.f64 (*.f64 (sqrt.f64 r) (*.f64 (sin.f64 b) (sqrt.f64 r))) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) 3)))
1.2b
(/.f64 (*.f64 (*.f64 (cbrt.f64 r) (cbrt.f64 r)) (*.f64 (sin.f64 b) (cbrt.f64 r))) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.3b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) (cbrt.f64 (*.f64 (sin.f64 b) r))) (cbrt.f64 (*.f64 (sin.f64 b) r))) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
14.1b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
0.9b
(/.f64 (*.f64 (/.f64 r (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (sin.f64 b)) (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.5b
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
Compiler

Compiled 1958 to 673 computations (65.6% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(pow.f64 (cos.f64 a) 2)
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.3b
(pow.f64 (cos.f64 b) 2)
0.4b
(/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))

rewrite367.0ms (4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
43×times-frac_binary64
30×*-un-lft-identity_binary64
30×add-sqr-sqrt_binary64
30×add-cube-cbrt_binary64
20×add-exp-log_binary64
Counts
4 → 121
Calls

4 calls:

16.0ms
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
13.0ms
(/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
2.0ms
(pow.f64 (cos.f64 b) 2)
2.0ms
(pow.f64 (cos.f64 a) 2)
Compiler

Compiled 6860 to 2713 computations (60.5% saved)

series368.0ms (4%)

Error
0.0b
Counts
4 → 33
Calls

4 calls:

222.0ms
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
86.0ms
(/.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
14.0ms
(pow.f64 (cos.f64 a) 2)
11.0ms
(pow.f64 (cos.f64 b) 2)
Compiler

Compiled 2695 to 1546 computations (42.6% saved)

simplify335.0ms (3.6%)

Algorithm
egg-herbie
Rules
274×unswap-sqr_binary64
245×associate-/l*_binary64
225×associate-*l*_binary64
219×associate-*r*_binary64
209×cancel-sign-sub-inv_binary64
Counts
154 → 123
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03038127
17937291
232736468
348476468
449756468

prune234.0ms (2.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1167123
Fresh6511
Picked101
Done000
Total12312135
Error
0.0b
Counts
135 → 12
Alt Table
StatusErrorProgram
0.7b
(/.f64 1 (/.f64 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)) r))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 6)) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2))) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.6b
(*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 r (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))))) (/.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) (-.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))))
28.6b
(*.f64 (sqrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))) (sqrt.f64 (/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)))))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))))
31.2b
(/.f64 (*.f64 (sqrt.f64 r) (*.f64 (sin.f64 b) (sqrt.f64 r))) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.4b
(/.f64 (sin.f64 b) (*.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) 3)))
0.5b
(/.f64 r (/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (*.f64 (sin.f64 b) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))
1.1b
(/.f64 (*.f64 (/.f64 r (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))))) (sin.f64 b)) (/.f64 (cbrt.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.9b
(/.f64 (*.f64 (/.f64 r (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (sin.f64 b)) (cbrt.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.8b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (cos.f64 b) 2)) 3) (pow.f64 (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2)) 3)) (*.f64 (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 4) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 4) (*.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))))))))
Compiler

Compiled 5728 to 2397 computations (58.2% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite196.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
22×add-exp-log_binary64
18×add-sqr-sqrt_binary64
17×add-cbrt-cube_binary64
16×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
Counts
4 → 91
Calls

4 calls:

11.0ms
(/.f64 (sin.f64 b) (*.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)))
8.0ms
(/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)
6.0ms
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
5.0ms
(*.f64 (sin.f64 b) (sin.f64 a))
Compiler

Compiled 2561 to 595 computations (76.8% saved)

series266.0ms (2.9%)

Error
0.0b
Counts
4 → 44
Calls

4 calls:

103.0ms
(/.f64 (sin.f64 b) (*.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)))
66.0ms
(/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)
34.0ms
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
23.0ms
(*.f64 (sin.f64 b) (sin.f64 a))
Compiler

Compiled 2305 to 1388 computations (39.8% saved)

simplify166.0ms (1.8%)

Algorithm
egg-herbie
Rules
480×associate-/r*_binary64
406×associate-/r/_binary64
348×associate-/l/_binary64
174×distribute-rgt-neg-in_binary64
170×cancel-sign-sub-inv_binary64
Counts
135 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02433552
16193210
220233144
348043144
449893144
549963144

prune162.0ms (1.8%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1103113
Fresh2911
Picked011
Done000
Total11213125
Error
0.0b
Counts
125 → 13
Alt Table
StatusErrorProgram
0.7b
(/.f64 1 (/.f64 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (sin.f64 b)) (sin.f64 a)) r))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 6)) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2))) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.6b
(*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 r (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))))) (/.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) (-.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))))
1.4b
(/.f64 (sin.f64 b) (*.f64 1 (*.f64 (/.f64 (*.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))))) (*.f64 (cbrt.f64 r) (cbrt.f64 r))) (/.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (cbrt.f64 r)))))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))))
31.2b
(/.f64 (*.f64 (sqrt.f64 r) (*.f64 (sin.f64 b) (sqrt.f64 r))) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.4b
(/.f64 (sin.f64 b) (*.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r)))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) 3)))
0.5b
(/.f64 r (/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (*.f64 (sin.f64 b) (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))
0.5b
(/.f64 (sin.f64 b) (*.f64 1 (-.f64 (*.f64 (/.f64 (cos.f64 a) r) (cos.f64 b)) (/.f64 (*.f64 (sin.f64 a) (sin.f64 b)) r))))
1.1b
(/.f64 (*.f64 (/.f64 r (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))))) (sin.f64 b)) (/.f64 (cbrt.f64 (-.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 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
0.8b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (cos.f64 b) 2)) 3) (pow.f64 (*.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (sin.f64 b) 2)) 3)) (*.f64 (+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 4) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 4) (*.f64 (*.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))))))))
0.3b
(*.f64 (sin.f64 b) (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
Compiler

Compiled 2586 to 840 computations (67.5% saved)

regimes2.5s (27.3%)

Accuracy

Total 0.3b remaining (90%)

Threshold costs 0.3b (90%)

Compiler

Compiled 48445 to 26929 computations (44.4% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
distribute-rgt-neg-in_binary64
cancel-sign-sub-inv_binary64
sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01526
12726
23726
34226
44726
54926
64726

end1.0ms (0%)

Compiler

Compiled 19 to 12 computations (36.8% saved)

sample2.4s (25.9%)

Algorithm
intervals
Results
1.0s3503×body1024valid
276.0ms1343×body512valid
159.0ms2292×body128valid
123.0ms204×body2048valid
90.0ms658×body256valid
Compiler

Compiled 568 to 337 computations (40.7% saved)

Profiling

Loading profile data...