Details

Time bar (total: 3.5s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%50%0%2
50%25%25%3
50%12.5%37.5%4
50%6.2%43.8%5
50%3.1%46.9%6
50%1.6%48.5%7
50%0.8%49.2%8
50%0.4%49.6%9
50%0.2%49.8%10
50%0.1%49.9%11
50%0%50%12
50%0%50%13
50%0%50%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample1.5s (41.6%)

Results
601.0ms2083×body1024valid
399.0ms4382×body128valid
233.0ms1021×body512valid
85.0ms245×body2048valid
77.0ms525×body256valid
0.0msbody128invalid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify43.0ms (1.2%)

Algorithm
egg-herbie
Rules
550×fma-neg_binary64
303×rules-6-rev_binary64
266×rules-5-rev_binary64
262×rules-42_binary64
262×rules-43_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14011
29411
321311
445811
5117311
652311

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
30.9b
Counts
2 → 1
Alt Table
StatusErrorProgram
30.9b
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
Compiler

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.1b
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))

series18.0ms (0.5%)

Counts
1 → 1
Calls

1 calls:

18.0ms
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))

rewrite58.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
687×log1p-expm1-u_binary64
687×expm1-log1p-u_binary64
499×prod-diff_binary64
87×egg-rr
67×add-sqr-sqrt_binary64
Counts
1 → 87
Calls

1 calls:

56.0ms
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
116511
2196911
3535011
000
100

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
25×fma-neg_binary64
21×rules-13_binary64
18×rules-40_binary64
18×rules-41_binary64
18×rules-42_binary64
Counts
88 → 88
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
181
2161
3221
4351
5581
6761
7881
8971
91011
101141
1151

prune109.0ms (3.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New79988
Fresh000
Picked101
Done000
Total80989
Error
29.9b
Counts
89 → 9
Alt Table
StatusErrorProgram
31.1b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (sqrt.f64 x)))
32.2b
1
31.3b
(/.f64 (-.f64 (pow.f64 (+.f64 x 1) 3/2) (pow.f64 x 3/2)) (+.f64 (+.f64 x 1) (+.f64 x (sqrt.f64 (*.f64 (+.f64 x 1) x)))))
30.9b
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
31.5b
(+.f64 (fma.f64 1 (sqrt.f64 (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
31.0b
(+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (fma.f64 (neg.f64 (pow.f64 x 1/4)) (pow.f64 x 1/4) (sqrt.f64 x)))
30.9b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 -1 (sqrt.f64 x) (sqrt.f64 x)))
30.9b
(pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))) 2)
31.5b
(+.f64 (fma.f64 (pow.f64 (+.f64 x 1) 1/4) (pow.f64 (+.f64 x 1) 1/4) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
Compiler

Compiled 2449 to 1387 computations (43.4% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2))
0.3b
(pow.f64 (cbrt.f64 (+.f64 x 1)) 2)
0.3b
(cbrt.f64 (+.f64 x 1))
30.7b
(fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))

series32.0ms (0.9%)

Counts
4 → 37
Calls

4 calls:

12.0ms
(fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
8.0ms
(pow.f64 (cbrt.f64 (+.f64 x 1)) 2)
6.0ms
(cbrt.f64 (+.f64 x 1))
5.0ms
(sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2))

rewrite77.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
887×log1p-expm1-u_binary64
887×expm1-log1p-u_binary64
309×prod-diff_binary64
181×egg-rr
97×add-sqr-sqrt_binary64
Counts
4 → 181
Calls

4 calls:

