Details

Time bar (total: 3.7s)

analyze180.0ms (4.9%)

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)

sample24.0ms (0.7%)

Algorithm
intervals
Results
16.0ms256×body128valid
0.0msbody128nan
0.0msbody128invalid
Compiler

Compiled 35 to 29 computations (17.1% saved)

simplify180.0ms (4.9%)

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

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.4b
(*.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)

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 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(*.f64 3 (sqrt.f64 x))
0.4b
(/.f64 1 (*.f64 x 9))

series43.0ms (1.2%)

Counts
4 → 48
Calls

4 calls:

30.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
7.0ms
(*.f64 3 (sqrt.f64 x))
5.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
2.0ms
(/.f64 1 (*.f64 x 9))

rewrite34.0ms (0.9%)

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:

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

simplify76.0ms (2.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01742841
14122251
212412225
350982225

prune188.0ms (5.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New16110171
Fresh011
Picked101
Done000
Total16211173
Error
0.0b
Counts
173 → 11
Alt Table
StatusErrorProgram
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
0.7b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.3b
(*.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))))
1.3b
(*.f64 (*.f64 (*.f64 3 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (cbrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
35.4b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)) (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))) (*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))))
0.4b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1/9 x)) 1))
0.9b
(*.f64 (*.f64 (*.f64 (sqrt.f64 3) (sqrt.f64 (sqrt.f64 x))) (*.f64 (sqrt.f64 3) (sqrt.f64 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
22.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 3 3) 3) (*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 x)) (sqrt.f64 x)))) (-.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))
Compiler

Compiled 4425 to 3324 computations (24.9% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series32.0ms (0.9%)

Counts
3 → 0
Calls

3 calls:

13.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
10.0ms
(*.f64 y (sqrt.f64 x))
8.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt_binary64
23×associate-*r*_binary64
20×sqrt-prod_binary64
17×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
Counts
3 → 81
Calls

3 calls:

6.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
5.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
4.0ms
(*.f64 y (sqrt.f64 x))

simplify105.0ms (2.9%)

Algorithm
egg-herbie
Rules
923×fma-def_binary64
458×unswap-sqr_binary64
457×associate-*l*_binary64
344×*-commutative_binary64
324×associate-/r*_binary64
Counts
81 → 114
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0112894
1200843
2485842
31076842
41485842
52218801
62929801
73312801
84823801
94913801

prune179.0ms (4.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1372139
Fresh2810
Picked101
Done000
Total14010150
Error
0.0b
Counts
150 → 10
Alt Table
StatusErrorProgram
1.3b
(*.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))))
1.3b
(*.f64 (*.f64 (*.f64 3 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (cbrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 (*.f64 1/3 (sqrt.f64 (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 (/.f64 1 (sqrt.f64 x))))) (*.f64 3 (sqrt.f64 x)))
22.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 3 3) 3) (*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 x)) (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.7b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (sqrt.f64 x) (cbrt.f64 3))))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
0.9b
(*.f64 (*.f64 (*.f64 (sqrt.f64 3) (sqrt.f64 (sqrt.f64 x))) (*.f64 (sqrt.f64 3) (sqrt.f64 (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.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))
Compiler

Compiled 3759 to 2415 computations (35.8% saved)

localize16.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series9.0ms (0.3%)

Counts
1 → 0
Calls

1 calls:

9.0ms
(*.f64 (sqrt.f64 x) (cbrt.f64 3))

rewrite6.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt_binary64
associate-*r*_binary64
associate-*l*_binary64
sqrt-prod_binary64
cbrt-prod_binary64
Counts
1 → 29
Calls

1 calls:

5.0ms
(*.f64 (sqrt.f64 x) (cbrt.f64 3))

simplify74.0ms (2%)

Algorithm
egg-herbie
Rules
610×unswap-sqr_binary64
282×associate-*l*_binary64
281×log-div_binary64
227×sqr-pow_binary64
209×*-commutative_binary64
Counts
29 → 29
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044362
174342
2173342
3247338
4320338
5475338
6839338
71997338
83463338
94744338
104823338

prune181.0ms (4.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1421143
Fresh189
Picked011
Done000
Total14310153
Error
0.0b
Counts
153 → 10
Alt Table
StatusErrorProgram
9.9b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 x) 3)))))
0.7b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
1.3b
(*.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))))
1.3b
(*.f64 (*.f64 (*.f64 3 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (cbrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 (*.f64 1/3 (sqrt.f64 (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 (/.f64 1 (sqrt.f64 x))))) (*.f64 3 (sqrt.f64 x)))
22.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 3 3) 3) (*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 x)) (sqrt.f64 x)))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (sqrt.f64 x) (cbrt.f64 3))))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.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))
Compiler

Compiled 4848 to 3461 computations (28.6% 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 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
0.4b
(/.f64 1 (*.f64 x 9))

series49.0ms (1.3%)

Counts
2 → 24
Calls

2 calls:

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

rewrite47.0ms (1.3%)

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:

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

simplify159.0ms (4.3%)

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

prune271.0ms (7.4%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2483251
Fresh268
Picked011
Done011
Total25011261
Error
0.0b
Counts
261 → 11
Alt Table
StatusErrorProgram
9.9b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 x) 3)))))
0.7b
(*.f64 (*.f64 (*.f64 3 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))))
1.3b
(*.f64 (*.f64 (*.f64 3 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (cbrt.f64 (sqrt.f64 x))) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (sqrt.f64 x) (cbrt.f64 3))))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
0.4b
(*.f64 3 (*.f64 (sqrt.f64 x) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1)))
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3)))) (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 (/.f64 1/9 x) y) -3))))
34.9b
(*.f64 3 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (+.f64 (-.f64 (/.f64 1/9 x) 1) y)) 3)))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 (*.f64 1/3 (sqrt.f64 (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 (/.f64 1 (sqrt.f64 x))))) (*.f64 3 (sqrt.f64 x)))
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))
Compiler

Compiled 6699 to 5088 computations (24% saved)

regimes868.0ms (23.7%)

Accuracy

Total 0.3b remaining (90.6%)

Threshold costs 0.3b (90.6%)

Counts
189 → 1
Compiler

Compiled 13046 to 10181 computations (22% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01319
11619
21519

end1.0ms (0%)

Compiler

Compiled 15 to 12 computations (20% saved)

sample892.0ms (24.3%)

Algorithm
intervals
Results
450.0ms8000×body128valid
7.0ms136×body128nan
3.0ms62×body128invalid
Compiler

Compiled 293 to 226 computations (22.9% saved)

Profiling

Loading profile data...