Details

Time bar (total: 13.1s)

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

sample4.6s (35.1%)

Results
3.1s3637×body1024valid
592.0ms1441×body512valid
397.0ms2388×body128valid
323.0ms200×body2048valid
181.0ms590×body256valid
0.0msbody256invalid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify6.0ms (0%)

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.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.2b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
Compiler

Compiled 45 to 28 computations (37.8% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 b)
0.2b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.3b
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
3.8b
(cos.f64 (+.f64 a b))

series78.0ms (0.6%)

Counts
4 → 56
Calls

4 calls:

47.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
25.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
5.0ms
(cos.f64 (+.f64 a b))
2.0ms
(sin.f64 b)

rewrite16.0ms (0.1%)

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

4 calls:

5.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
3.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
2.0ms
(cos.f64 (+.f64 a b))
1.0ms
(sin.f64 b)

simplify94.0ms (0.7%)

Algorithm
egg-herbie
Rules
757×fma-def_binary64
561×associate-/r*_binary64
281×associate-/r/_binary64
239×associate-/l/_binary64
206×associate-*r*_binary64
Counts
138 → 189
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02612895
16672747
224162681
349882681
450292681

prune158.0ms (1.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New17910189
Fresh000
Picked101
Done000
Total18010190
Error
0.2b
Counts
190 → 10
Alt Table
StatusErrorProgram
38.4b
(*.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
14.2b
(*.f64 r (/.f64 (sin.f64 b) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 a b))))))
50.3b
(*.f64 (*.f64 (sqrt.f64 r) (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))) (*.f64 (sqrt.f64 r) (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))))
30.3b
(*.f64 r (cbrt.f64 (/.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 b)) (sin.f64 b)) (*.f64 (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 a b))) (cos.f64 (+.f64 a b))))))
14.2b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
14.2b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 a b))))
38.1b
(*.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (/.f64 (sqrt.f64 (sin.f64 b)) (cos.f64 (+.f64 a b))))
14.2b
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 a b)) (sin.f64 b))))
14.8b
(*.f64 (*.f64 r (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 (sin.f64 b)))) (/.f64 (cbrt.f64 (sin.f64 b)) (cos.f64 (+.f64 a b))))
Compiler

Compiled 4194 to 1385 computations (67% saved)

localize13.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 (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 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))

series188.0ms (1.4%)

Counts
4 → 80
Calls

4 calls:

103.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
61.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
14.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
10.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

rewrite29.0ms (0.2%)

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:

8.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 (sin.f64 a) (sin.f64 b))
4.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))

simplify149.0ms (1.1%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
03315599
18705281
232585029
345305023
449715023

prune276.0ms (2.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New24011251
Fresh909
Picked101
Done000
Total25011261
Error
0.0b
Counts
261 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f64 r (/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b))))
0.4b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
33.2b
(*.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (/.f64 (sqrt.f64 (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))) (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (exp.f64 (*.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 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
0.4b
(*.f64 r (/.f64 (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))) (fma.f64 (sin.f64 b) (sin.f64 a) (*.f64 (cos.f64 a) (cos.f64 b))))))
32.3b
(*.f64 (sqrt.f64 r) (/.f64 (sqrt.f64 r) (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (*.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))))
1.4b
(*.f64 (*.f64 r (/.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.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))))))) (/.f64 (cbrt.f64 (sin.f64 b)) (cbrt.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)))
Compiler

Compiled 7851 to 2056 computations (73.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
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)) (*.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)))
30.2b
(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))))

series139.0ms (1.1%)

Counts
3 → 84
Calls

3 calls:

105.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)) (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (sin.f64 a) (sin.f64 b)))))))
24.0ms
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
9.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))))

rewrite44.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
44×pow1_binary64
28×sin-mult_binary64
23×associate-*r*_binary64
20×add-cbrt-cube_binary64
20×add-exp-log_binary64
Counts
3 → 101
Calls

3 calls:

15.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)) (*.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))))
7.0ms
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))

simplify137.0ms (1%)

Algorithm
egg-herbie
Rules
786×fma-def_binary64
375×associate-*r*_binary64
373×cancel-sign-sub-inv_binary64
350×associate-*l*_binary64
295×unswap-sqr_binary64
Counts
185 → 191
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03405715
18374596
230514323
349764323
449664323

prune552.0ms (4.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New3332335
Fresh1910
Picked101
Done000
Total33511346
Error
0.0b
Counts
346 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f64 r (/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b))))
0.4b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
33.2b
(*.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (/.f64 (sqrt.f64 (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))) (cbrt.f64 (*.f64 r (/.f64 (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)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))
32.3b
(*.f64 (sqrt.f64 r) (/.f64 (sqrt.f64 r) (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (*.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 b) 2) (pow.f64 (sin.f64 a) 2))))) (+.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))))))
1.4b
(*.f64 (*.f64 r (/.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.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))))))) (/.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (exp.f64 (*.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)))
Compiler

Compiled 13594 to 3415 computations (74.9% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (sin.f64 a) 2)
0.3b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))
6.8b
(cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))
29.0b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))

series1.6s (12.1%)

Counts
4 → 76
Calls

4 calls:

1.1s
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))
506.0ms
(cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))
10.0ms
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))
3.0ms
(pow.f64 (sin.f64 a) 2)

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-exp-log_binary64
pow1_binary64
Counts
4 → 67
Calls

4 calls:

5.0ms
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))
3.0ms
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2)))
3.0ms
(cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))
2.0ms
(pow.f64 (sin.f64 a) 2)

simplify121.0ms (0.9%)

Algorithm
egg-herbie
Rules
582×fma-def_binary64
467×cancel-sign-sub-inv_binary64
271×unswap-sqr_binary64
229×distribute-rgt-neg-in_binary64
214×distribute-lft-neg-in_binary64
Counts
143 → 160
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02183019
15622819
217292407
343982345
448502341
549612341

prune313.0ms (2.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1591160
Fresh01010
Picked101
Done000
Total16011171
Error
0.0b
Counts
171 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f64 r (/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b))))
0.4b
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
33.2b
(*.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (/.f64 (sqrt.f64 (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))) (cbrt.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))) (cbrt.f64 (*.f64 r (/.f64 (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)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (sin.f64 a) 2))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))
0.5b
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (*.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 b) 2) (pow.f64 (sin.f64 a) 2))))) (+.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))))))
1.4b
(*.f64 (*.f64 r (/.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.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))))))) (/.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (exp.f64 (*.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)))
32.3b
(*.f64 (sqrt.f64 r) (/.f64 (sqrt.f64 r) (-.f64 (/.f64 (cos.f64 a) (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (sin.f64 a) 1))))
Compiler

Compiled 6187 to 2643 computations (57.3% saved)

regimes2.7s (20.4%)

Accuracy

Total 0.3b remaining (83.6%)

Threshold costs 0.3b (83.6%)

Counts
387 → 1
Compiler

Compiled 59082 to 32353 computations (45.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
01646
12846
23646
34046
44146
54146

end193.0ms (1.5%)

Compiler

Compiled 442 to 214 computations (51.6% saved)

Profiling

Loading profile data...