73.0ms
(sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2))
73.0ms
(pow.f64 (cbrt.f64 (+.f64 x 1)) 2)
73.0ms
(cbrt.f64 (+.f64 x 1))
73.0ms
(fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
125132
2263632
3630132
000
100

simplify53.0ms (1.5%)

Algorithm
egg-herbie
Rules
695×rules-40_binary64
695×rules-42_binary64
693×rules-41_binary64
693×rules-43_binary64
296×rules-21_binary64
Counts
218 → 172
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0941076
16541048
22632778
34974778

prune364.0ms (10.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2472249
Fresh178
Picked101
Done000
Total2499258
Error
29.9b
Counts
258 → 9
Alt Table
StatusErrorProgram
31.3b
(/.f64 (-.f64 (pow.f64 (+.f64 x 1) 3/2) (pow.f64 x 3/2)) (+.f64 (+.f64 x 1) (+.f64 x (sqrt.f64 (*.f64 (+.f64 x 1) x)))))
31.3b
(+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (+.f64 x 1) 2))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 -1 (sqrt.f64 x) (sqrt.f64 x)))
31.1b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (sqrt.f64 x)))
32.2b
1
31.0b
(+.f64 (*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x))))) (fma.f64 -1 (sqrt.f64 x) (sqrt.f64 x)))
30.9b
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
31.5b
(+.f64 (fma.f64 1 (sqrt.f64 (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
31.0b
(+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (fma.f64 (neg.f64 (pow.f64 x 1/4)) (pow.f64 x 1/4) (sqrt.f64 x)))
31.5b
(+.f64 (fma.f64 (pow.f64 (+.f64 x 1) 1/4) (pow.f64 (+.f64 x 1) 1/4) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
Compiler

Compiled 8673 to 5770 computations (33.5% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (sqrt.f64 (+.f64 x 1)))
0.3b
(cbrt.f64 (+.f64 x 1))
30.9b
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))

series18.0ms (0.5%)

Counts
2 → 13
Calls

2 calls:

13.0ms
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
4.0ms
(cbrt.f64 (sqrt.f64 (+.f64 x 1)))

rewrite58.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
824×log1p-expm1-u_binary64
824×expm1-log1p-u_binary64
311×prod-diff_binary64
87×add-sqr-sqrt_binary64
82×add-cbrt-cube_binary64
Counts
2 → 65
Calls

2 calls:

57.0ms
(cbrt.f64 (sqrt.f64 (+.f64 x 1)))
57.0ms
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
122120
2243720
3595220
000
100

simplify36.0ms (1%)

Algorithm
egg-herbie
Rules
775×fma-neg_binary64
374×rules-40_binary64
374×rules-42_binary64
372×rules-41_binary64
372×rules-43_binary64
Counts
78 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056357
1375349
21435269
34895269

prune223.0ms (6.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1631164
Fresh178
Picked011
Done000
Total1649173
Error
29.9b
Counts
173 → 9
Alt Table
StatusErrorProgram
31.3b
(/.f64 (-.f64 (pow.f64 (+.f64 x 1) 3/2) (pow.f64 x 3/2)) (+.f64 (+.f64 x 1) (+.f64 x (sqrt.f64 (*.f64 (+.f64 x 1) x)))))
31.3b
(+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (+.f64 x 1) 2))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 -1 (sqrt.f64 x) (sqrt.f64 x)))
31.0b
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))))
31.5b
(+.f64 (fma.f64 1 (sqrt.f64 (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
31.1b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (sqrt.f64 x)))
32.2b
1
30.9b
(fma.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x)))
31.0b
(+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (fma.f64 (neg.f64 (pow.f64 x 1/4)) (pow.f64 x 1/4) (sqrt.f64 x)))
31.5b
(+.f64 (fma.f64 (pow.f64 (+.f64 x 1) 1/4) (pow.f64 (+.f64 x 1) 1/4) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x)))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x x))))))
Compiler

Compiled 3979 to 2750 computations (30.9% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))
0.2b
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))))
3.0b
(+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x))))

series63.0ms (1.8%)

Counts
3 → 9
Calls

3 calls:

35.0ms
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))))
17.0ms
(+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x))))
11.0ms
(/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))

rewrite98.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
908×fma-neg_binary64
512×prod-diff_binary64
253×egg-rr
169×expm1-udef_binary64
169×log1p-udef_binary64
Counts
3 → 253
Calls

3 calls:

91.0ms
(/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))
91.0ms
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))))
91.0ms
(+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01042
123842
2286942
3507942
000
100

simplify84.0ms (2.4%)

Algorithm
egg-herbie
Rules
658×rules-21_binary64
376×fma-neg_binary64
290×rules-11_binary64
289×rules-18-rev_binary64
277×rules-15-rev_binary64
Counts
262 → 267
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
034122
1227122
2884107
34765107
44562107
54848107

prune182.0ms (5.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2652267
Fresh617
Picked011
Done101
Total2724276
Error
0.2b
Counts
276 → 4
Alt Table
StatusErrorProgram
31.1b
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 (-.f64 (/.f64 (+.f64 -1/2 (/.f64 1/8 x)) x) (/.f64 1/16 (pow.f64 x 3))) (/.f64 5/128 (pow.f64 x 4))))
31.0b
(*.f64 (neg.f64 (sqrt.f64 x)) (+.f64 1 (/.f64 (sqrt.f64 (+.f64 x 1)) (neg.f64 (sqrt.f64 x)))))
31.1b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (sqrt.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (sqrt.f64 x)))
30.9b
(+.f64 (sqrt.f64 (+.f64 1 x)) (neg.f64 (sqrt.f64 x)))
Compiler

Compiled 6721 to 3923 computations (41.6% saved)

regimes365.0ms (10.4%)

Accuracy

Total 0.0b remaining (3.7%)

Threshold costs 0.0b (3.7%)

Counts
152 → 2
Compiler

Compiled 5688 to 4195 computations (26.2% saved)

bsearch20.0ms (0.6%)

Steps
ItersRangePoint
9
0.013401816907784322
10537.71196967466
896.2978944243135
Compiler

Compiled 2 to 1 computations (50% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03159
13359
23259

end100.0ms (2.8%)

Compiler

Compiled 153 to 113 computations (26.1% saved)

Profiling

Loading profile data...