Details

Time bar (total: 3.8s)

analyze68.0ms (1.8%)

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%74.9%25.1%4
12.5%62.4%25.1%5
31.2%31.2%37.6%6
37.5%25%37.6%7
40.6%15.6%43.8%8
42.9%11.7%45.4%9
44.1%7.4%48.5%10
45.1%5.7%49.3%11
45.6%3.6%50.8%12
46%2.8%51.2%13
46.2%1.8%52%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample1.1s (28.3%)

Results
927.0ms8256×body128valid
29.0ms231×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify179.0ms (4.7%)

Algorithm
egg-herbie
Rules
1205×fma-neg_binary64
900×fma-def_binary64
326×associate-/l*_binary64
318×cancel-sign-sub-inv_binary64
290×distribute-rgt-neg-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01321
12818
26818
314516
425716
541116
686116
7137116
8238616
9249316
10267516
11260716
12258116
13258116
14353116
15336416
16336416
17336416
18336416
19317116

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 85 to 66 computations (22.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (/.f64 1 (*.f64 x 9)))
0.2b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(/.f64 1 (*.f64 x 9))
0.3b
(*.f64 3 (sqrt.f64 x))

series41.0ms (1.1%)

Counts
4 → 48
Calls

4 calls:

25.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
9.0ms
(*.f64 3 (sqrt.f64 x))
5.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
1.0ms
(/.f64 1 (*.f64 x 9))

rewrite31.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
58×*-un-lft-identity_binary64
37×add-sqr-sqrt_binary64
30×prod-diff_binary64
29×add-cube-cbrt_binary64
22×add-exp-log_binary64
Counts
4 → 140
Calls

4 calls:

11.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
4.0ms
(/.f64 1 (*.f64 x 9))
4.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
3.0ms
(*.f64 3 (sqrt.f64 x))

simplify73.0ms (1.9%)

Algorithm
egg-herbie
Rules
625×times-frac_binary64
456×distribute-rgt-in_binary64
422×distribute-lft-in_binary64
305×fma-def_binary64
289×associate-/l*_binary64
Counts
188 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01742841
14122251
212412225
350982225

prune209.0ms (5.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New16110171
Fresh101
Picked101
Done000
Total16310173
Error
0.0b
Counts
173 → 10
Alt Table
StatusErrorProgram
12.9b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (sqrt.f64 (+.f64 y (/.f64 1 (*.f64 x 9)))) 1)) (-.f64 (sqrt.f64 (+.f64 y (/.f64 1 (*.f64 x 9)))) 1))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.5b
(+.f64 (*.f64 3 (*.f64 (sqrt.f64 x) y)) (*.f64 (sqrt.f64 x) (fma.f64 (/.f64 1/9 x) 3 -3)))
1.2b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))))
0.3b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
28.3b
(/.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (*.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) (+.f64 y (/.f64 1 (*.f64 x 9)))) (*.f64 1 1))) (+.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.9b
(*.f64 (*.f64 (*.f64 3 (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
44.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 3 (sqrt.f64 x))) (*.f64 3 (sqrt.f64 x))) (*.f64 (*.f64 (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))))
0.5b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 4433 to 3348 computations (24.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (/.f64 1 (*.f64 x 9)))
0.2b
(*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(/.f64 1 (*.f64 x 9))
0.3b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))

series45.0ms (1.2%)

Counts
2 → 24
Calls

2 calls:

27.0ms
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
18.0ms
(*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))

rewrite45.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
122×*-un-lft-identity_binary64
100×distribute-lft-in_binary64
100×distribute-rgt-in_binary64
90×prod-diff_binary64
68×add-sqr-sqrt_binary64
Counts
2 → 174
Calls

2 calls:

13.0ms
(*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
13.0ms
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))

simplify155.0ms (4%)

Algorithm
egg-herbie
Rules
593×distribute-rgt-in_binary64
565×distribute-lft-in_binary64
312×fma-neg_binary64
302×times-frac_binary64
271×*-commutative_binary64
Counts
198 → 181
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01574787
13193611
29063392
333183385
447913385
550023385

