Details

Time bar (total: 4.0s)

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.8s (43.8%)

Results
872.0ms2320×body1024valid
467.0ms4363×body128valid
293.0ms1059×body512valid
98.0ms514×body256valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11417
22017
32817
43617
55417
67917
79617
811317
912317
1012717
1112917
1211517

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
20.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
20.4b
(-.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 3 expressions with local error:

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

series27.0ms (0.7%)

Counts
3 → 4
Calls

3 calls:

11.0ms
(/.f64 1 (sqrt.f64 x))
10.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
6.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))

rewrite101.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
776×prod-diff_binary64
428×fma-def_binary64
246×fma-neg_binary64
170×log1p-udef_binary64
169×expm1-udef_binary64
Counts
3 → 167
Calls

3 calls:

92.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
92.0ms
(/.f64 1 (sqrt.f64 x))
92.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0932
120524
2257024
3475724
4494824

simplify124.0ms (3.1%)

Algorithm
egg-herbie
Rules
695×fma-neg_binary64
559×cancel-sign-sub-inv_binary64
543×unsub-neg_binary64
474×distribute-rgt-neg-in_binary64
424×sub-neg_binary64
Counts
171 → 174
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01847
15143
212239
333031
4105831
5209331
6352631
7413931
8486431
9494931
10500031
11480231

prune293.0ms (7.3%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New15915174
Fresh000
Picked101
Done000
Total16015175
Error
19.8b
Counts
175 → 15
Alt Table
StatusErrorProgram
20.4b
(/.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
31.9b
(+.f64 (fma.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 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))))
32.2b
(fma.f64 (pow.f64 (sqrt.f64 x) -1/2) (pow.f64 (sqrt.f64 x) -1/2) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
26.8b
(/.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 -1 (sqrt.f64 (+.f64 1 x))) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))) (-.f64 (pow.f64 x -1/2) (/.f64 -1 (sqrt.f64 (+.f64 1 x)))))
32.4b
(fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
32.1b
(+.f64 (fma.f64 (pow.f64 (pow.f64 x 1/4) -1) (pow.f64 (pow.f64 x 1/4) -1) (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.8b
(+.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))))
25.4b
(-.f64 (pow.f64 (pow.f64 (sqrt.f64 x) -1/2) 2) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
32.6b
(fma.f64 (pow.f64 (cbrt.f64 x) -1) (pow.f64 (cbrt.f64 (sqrt.f64 x)) -1) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
31.9b
(fma.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) (neg.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (pow.f64 x -1/2))
29.5b
(/.f64 (+.f64 (pow.f64 (sqrt.f64 x) -3) (pow.f64 (/.f64 -1 (sqrt.f64 (+.f64 1 x))) 3)) (+.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 -1 (sqrt.f64 (+.f64 1 x))) (/.f64 -1 (sqrt.f64 (+.f64 1 x)))) (*.f64 (pow.f64 x -1/2) (/.f64 -1 (sqrt.f64 (+.f64 1 x)))))))
31.7b
(fma.f64 (cbrt.f64 (/.f64 1 (+.f64 1 x))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (pow.f64 x -1/2))
32.0b
(fma.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (*.f64 x (+.f64 1 x)))) (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)))
32.1b
(+.f64 (fma.f64 (pow.f64 (sqrt.f64 x) -1/2) (pow.f64 (sqrt.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))))
20.5b
(/.f64 1 (/.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x)))))
Compiler

Compiled 4861 to 3933 computations (19.1% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
0.1b
(/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x))
1.6b
(-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))

series80.0ms (2%)

Counts
3 → 1
Calls

3 calls:

33.0ms
(-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))
26.0ms
(/.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
21.0ms
(/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x))

rewrite81.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
473×fma-def_binary64
237×fma-neg_binary64
210×log-div_binary64
182×egg-rr
178×expm1-udef_binary64
Counts
3 → 182
Calls

3 calls:

