Details

Time bar (total: 6.6s)

analyze101.0ms (1.5%)

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
25%74.9%0.1%5
31.2%68.7%0.1%6
67.1%32.8%0.1%7
71%28.9%0.1%8
82.3%17.6%0.1%9
84.9%15%0.1%10
90.8%9.1%0.1%11
92.2%7.7%0.1%12
95.3%4.6%0.1%13
96%3.9%0.1%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample1.3s (19.4%)

Results
676.0ms6497×body128valid
207.0ms608×body1024valid
156.0ms680×body512valid
105.0ms467×body256valid
1.0msbody2048valid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify198.0ms (3%)

Algorithm
egg-herbie
Rules
1996×fma-def_binary64
1626×fma-neg_binary64
1098×div-sub_binary64
733×sub-neg_binary64
664×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0916
11916
24316
310214
427414
565214
6127214
7169714
8241614
9293314
10327814
11346114
12198014
13199614
14265914
15253914
16249714
17253114
18253114
19472314
20490314
21594214

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
21.4b
(-.f64 1 (/.f64 (*.f64 (-.f64 1 x) y) (+.f64 y 1)))
Compiler

Compiled 73 to 55 computations (24.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series20.0ms (0.3%)

Counts
2 → 48
Calls

2 calls:

12.0ms
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
7.0ms
(/.f64 (+.f64 x -1) (+.f64 1 y))

rewrite11.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
35×*-un-lft-identity_binary64
20×times-frac_binary64
18×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
11×distribute-lft-out_binary64
Counts
2 → 57
Calls

2 calls:

8.0ms
(/.f64 (+.f64 x -1) (+.f64 1 y))
0.0ms
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

simplify79.0ms (1.2%)

Algorithm
egg-herbie
Rules
780×fma-neg_binary64
491×associate--l+_binary64
425×associate--r+_binary64
390×associate-+l+_binary64
315×fma-def_binary64
Counts
105 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01602086
14161897
212751850
347011850
454021850

prune91.0ms (1.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1002102
Fresh101
Picked011
Done000
Total1013104
Error
0.1b
Counts
104 → 3
Alt Table
StatusErrorProgram
33.0b
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))
14.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
Compiler

Compiled 1942 to 1334 computations (31.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
0.3b
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
0.3b
(cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

series324.0ms (4.9%)

Counts
3 → 72
Calls

3 calls:

247.0ms
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
66.0ms
(cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
10.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))

rewrite19.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

7.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
1.0ms
(cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))

simplify342.0ms (5.2%)

Algorithm
egg-herbie
Rules
367×+-commutative_binary64
361×*-commutative_binary64
331×fma-def_binary64
305×associate-+r+_binary64
203×associate-*r/_binary64
Counts
165 → 197
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0114619795
1416918619
2497518619
3495418619

prune910.0ms (13.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3972399
Fresh011
Picked101
Done011
Total3984402
Error
0.0b
Counts
402 → 4
Alt Table
StatusErrorProgram
33.0b
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
38.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (pow.f64 (-.f64 1 (/.f64 y (+.f64 1 y))) 1/3))
27.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))
Compiler

Compiled 45369 to 32657 computations (28% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))
0.1b
(cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
0.3b
(cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

series90.0ms (1.4%)

Counts
2 → 40
Calls

2 calls:

60.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
29.0ms
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))

rewrite11.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×cbrt-prod_binary64
23×add-sqr-sqrt_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 53
Calls

2 calls:

6.0ms
(*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))
1.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))

simplify114.0ms (1.7%)

Algorithm
egg-herbie
Rules
624×fma-def_binary64
451×associate-/r*_binary64
336×times-frac_binary64
231×associate-*r/_binary64
218×associate-*l/_binary64
Counts
93 → 125
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05167812
117507304
249857304

prune899.0ms (13.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New4130413
Fresh022
Picked011
Done011
Total4134417
Error
0.0b
Counts
417 → 4
Alt Table
StatusErrorProgram
33.0b
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
38.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (pow.f64 (-.f64 1 (/.f64 y (+.f64 1 y))) 1/3))
27.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))
Compiler

Compiled 43954 to 31115 computations (29.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.4b
(/.f64 x (pow.f64 y 3))
6.4b
(/.f64 x (*.f64 y y))
6.7b
(+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
9.7b
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))

series163.0ms (2.5%)

Counts
4 → 72
Calls

4 calls:

93.0ms
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))
24.0ms
(/.f64 x (pow.f64 y 3))
24.0ms
(+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
21.0ms
(/.f64 x (*.f64 y y))

rewrite160.0ms (2.4%)

Algorithm
rewrite-expression-head
Rules
270×*-un-lft-identity_binary64
152×distribute-lft-out_binary64
55×times-frac_binary64
50×add-sqr-sqrt_binary64
49×div-inv_binary64
Counts
4 → 242
Calls

4 calls:

100.0ms
(-.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))
14.0ms
(+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
5.0ms
(/.f64 x (pow.f64 y 3))
3.0ms
(/.f64 x (*.f64 y y))

simplify315.0ms (4.8%)

Algorithm
egg-herbie
Rules
478×distribute-rgt-in_binary64
458×distribute-lft-in_binary64
225×fma-def_binary64
208×associate-/r*_binary64
151×times-frac_binary64
Counts
314 → 254
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
039318146
1125612743
2482112743
3500612743

prune319.0ms (4.9%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2513254
Fresh011
Picked101
Done022
Total2526258
Error
0.0b
Counts
258 → 6
Alt Table
StatusErrorProgram
44.1b
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))) (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))) (+.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (+.f64 (/.f64 x (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))))
13.9b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
49.0b
(exp.f64 (log.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (-.f64 (/.f64 (-.f64 1 x) (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))))))
33.0b
(+.f64 (+.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 1 (pow.f64 y 3))) (neg.f64 (/.f64 (+.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 1 y) (+.f64 x -1))) y)))
38.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))) (pow.f64 (-.f64 1 (/.f64 y (+.f64 1 y))) 1/3))
27.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (*.f64 (cbrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))) (cbrt.f64 (sqrt.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))))
Compiler

Compiled 15787 to 8103 computations (48.7% saved)

regimes865.0ms (13.2%)

Accuracy

Total 0.0b remaining (15%)

Threshold costs 0.0b (15%)

Counts
81 → 3
Compiler

Compiled 12214 to 8467 computations (30.7% saved)

bsearch35.0ms (0.5%)

Steps
ItersRangePoint
7
1411.7387488056177
120920.2554341663
12997.544702284325
10
-74591599794374.34
-1.140383595789135
-12134.734181339038
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
036109
156109
274109
3101109
4120109
5130109
6135109
7137109
8138109
9135109

end176.0ms (2.7%)

Compiler

Compiled 410 to 257 computations (37.3% saved)

Profiling

Loading profile data...