prune251.0ms (6.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2483251
Fresh549
Picked011
Done000
Total2538261
Error
0.0b
Counts
261 → 8
Alt Table
StatusErrorProgram
0.9b
(*.f64 3 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (+.f64 (-.f64 (/.f64 1/9 x) 1) y) (sqrt.f64 (cbrt.f64 x)))))
0.4b
(+.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) -3))
0.3b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
33.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3)) 3))
0.5b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.2b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))) (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))))
0.6b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 6796 to 5163 computations (24% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 3 y (/.f64 1/3 x))
0.3b
(*.f64 (sqrt.f64 x) -3)
0.3b
(*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x)))
0.4b
(/.f64 1/3 x)

series31.0ms (0.8%)

Counts
4 → 36
Calls

4 calls:

17.0ms
(*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x)))
7.0ms
(*.f64 (sqrt.f64 x) -3)
6.0ms
(fma.f64 3 y (/.f64 1/3 x))
2.0ms
(/.f64 1/3 x)

rewrite12.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt_binary64
18×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
12×associate-*l*_binary64
10×add-cbrt-cube_binary64
Counts
4 → 89
Calls

4 calls:

3.0ms
(*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x)))
3.0ms
(*.f64 (sqrt.f64 x) -3)
2.0ms
(/.f64 1/3 x)
0.0ms
(fma.f64 3 y (/.f64 1/3 x))

simplify80.0ms (2.1%)

Algorithm
egg-herbie
Rules
819×distribute-rgt-in_binary64
815×distribute-lft-in_binary64
358×associate-/l/_binary64
323×fma-def_binary64
297×associate-*l*_binary64
Counts
125 → 102
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01321448
12271367
26121367
315311367
448961367
549331367

prune93.0ms (2.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1011102
Fresh156
Picked011
Done011
Total1028110
Error
0.0b
Counts
110 → 8
Alt Table
StatusErrorProgram
0.9b
(*.f64 3 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (+.f64 (-.f64 (/.f64 1/9 x) 1) y) (sqrt.f64 (cbrt.f64 x)))))
0.4b
(+.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) -3))
0.5b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.0b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))))) (*.f64 (sqrt.f64 x) -3))
0.3b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
33.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3)) 3))
0.6b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 2283 to 1422 computations (37.7% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))
0.3b
(/.f64 1 (*.f64 x 9))
0.4b
(*.f64 (cbrt.f64 3) (sqrt.f64 x))

series55.0ms (1.4%)

Counts
3 → 12
Calls

3 calls:

34.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
12.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))
9.0ms
(*.f64 (cbrt.f64 3) (sqrt.f64 x))

rewrite42.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
52×*-un-lft-identity_binary64
38×add-sqr-sqrt_binary64
35×add-exp-log_binary64
35×pow1_binary64
30×prod-diff_binary64
Counts
3 → 130
Calls

3 calls:

18.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
8.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x)))
4.0ms
(*.f64 (cbrt.f64 3) (sqrt.f64 x))

simplify104.0ms (2.7%)

Algorithm
egg-herbie
Rules
594×distribute-rgt-in_binary64
545×distribute-lft-in_binary64
420×fma-neg_binary64
418×times-frac_binary64
328×associate-*l*_binary64
Counts
142 → 153
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01583099
13642232
213962208
349542208
452732208

prune199.0ms (5.2%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1931194
Fresh055
Picked011
Done022
Total1939202
Error
0b
Counts
202 → 9
Alt Table
StatusErrorProgram
0.9b
(*.f64 3 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (+.f64 (-.f64 (/.f64 1/9 x) 1) y) (sqrt.f64 (cbrt.f64 x)))))
0.4b
(+.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) -3))
0.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (sqrt.f64 (*.f64 (cbrt.f64 3) (sqrt.f64 x))))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.5b
(*.f64 (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.0b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 y (/.f64 1/3 x))))) (*.f64 (sqrt.f64 x) -3))
0.3b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
33.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3)) 3))
0.6b
(*.f64 (*.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) (sqrt.f64 (*.f64 3 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Compiler

Compiled 6013 to 4871 computations (19% saved)

regimes847.0ms (22.1%)

Accuracy

Total 0.4b remaining (89.3%)

Threshold costs 0.4b (89.3%)

Counts
201 → 1
Compiler

Compiled 13092 to 10310 computations (21.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
12221
22321
32121

end147.0ms (3.8%)

Compiler

Compiled 239 to 183 computations (23.4% saved)

Profiling

Loading profile data...