Details

Time bar (total: 6.0s)

analyze423.0ms (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
25%74.9%0.1%6
37.4%62.4%0.1%7
56.2%43.7%0.1%8
56.2%43.7%0.1%9
65.5%34.3%0.1%10
76.5%23.4%0.1%11
76.5%23.4%0.1%12
81.9%17.9%0.1%13
87.8%12.1%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.7s (45.1%)

Results
1.4s2101×body1024valid
684.0ms4550×body128valid
408.0ms1092×body512valid
144.0ms506×body256valid
9.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21612
31612

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 x (cos.f64 y) (*.f64 z (sin.f64 y)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series21.0ms (0.4%)

Counts
3 → 64
Calls

3 calls:

12.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
7.0ms
(*.f64 z (sin.f64 y))
1.0ms
(cos.f64 y)

rewrite48.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×expm1-udef_binary64
147×log1p-udef_binary64
Counts
3 → 59
Calls

3 calls:

47.0ms
(cos.f64 y)
47.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
47.0ms
(*.f64 z (sin.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
115621
2180121
3510521

simplify73.0ms (1.2%)

Algorithm
egg-herbie
Rules
607×distribute-rgt-neg-in_binary64
551×fma-neg_binary64
516×distribute-lft-neg-in_binary64
359×sub-neg_binary64
323×*-commutative_binary64
Counts
123 → 84
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054656
1154644
2430627
31319625
42979625
54897625
65009625

prune69.0ms (1.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New76884
Fresh000
Picked101
Done000
Total77885
Error
0.1b
Counts
85 → 8
Alt Table
StatusErrorProgram
0.3b
(fma.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1) (*.f64 z (sin.f64 y)))
0.7b
(fma.f64 x (cos.f64 y) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
26.4b
(fma.f64 x (cos.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
0.2b
(fma.f64 x (log1p.f64 (expm1.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
25.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
36.9b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
16.3b
(fma.f64 x (pow.f64 (pow.f64 (cos.f64 y) 3) 1/3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 1403 to 571 computations (59.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (log1p.f64 (expm1.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.2b
(log1p.f64 (expm1.f64 (cos.f64 y)))
0.6b
(expm1.f64 (cos.f64 y))

series19.0ms (0.3%)

Counts
3 → 60
Calls

3 calls:

14.0ms
(fma.f64 x (log1p.f64 (expm1.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
3.0ms
(expm1.f64 (cos.f64 y))
2.0ms
(log1p.f64 (expm1.f64 (cos.f64 y)))

rewrite48.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
765×expm1-log1p-u_binary64
764×log1p-expm1-u_binary64
236×prod-diff_binary64
89×add-sqr-sqrt_binary64
81×add-log-exp_binary64
Counts
3 → 62
Calls

3 calls:

47.0ms
(fma.f64 x (log1p.f64 (expm1.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
47.0ms
(log1p.f64 (expm1.f64 (cos.f64 y)))
47.0ms
(expm1.f64 (cos.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
117520
2199420
3515020

simplify75.0ms (1.2%)

Algorithm
egg-herbie
Rules
748×distribute-rgt-neg-in_binary64
544×fma-neg_binary64
519×sub-neg_binary64
385×neg-mul-1_binary64
362×*-commutative_binary64
Counts
122 → 88
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057606
1159598
2446585
31449577
43490577
54838577
65013577

prune82.0ms (1.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1120112
Fresh077
Picked011
Done000
Total1128120
Error
0.1b
Counts
120 → 8
Alt Table
StatusErrorProgram
0.3b
(fma.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1) (*.f64 z (sin.f64 y)))
0.7b
(fma.f64 x (cos.f64 y) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
26.4b
(fma.f64 x (cos.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
0.2b
(fma.f64 x (log1p.f64 (expm1.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
25.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
36.9b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
16.3b
(fma.f64 x (pow.f64 (pow.f64 (cos.f64 y) 3) 1/3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 1889 to 752 computations (60.2% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (sin.f64 y))
0.2b
(exp.f64 (log1p.f64 (cos.f64 y)))
0.3b
(log1p.f64 (cos.f64 y))
0.4b
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)

series405.0ms (6.7%)

Counts
3 → 36
Calls

3 calls:

139.0ms
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)
134.0ms
(exp.f64 (log1p.f64 (cos.f64 y)))
132.0ms
(log1p.f64 (cos.f64 y))

rewrite51.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
519×expm1-log1p-u_binary64
518×log1p-expm1-u_binary64
313×unpow-prod-down_binary64
236×log-prod_binary64
160×prod-diff_binary64
Counts
3 → 143
Calls

3 calls:

48.0ms
(exp.f64 (log1p.f64 (cos.f64 y)))
48.0ms
(log1p.f64 (cos.f64 y))
48.0ms
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0715
112014
2131714
3505614

simplify90.0ms (1.5%)

Algorithm
egg-herbie
Rules
653×fma-def_binary64
635×distribute-rgt-neg-in_binary64
547×distribute-lft-neg-in_binary64
426×associate-*l*_binary64
365×associate-*r*_binary64
Counts
179 → 165
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040284
1106276
2261266
3778260
42799260
54914260
64973260
74932260

prune198.0ms (3.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1863189
Fresh246
Picked011
Done101
Total1898197
Error
0.1b
Counts
197 → 8
Alt Table
StatusErrorProgram
0.7b
(fma.f64 x (*.f64 (expm1.f64 (*.f64 (log1p.f64 (cos.f64 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 (+.f64 (cos.f64 y) 1) 1)))) (*.f64 z (sin.f64 y)))
26.4b
(fma.f64 x (cos.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
0.4b
(fma.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y))))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1) (*.f64 z (sin.f64 y)))
0.7b
(fma.f64 x (cos.f64 y) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
25.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
36.9b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
8.1b
(fma.f64 x (-.f64 (exp.f64 (sqrt.f64 (pow.f64 (log1p.f64 (cos.f64 y)) 2))) 1) (*.f64 z (sin.f64 y)))
Compiler

Compiled 3774 to 1913 computations (49.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series416.0ms (6.9%)

Counts
3 → 44
Calls

3 calls:

257.0ms
(fma.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y))))) (*.f64 z (sin.f64 y)))
154.0ms
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 y))))
5.0ms
(sqrt.f64 (exp.f64 (cos.f64 y)))

rewrite88.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
533×prod-diff_binary64
493×log-prod_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
175×log-pow_binary64
Counts
3 → 87
Calls

3 calls:

86.0ms
(fma.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y))))) (*.f64 z (sin.f64 y)))
86.0ms
(sqrt.f64 (exp.f64 (cos.f64 y)))
86.0ms
(log.f64 (sqrt.f64 (exp.f64 (cos.f64 y))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01228
122025
2246325
3498125
4519925

simplify79.0ms (1.3%)

Algorithm
egg-herbie
Rules
585×fma-def_binary64
496×sub-neg_binary64
422×associate-*r*_binary64
324×associate-*l*_binary64
301×cancel-sign-sub-inv_binary64
Counts
131 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01201198
13271023
21043974
33970974
44868974
54921974

prune319.0ms (5.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2072209
Fresh156
Picked101
Done011
Total2098217
Error
0.1b
Counts
217 → 8
Alt Table
StatusErrorProgram
0.7b
(fma.f64 x (*.f64 (expm1.f64 (*.f64 (log1p.f64 (cos.f64 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 (+.f64 (cos.f64 y) 1) 1)))) (*.f64 z (sin.f64 y)))
26.4b
(fma.f64 x (cos.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
0.3b
(fma.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1) (*.f64 z (sin.f64 y)))
0.7b
(fma.f64 x (cos.f64 y) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
0.3b
(fma.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (*.f64 1/2 (cos.f64 y))) (*.f64 z (sin.f64 y)))
25.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
36.9b
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 (*.f64 (cos.f64 y) x) (*.f64 (cos.f64 y) x) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))))
8.1b
(fma.f64 x (-.f64 (exp.f64 (sqrt.f64 (pow.f64 (log1p.f64 (cos.f64 y)) 2))) 1) (*.f64 z (sin.f64 y)))
Compiler

Compiled 5069 to 2018 computations (60.2% saved)

regimes612.0ms (10.2%)

Accuracy

Total 0.0b remaining (32.5%)

Threshold costs 0.0b (32.5%)

Counts
130 → 1
Compiler

Compiled 9584 to 6558 computations (31.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01012
11312
21212

end135.0ms (2.3%)

Compiler

Compiled 206 to 128 computations (37.9% saved)

Profiling

Loading profile data...