77.0ms
(/.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
77.0ms
(/.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (sqrt.f64 x))
77.0ms
(-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0951
120543
2294443
3493543

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Counts
183 → 183
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
141
231

prune204.0ms (5.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1794183
Fresh12214
Picked101
Done000
Total1926198
Error
19.4b
Counts
198 → 6
Alt Table
StatusErrorProgram
31.7b
(fma.f64 (cbrt.f64 (/.f64 1 (+.f64 1 x))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (pow.f64 x -1/2))
32.8b
(/.f64 (/.f64 1 (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
20.0b
(/.f64 (/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
32.1b
(/.f64 (/.f64 (fma.f64 (pow.f64 (+.f64 1 x) 1/4) (pow.f64 (+.f64 1 x) 1/4) (neg.f64 (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
31.9b
(/.f64 (/.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 1 x)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 1 x))) (neg.f64 (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
32.6b
(fma.f64 (pow.f64 (cbrt.f64 x) -1) (pow.f64 (cbrt.f64 (sqrt.f64 x)) -1) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
Compiler

Compiled 4274 to 2900 computations (32.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
0.0b
(/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
0.1b
(/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x))
1.2b
(-.f64 (+.f64 1 x) x)

series101.0ms (2.5%)

Counts
4 → 14
Calls

4 calls:

66.0ms
(/.f64 (/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
23.0ms
(/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x))
10.0ms
(/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
1.0ms
(-.f64 (+.f64 1 x) x)

rewrite89.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
554×fma-def_binary64
314×fma-neg_binary64
212×expm1-udef_binary64
212×log1p-udef_binary64
158×egg-rr
Counts
4 → 158
Calls

4 calls:

85.0ms
(/.f64 (/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x)) (sqrt.f64 (+.f64 1 x)))
85.0ms
(/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)))
85.0ms
(/.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (sqrt.f64 x))
85.0ms
(-.f64 (+.f64 1 x) x)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01185
126448
2357348
3494048

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Counts
172 → 159
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
1717
2617

prune138.0ms (3.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1545159
Fresh415
Picked101
Done000
Total1596165
Error
0.0b
Counts
165 → 6
Alt Table
StatusErrorProgram
6.2b
(pow.f64 (*.f64 (sqrt.f64 (+.f64 1 x)) (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))) -1)
6.3b
(*.f64 (/.f64 1 (pow.f64 (+.f64 1 x) 1/4)) (/.f64 (/.f64 1 (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))) (pow.f64 (+.f64 1 x) 1/4)))
31.7b
(fma.f64 (cbrt.f64 (/.f64 1 (+.f64 1 x))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (pow.f64 x -1/2))
6.6b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x)))))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x)))))) (pow.f64 (+.f64 1 x) -1/2)))
6.2b
(*.f64 1 (/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))))
28.4b
(/.f64 (/.f64 1/2 x) (sqrt.f64 (+.f64 1 x)))
Compiler

Compiled 4178 to 2796 computations (33.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series37.0ms (0.9%)

Counts
4 → 28
Calls

4 calls:

26.0ms
(/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x)))))
5.0ms
(+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))
4.0ms
(sqrt.f64 (*.f64 x (+.f64 1 x)))
2.0ms
(*.f64 x (+.f64 1 x))

rewrite75.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
522×log-prod_binary64
508×fma-def_binary64
251×fma-neg_binary64
191×expm1-udef_binary64
191×log1p-udef_binary64
Counts
4 → 174
Calls

4 calls:

72.0ms
(*.f64 x (+.f64 1 x))
72.0ms
(+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))
72.0ms
(/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x)))))
72.0ms
(sqrt.f64 (*.f64 x (+.f64 1 x)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01049
122740
2290238
3565038

simplify69.0ms (1.7%)

Algorithm
egg-herbie
Rules
652×unswap-sqr_binary64
420×fma-def_binary64
332×associate-/r*_binary64
328×fma-neg_binary64
314×div-sub_binary64
Counts
202 → 207
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040239
1120213
2272213
3614213
41369213
53466213
64821213
75126213

prune193.0ms (4.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2025207
Fresh325
Picked101
Done000
Total2067213
Error
0.0b
Counts
213 → 7
Alt Table
StatusErrorProgram
0.6b
(*.f64 1 (pow.f64 (/.f64 (pow.f64 (+.f64 x 1) -1/4) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 x))))) 2))
1.0b
(*.f64 1 (/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (pow.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 x))) 3))))
6.2b
(pow.f64 (*.f64 (sqrt.f64 (+.f64 1 x)) (+.f64 x (sqrt.f64 (*.f64 x (+.f64 1 x))))) -1)
31.7b
(fma.f64 (cbrt.f64 (/.f64 1 (+.f64 1 x))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (pow.f64 x -1/2))
6.2b
(*.f64 1 (/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) x) x)))))
9.7b
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 (+.f64 x 1) -1) (pow.f64 (+.f64 x (hypot.f64 x (sqrt.f64 x))) 2))))
0.2b
(*.f64 1 (/.f64 (pow.f64 (+.f64 1 x) -1/2) (+.f64 x (hypot.f64 x (sqrt.f64 x)))))
Compiler

Compiled 4260 to 2587 computations (39.3% saved)

regimes464.0ms (11.5%)

Accuracy

Total 0.2b remaining (89.3%)

Threshold costs 0.2b (89.3%)

Counts
230 → 1
Compiler

Compiled 8468 to 6702 computations (20.9% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01118
11618
21518

end122.0ms (3%)

Compiler

Compiled 151 to 113 computations (25.2% saved)

Profiling

Loading profile data...