Details

Time bar (total: 4.3s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%0%50%2
Compiler

Compiled 13 to 11 computations (15.4% saved)

sample1.7s (38.9%)

Results
826.0ms2239×body1024valid
450.0ms4434×body128valid
280.0ms1055×body512valid
101.0ms528×body256valid
Compiler

Compiled 26 to 22 computations (15.4% saved)

preprocess19.0ms (0.4%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11417
22017
32817
43817
55617
69317
712717
817417
921017
1023617
1123817
011
Stop Event
saturated
saturated
Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11417
22017
32817
43817
55617
69317
712717
817417
921017
1023617
1123817
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
19.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
19.6b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
Compiler

Compiled 47 to 38 computations (19.1% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 x 1))
0.2b
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
0.3b
(/.f64 1 (sqrt.f64 x))
2.9b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

series32.0ms (0.8%)

Counts
4 → 8
Calls

12 calls:

7.0ms
(/.f64 1 (sqrt.f64 x))
x
-inf
5.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
x
inf
3.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
x
-inf
3.0ms
(sqrt.f64 (+.f64 x 1))
x
inf
3.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
x
-inf

rewrite59.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
776×prod-diff_binary64
205×fma-neg_binary64
170×log1p-udef_binary64
169×expm1-udef_binary64
148×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
120830
2291330
Stop Event
node limit
Counts
4 → 148

simplify23.0ms (0.5%)

Algorithm
egg-herbie
Rules
914×fma-neg_binary64
744×cancel-sign-sub-inv_binary64
439×fma-def_binary64
222×distribute-rgt-neg-in_binary64
202×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02794
18086
222076
375764
4243164
Stop Event
node limit
Counts
156 → 161

prune199.0ms (4.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New14714161
Fresh000
Picked101
Done000
Total14814162
Error
18.9b
Counts
162 → 14
Alt Table
StatusErrorProgram
29.6b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 (/.f64 1 (+.f64 1 x))) (pow.f64 (+.f64 1 x) -1/2)))
29.9b
(fma.f64 (sqrt.f64 (pow.f64 x -1/2)) (sqrt.f64 (pow.f64 x -1/2)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
29.9b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 x -1/2)) (sqrt.f64 (pow.f64 x -1/2)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
31.3b
(/.f64 (+.f64 (pow.f64 (sqrt.f64 x) -3) (pow.f64 (neg.f64 (pow.f64 (+.f64 1 x) -1/2)) 3)) (+.f64 (/.f64 1 x) (-.f64 (*.f64 (neg.f64 (pow.f64 (+.f64 1 x) -1/2)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2))) (*.f64 (pow.f64 x -1/2) (neg.f64 (pow.f64 (+.f64 1 x) -1/2))))))
29.0b
(+.f64 (fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
31.1b
(cbrt.f64 (pow.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) 3))
29.6b
(+.f64 (fma.f64 1 (pow.f64 x -1/2) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
29.8b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (pow.f64 (+.f64 1 x) 1/4) -1)) (pow.f64 (pow.f64 (+.f64 1 x) 1/4) -1) (pow.f64 (+.f64 1 x) -1/2)))
30.3b
(fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
25.2b
(/.f64 (-.f64 (/.f64 1 x) (*.f64 (neg.f64 (pow.f64 (+.f64 1 x) -1/2)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))) (-.f64 (pow.f64 x -1/2) (neg.f64 (pow.f64 (+.f64 1 x) -1/2))))
19.5b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))))
19.6b
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
32.5b
(pow.f64 (pow.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) 3) 1/3)
30.4b
(fma.f64 (pow.f64 (cbrt.f64 x) -1) (pow.f64 (cbrt.f64 (sqrt.f64 x)) -1) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
Compiler

Compiled 3791 to 3046 computations (19.7% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
0.2b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))))
2.8b
(-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))
16.0b
(sqrt.f64 (*.f64 x (+.f64 1 x)))

series87.0ms (2%)

Counts
4 → 9
Calls

12 calls:

26.0ms
(/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
x
inf
20.0ms
(/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
x
-inf
7.0ms
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))))
x
inf
7.0ms
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))))
x
-inf
6.0ms
(/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
x
0

rewrite69.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
536×fma-def_binary64
245×fma-neg_binary64
210×egg-rr
201×expm1-udef_binary64
201×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01167
125055
2348055
Stop Event
node limit
Counts
4 → 210

simplify27.0ms (0.6%)

Algorithm
egg-herbie
Rules
610×fma-neg_binary64
503×cancel-sign-sub-inv_binary64
369×associate-/l/_binary64
340×associate-*l/_binary64
314×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02273
16771
214871
337371
497071
5232871
Stop Event
node limit
Counts
219 → 226

prune220.0ms (5.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2233226
Fresh12113
Picked101
Done000
Total2364240
Error
0.9b
Counts
240 → 4
Alt Table
StatusErrorProgram
1.1b
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
19.4b
(*.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (fma.f64 x x x) -1/2))
29.6b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 (/.f64 1 (+.f64 1 x))) (pow.f64 (+.f64 1 x) -1/2)))
6.4b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 x (+.f64 1 x))) (/.f64 (+.f64 1 (-.f64 x x)) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)))))
Compiler

