Details

Time bar (total: 9.9s)

analyze2.0ms (0%)

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

Compiled 14 to 13 computations (7.1% saved)

sample4.0s (40.6%)

Results
2.1s2232×body2048valid
803.0ms4228×body128valid
721.0ms1069×body1024valid
242.0ms495×body512valid
92.0ms232×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify16.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01018
12215
22715
33515
44215
55215
66015
76915
87215
95315

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
15.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
15.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 45 to 41 computations (8.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series31.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

12.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
8.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
6.0ms
(/.f64 1/2 (hypot.f64 1 x))
5.0ms
(hypot.f64 1 x)

rewrite47.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
46×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
29×add-cube-cbrt_binary64
24×sqrt-prod_binary64
21×prod-diff_binary64
Counts
4 → 110
Calls

4 calls:

16.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
13.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
5.0ms
(/.f64 1/2 (hypot.f64 1 x))
1.0ms
(hypot.f64 1 x)

simplify206.0ms (2.1%)

Algorithm
egg-herbie
Rules
661×fma-def_binary64
463×fma-neg_binary64
398×times-frac_binary64
372×associate-*l*_binary64
332×associate-*r*_binary64
Counts
158 → 196
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02613244
16532896
218042575
345602539
448602539
552662539

prune340.0ms (3.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1924196
Fresh000
Picked101
Done000
Total1934197
Error
0b
Counts
197 → 4
Alt Table
StatusErrorProgram
28.9b
(-.f64 (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 1/8 (pow.f64 x 2))) (+.f64 (*.f64 11/128 (pow.f64 x 4)) (*.f64 1843/32768 (pow.f64 x 8))))
15.7b
(cbrt.f64 (pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 3))
15.1b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
15.5b
(-.f64 1 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 4514 to 4011 computations (11.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 x)
0.0b
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
0.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.6b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series63.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

44.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
12.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
6.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite64.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
116×*-un-lft-identity_binary64
116×add-sqr-sqrt_binary64
80×times-frac_binary64
60×add-cube-cbrt_binary64
39×prod-diff_binary64
Counts
3 → 157
Calls

3 calls:

25.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
11.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
7.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

simplify285.0ms (2.9%)

Algorithm
egg-herbie
Rules
565×times-frac_binary64
260×fma-def_binary64
206×associate-*r*_binary64
200×associate-/r*_binary64
184×fma-neg_binary64
Counts
193 → 229
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04488251
112495965
238875923
350505923

prune627.0ms (6.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2943297
Fresh303
Picked101
Done000
Total2983301
Error
0b
Counts
301 → 3
Alt Table
StatusErrorProgram
15.5b
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
15.1b
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
28.9b
(-.f64 (fma.f64 (*.f64 x x) 1/8 (*.f64 (pow.f64 x 6) 69/1024)) (fma.f64 (pow.f64 x 4) 11/128 (*.f64 (pow.f64 x 8) 1843/32768)))
Compiler

Compiled 10602 to 9445 computations (10.9% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
0.0b
(expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.0b
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.6b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series54.0ms (0.5%)

Counts
2 → 24
Calls

2 calls:

46.0ms
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
8.0ms
(expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
33×*-un-lft-identity_binary64
21×add-sqr-sqrt_binary64
18×times-frac_binary64
16×distribute-lft-out_binary64
13×add-cube-cbrt_binary64
Counts
2 → 54
Calls

2 calls:

16.0ms
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
1.0ms
(expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))

simplify117.0ms (1.2%)

Algorithm
egg-herbie
Rules
689×fma-def_binary64
577×distribute-rgt-in_binary64
411×times-frac_binary64
218×fma-neg_binary64
182×cancel-sign-sub-inv_binary64
Counts
78 → 116
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02563267
16992938
223542877
347582874
451532874

prune522.0ms (5.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2630263
Fresh022
Picked011
Done000
Total2633266
Error
0b
Counts
266 → 3
Alt Table
StatusErrorProgram
15.5b
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
15.1b
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
28.9b
(-.f64 (fma.f64 (*.f64 x x) 1/8 (*.f64 (pow.f64 x 6) 69/1024)) (fma.f64 (pow.f64 x 4) 11/128 (*.f64 (pow.f64 x 8) 1843/32768)))
Compiler

Compiled 10174 to 9129 computations (10.3% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.1b
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
0.4b
(log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
0.6b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series124.0ms (1.3%)

Counts
3 → 36
Calls

3 calls:

62.0ms
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
36.0ms
(-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
25.0ms
(log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

rewrite49.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
37×add-sqr-sqrt_binary64
33×*-un-lft-identity_binary64
24×prod-diff_binary64
23×add-cube-cbrt_binary64
22×exp-sum_binary64
Counts
3 → 96
Calls

3 calls:

15.0ms
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
15.0ms
(-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
1.0ms
(log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

simplify165.0ms (1.7%)

Algorithm
egg-herbie
Rules
432×cancel-sign-sub-inv_binary64
328×sub-neg_binary64
273×fma-def_binary64
253×associate-+r+_binary64
238×+-commutative_binary64
Counts
132 → 172
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03806807
19875723
236455105
349365105

prune494.0ms (5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2760276
Fresh011
Picked011
Done011
Total2763279
Error
0b
Counts
279 → 3
Alt Table
StatusErrorProgram
15.5b
(exp.f64 (-.f64 (log.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (log1p.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
15.1b
(/.f64 (log1p.f64 (expm1.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
28.9b
(-.f64 (fma.f64 (*.f64 x x) 1/8 (*.f64 (pow.f64 x 6) 69/1024)) (fma.f64 (pow.f64 x 4) 11/128 (*.f64 (pow.f64 x 8) 1843/32768)))
Compiler

Compiled 12547 to 11272 computations (10.2% saved)

regimes2.2s (22.6%)

Accuracy

Total 0.0b remaining (14.4%)

Threshold costs 0.0b (14.4%)

Counts
155 → 3
Compiler

Compiled 20629 to 18518 computations (10.2% saved)

bsearch86.0ms (0.9%)

Steps
ItersRangePoint
9
0.00589096569095051
75899.98641191647
0.028761853505194473
10
-126.16804619797426
-5.750330009187192e-15
-0.027965099262194516
Compiler

Compiled 2 to 1 computations (50% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
10×*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043104
158104
268104
392104
4102104
5108104
6110104
7106104

end225.0ms (2.3%)

Compiler

Compiled 203 to 174 computations (14.3% saved)

Profiling

Loading profile data...