Details

Time bar (total: 3.1s)

analyze37.0ms (1.2%)

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
25%74.9%0.1%4
37.5%62.4%0.1%5
62.4%37.5%0.1%6
87.4%12.5%0.1%7
87.4%12.5%0.1%8
93.7%6.2%0.1%9
93.7%6.2%0.1%10
96.8%3.1%0.1%11
96.8%3.1%0.1%12
98.3%1.6%0.1%13
98.3%1.6%0.1%14
Compiler

Compiled 10 to 6 computations (40% saved)

sample836.0ms (27.4%)

Results
745.0ms8256×body128valid
Compiler

Compiled 29 to 17 computations (41.4% saved)

simplify70.0ms (2.3%)

Algorithm
egg-herbie
Rules
516×fma-neg_binary64
439×fma-def_binary64
382×times-frac_binary64
357×div-sub_binary64
168×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
1910
21410
32110
42810
55110
67410
710410
815410
931910
1047910
1180610
12105010
13121610
14131610
15133010
16135010
17135010
18125010

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x y) (-.f64 x y))
Compiler

Compiled 27 to 15 computations (44.4% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 x y) (-.f64 x y))

series10.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

10.0ms
(/.f64 (+.f64 x y) (-.f64 x y))

rewrite8.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
34×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
20×times-frac_binary64
12×add-cube-cbrt_binary64
distribute-lft-out_binary64
Counts
1 → 47
Calls

1 calls:

5.0ms
(/.f64 (+.f64 x y) (-.f64 x y))

simplify77.0ms (2.5%)

Algorithm
egg-herbie
Rules
910×fma-neg_binary64
434×cancel-sign-sub-inv_binary64
387×distribute-rgt-in_binary64
223×fma-def_binary64
161×associate-/l*_binary64
Counts
71 → 57
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01091282
12801222
27851160
325161148
445661139
551721139

prune41.0ms (1.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New53457
Fresh000
Picked101
Done000
Total54458
Error
0b
Counts
58 → 4
Alt Table
StatusErrorProgram
30.5b
(/.f64 (/.f64 (+.f64 x y) (sqrt.f64 (-.f64 x y))) (sqrt.f64 (-.f64 x y)))
0.0b
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y))) (*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))) (/.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (-.f64 x y))))
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
Compiler

Compiled 1023 to 331 computations (67.6% saved)

localize9.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.0b
(/.f64 (+.f64 x y) (-.f64 x y))
0.5b
(expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y)))

series27.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

16.0ms
(expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y)))
10.0ms
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y)))
0.0ms
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))

simplify66.0ms (2.2%)

Algorithm
egg-herbie
Rules
537×fma-neg_binary64
534×cancel-sign-sub-inv_binary64
437×times-frac_binary64
306×associate-/l*_binary64
245×fma-def_binary64
Counts
70 → 60
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01031427
12681315
28451204
335511195
450241195

prune96.0ms (3.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1170117
Fresh033
Picked011
Done000
Total1174121
Error
0b
Counts
121 → 4
Alt Table
StatusErrorProgram
30.5b
(/.f64 (/.f64 (+.f64 x y) (sqrt.f64 (-.f64 x y))) (sqrt.f64 (-.f64 x y)))
0.0b
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y))) (*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))) (/.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (-.f64 x y))))
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
Compiler

Compiled 2037 to 813 computations (60.1% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))
0.0b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.0b
(*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.0b
(/.f64 (+.f64 x y) (-.f64 x y))

series68.0ms (2.2%)

Counts
3 → 72
Calls

3 calls:

28.0ms
(cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))
25.0ms
(*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
15.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))

rewrite160.0ms (5.3%)

Algorithm
rewrite-expression-head
Rules
278×*-un-lft-identity_binary64
214×cbrt-prod_binary64
171×times-frac_binary64
160×add-sqr-sqrt_binary64
76×add-cube-cbrt_binary64
Counts
3 → 247
Calls

3 calls:

84.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
25.0ms
(*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
5.0ms
(cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))

simplify269.0ms (8.8%)

Algorithm
egg-herbie
Rules
764×associate-/l*_binary64
580×fma-def_binary64
261×associate-*l*_binary64
253×associate-*r*_binary64
167×associate-/r/_binary64
Counts
319 → 306
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03269475
17099094
223228282
348678282
449568282

prune397.0ms (13%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New5910591
Fresh022
Picked011
Done011
Total5914595
Error
0b
Counts
595 → 4
Alt Table
StatusErrorProgram
30.5b
(/.f64 (/.f64 (+.f64 x y) (sqrt.f64 (-.f64 x y))) (sqrt.f64 (-.f64 x y)))
0.0b
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y))) (*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))) (/.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (-.f64 x y))))
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
Compiler

Compiled 20588 to 3762 computations (81.7% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (+.f64 x y))
0.5b
(cbrt.f64 (-.f64 x y))
0.5b
(*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y)))
0.5b
(*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))

series126.0ms (4.1%)

Counts
4 → 96
Calls

4 calls:

41.0ms
(*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))
33.0ms
(cbrt.f64 (-.f64 x y))
28.0ms
(*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y)))
24.0ms
(cbrt.f64 (+.f64 x y))

rewrite33.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
61×cbrt-prod_binary64
54×*-un-lft-identity_binary64
48×add-sqr-sqrt_binary64
28×cbrt-div_binary64
22×add-cube-cbrt_binary64
Counts
4 → 146
Calls

4 calls:

12.0ms
(*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))
8.0ms
(*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y)))
2.0ms
(cbrt.f64 (-.f64 x y))
2.0ms
(cbrt.f64 (+.f64 x y))

simplify176.0ms (5.8%)

Algorithm
egg-herbie
Rules
514×times-frac_binary64
407×fma-neg_binary64
320×associate-*r*_binary64
299×unswap-sqr_binary64
235×associate-*l*_binary64
Counts
242 → 293
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03585947
19505705
230565366
349665366
450835366

prune317.0ms (10.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New5130513
Fresh011
Picked011
Done022
Total5134517
Error
0b
Counts
517 → 4
Alt Table
StatusErrorProgram
30.5b
(/.f64 (/.f64 (+.f64 x y) (sqrt.f64 (-.f64 x y))) (sqrt.f64 (-.f64 x y)))
0.0b
(log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
0.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (+.f64 x y))) (*.f64 (cbrt.f64 (-.f64 x y)) (cbrt.f64 (-.f64 x y)))) (/.f64 (cbrt.f64 (+.f64 x y)) (cbrt.f64 (-.f64 x y))))
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y)))) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
Compiler

Compiled 22060 to 6443 computations (70.8% saved)

regimes140.0ms (4.6%)

Accuracy

Total 0.0b remaining (44.6%)

Threshold costs 0.0b (44.6%)

Counts
57 → 1
Compiler

Compiled 2955 to 1590 computations (46.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
11114
21614
31814
41914
51914

end59.0ms (1.9%)

Compiler

Compiled 107 to 47 computations (56.1% saved)

Profiling

Loading profile data...