Details

Time bar (total: 8.1s)

analyze1.2s (15.3%)

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
25%74.9%0.1%7
37.4%62.4%0.1%8
37.4%62.4%0.1%9
56.2%43.7%0.1%10
65.5%34.3%0.1%11
65.5%34.3%0.1%12
76.5%23.4%0.1%13
81.9%17.9%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.4s (29.8%)

Results
1.1s1400×body1024valid
963.0ms5872×body128valid
284.0ms669×body512valid
94.0ms313×body256valid
3.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0914
11412
22212
32612
42612

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (sin.f64 y))
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))

series23.0ms (0.3%)

Counts
2 → 60
Calls

2 calls:

19.0ms
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
4.0ms
(+.f64 x (sin.f64 y))

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
838×log1p-expm1-u_binary64
838×expm1-log1p-u_binary64
564×prod-diff_binary64
88×add-sqr-sqrt_binary64
81×add-log-exp_binary64
Counts
2 → 60
Calls

2 calls:

51.0ms
(+.f64 x (sin.f64 y))
51.0ms
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
116718
2209718
3617918
000
100

simplify87.0ms (1.1%)

Algorithm
egg-herbie
Rules
691×fma-def_binary64
473×sub-neg_binary64
443×unswap-sqr_binary64
356×distribute-rgt-neg-in_binary64
355×cancel-sign-sub-inv_binary64
Counts
120 → 81
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034544
1100542
2244535
3703531
42177531
53696531
64608531
74922531

prune58.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New79281
Fresh000
Picked011
Done000
Total79382
Error
0.0b
Counts
82 → 3
Alt Table
StatusErrorProgram
1.4b
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
29.8b
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 1130 to 380 computations (66.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
0.3b
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
0.5b
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.6b
(cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))

series880.0ms (10.8%)

Counts
3 → 108
Calls

3 calls:

477.0ms
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
389.0ms
(cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))
14.0ms
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))

rewrite142.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
622×prod-diff_binary64
479×fma-udef_binary64
233×fma-def_binary64
198×expm1-udef_binary64
198×log1p-udef_binary64
Counts
3 → 82
Calls

3 calls:

140.0ms
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
140.0ms
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
140.0ms
(cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01243
123041
2260541
3480741
4492941
5499241
6491841
000
100

simplify118.0ms (1.4%)

Algorithm
egg-herbie
Rules
773×times-frac_binary64
550×fma-def_binary64
505×associate-/r*_binary64
473×associate-/l*_binary64
233×*-commutative_binary64
Counts
190 → 209
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06017014
120436698
255876698

prune334.0ms (4.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New3662368
Fresh011
Picked011
Done011
Total3665371
Error
0.0b
Counts
371 → 5
Alt Table
StatusErrorProgram
1.4b
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
15.6b
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
1.7b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
29.8b
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 18361 to 8925 computations (51.4% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.5b
(cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
0.6b
(cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))
0.8b
(pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3)

series968.0ms (11.9%)

Counts
2 → 72
Calls

2 calls:

566.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3)
401.0ms
(cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))

rewrite114.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
616×prod-diff_binary64
453×fma-udef_binary64
344×fma-def_binary64
201×expm1-udef_binary64
201×log1p-udef_binary64
Counts
2 → 47
Calls

2 calls:

112.0ms
(cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
112.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01230
123029
2267629
3479729
4488629
5494629
000
100

simplify162.0ms (2%)

Algorithm
egg-herbie
Rules
789×times-frac_binary64
580×fma-def_binary64
479×associate-/l*_binary64
209×*-commutative_binary64
135×sqr-pow_binary64
Counts
119 → 157
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05396633
120046404
250066404

prune580.0ms (7.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3890389
Fresh022
Picked011
Done022
Total3895394
Error
0.0b
Counts
394 → 5
Alt Table
StatusErrorProgram
1.4b
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
15.6b
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
1.7b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
29.8b
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 27464 to 14786 computations (46.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (sin.f64 y))
0.0b
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
0.0b
(sqrt.f64 (cos.f64 y))
0.1b
(*.f64 z (sqrt.f64 (cos.f64 y)))

series48.0ms (0.6%)

Counts
3 → 64
Calls

3 calls:

31.0ms
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
15.0ms
(*.f64 z (sqrt.f64 (cos.f64 y)))
2.0ms
(sqrt.f64 (cos.f64 y))

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
571×prod-diff_binary64
501×log-prod_binary64
235×fma-def_binary64
191×expm1-udef_binary64
191×log1p-udef_binary64
Counts
3 → 75
Calls

3 calls:

63.0ms
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
63.0ms
(sqrt.f64 (cos.f64 y))
63.0ms
(*.f64 z (sqrt.f64 (cos.f64 y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01034
120627
2253625
3548025
000
100

simplify105.0ms (1.3%)

Algorithm
egg-herbie
Rules
703×distribute-rgt-neg-in_binary64
595×distribute-lft-neg-in_binary64
454×sub-neg_binary64
413×fma-neg_binary64
366×neg-mul-1_binary64
Counts
139 → 103
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055681
1151673
2433663
31404663
43035663
54604663
64991663

prune137.0ms (1.7%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1752177
Fresh011
Picked101
Done033
Total1766182
Error
0.0b
Counts
182 → 6
Alt Table
StatusErrorProgram
1.4b
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
15.6b
(fma.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 1/4) 2)) (sqrt.f64 (cos.f64 y)) (+.f64 x (sin.f64 y)))
1.7b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) 3) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2))
15.6b
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (expm1.f64 (log1p.f64 (sqrt.f64 (cos.f64 y)))) (+.f64 x (sin.f64 y)))
29.8b
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) 2)
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 3116 to 905 computations (71% saved)

regimes421.0ms (5.2%)

Accuracy

Total 0.0b remaining (49%)

Threshold costs 0.0b (49%)

Counts
69 → 1
Compiler

Compiled 4720 to 2978 computations (36.9% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
2912

end107.0ms (1.3%)

Compiler

Compiled 135 to 80 computations (40.7% saved)

Profiling

Loading profile data...