Compiled 5145 to 3160 computations (38.6% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 x 1))
0.0b
(hypot.f64 x (sqrt.f64 x))
0.1b
(*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)))
1.0b
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))

series93.0ms (2.2%)

Counts
3 → 2
Calls

9 calls:

40.0ms
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
x
0
21.0ms
(*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)))
x
0
6.0ms
(hypot.f64 x (sqrt.f64 x))
x
0
6.0ms
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
x
inf
5.0ms
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
x
-inf

rewrite58.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
483×fma-def_binary64
255×fma-neg_binary64
196×log1p-udef_binary64
195×expm1-udef_binary64
134×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01353
132544
2373444
Stop Event
node limit
Counts
3 → 134

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg_binary64
+-commutative_binary64
fma-def_binary64
*-commutative_binary64
associate-+l-_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
164
284
394
4114
5154
6194
7244
Stop Event
saturated
Counts
136 → 137

prune190.0ms (4.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1695174
Fresh213
Picked011
Done000
Total1717178
Error
0.0b
Counts
178 → 7
Alt Table
StatusErrorProgram
29.6b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 (/.f64 1 (+.f64 1 x))) (pow.f64 (+.f64 1 x) -1/2)))
1.4b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))))) -1) (pow.f64 (sqrt.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))))) -1))
0.3b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1))
1.3b
(/.f64 1 (pow.f64 (sqrt.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))))) 2))
8.7b
(/.f64 1 (/.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (pow.f64 (+.f64 1 x) 3/2) (pow.f64 x 3/2))) (+.f64 x (+.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 x)))))))
1.1b
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
9.7b
(sqrt.f64 (pow.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x)))) -2))
Compiler

Compiled 4315 to 2281 computations (47.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x (sqrt.f64 x))
0.1b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1))
0.1b
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))
0.2b
(pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1)

series75.0ms (1.8%)

Counts
3 → 3
Calls

9 calls:

35.0ms
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1))
x
0
10.0ms
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))
x
0
7.0ms
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1))
x
inf
6.0ms
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))) -1))
x
-inf
5.0ms
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))
x
inf

rewrite52.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
435×fma-def_binary64
236×fma-neg_binary64
207×expm1-udef_binary64
207×log1p-udef_binary64
198×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
126243
2338543
Stop Event
node limit
Counts
3 → 80

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
189
Stop Event
saturated
Counts
83 → 83

prune187.0ms (4.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1204124
Fresh325
Picked101
Done011
Total1247131
Error
0b
Counts
131 → 7
Alt Table
StatusErrorProgram
0.4b
(/.f64 (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 x 1))) -1/2) (/.f64 (hypot.f64 x (sqrt.f64 x)) (pow.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 x 1))) -1/2)))
6.2b
(pow.f64 (/.f64 (pow.f64 (fma.f64 x x x) -1/2) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 x 1)))) 1)
0.3b
(/.f64 (/.f64 1 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 x 1)))) (hypot.f64 x (sqrt.f64 x)))
1.4b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))))) -1) (pow.f64 (sqrt.f64 (*.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x))))) -1))
29.6b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 (/.f64 1 (+.f64 1 x))) (pow.f64 (+.f64 1 x) -1/2)))
1.1b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (*.f64 (/.f64 1 (+.f64 (pow.f64 x 3/2) (pow.f64 (+.f64 x 1) 3/2))) (+.f64 x (+.f64 x (-.f64 1 (hypot.f64 x (sqrt.f64 x)))))))
1.1b
(/.f64 1 (*.f64 (/.f64 (hypot.f64 x (sqrt.f64 x)) (+.f64 1 (-.f64 x x))) (+.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))))
Compiler

Compiled 2564 to 1559 computations (39.2% saved)

regimes1.0s (23.9%)

Accuracy

Total 0.3b remaining (96.2%)

Threshold costs 0.3b (96.2%)

Counts
375 → 1
Compiler

Compiled 15090 to 11136 computations (26.2% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01329
11829
Stop Event
saturated

end134.0ms (3.1%)

Stop Event
fuel
Compiler

Compiled 208 to 146 computations (29.8% saved)

Profiling

Loading profile data...