Details

Time bar (total: 6.4s)

analyze1.2s (17.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%48.6%51.4%0
0%48.6%51.4%1
24.3%24.3%51.4%2
24.3%24.3%51.4%3
30.4%18.2%51.4%4
30.4%18.2%51.4%5
33.4%15.2%51.4%6
33.4%15.2%51.4%7
34.6%14.1%51.4%8
34.8%13.9%51.4%9
35.4%13.2%51.4%10
35.6%13.1%51.4%11
35.9%12.7%51.4%12
36%12.6%51.4%13
36.2%12.4%51.4%14
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample2.0s (31.6%)

Results
922.0ms6293×body128valid
482.0ms782×body2048valid
267.0ms512×body1024valid
224.0ms295×body4096valid
85.0ms241×body512valid
35.0ms133×body256valid
Compiler

Compiled 56 to 40 computations (28.6% saved)

preprocess20.0ms (0.3%)

Algorithm
egg-herbie
Rules
18×fma-def_binary64
12×*-commutative_binary64
+-commutative_binary64
associate-/l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02448
15048
27044
38444
48844
59244
69444
022
Stop Event
saturated
saturated
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
associate-/l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13124
24122
34822
45022
55222
65322
Stop Event
saturated
Counts
1 → 2

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
12.6b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
12.6b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
Compiler

Compiled 106 to 76 computations (28.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))
0.0b
(*.f64 4 (*.f64 p p))
0.6b
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
14.9b
(sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))

series55.0ms (0.9%)

Counts
4 → 84
Calls

21 calls:

5.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
x
-inf
5.0ms
(/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))
x
-inf
5.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
p
0
4.0ms
(/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))
x
0
4.0ms
(sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))
x
inf

rewrite52.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
507×log-prod_binary64
192×expm1-udef_binary64
192×log1p-udef_binary64
177×pow3_binary64
174×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01156
122838
2270338
Stop Event
node limit
Counts
4 → 107

simplify50.0ms (0.8%)

Algorithm
egg-herbie
Rules
624×times-frac_binary64
367×fma-def_binary64
324×associate-/l*_binary64
284×associate-/r*_binary64
284×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01291708
14271658
213891608
Stop Event
node limit
Counts
191 → 195

prune204.0ms (3.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1905195
Fresh101
Picked101
Done000
Total1925197
Error
5.1b
Counts
197 → 5
Alt Table
StatusErrorProgram
13.0b
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
55.2b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
12.6b
(sqrt.f64 (fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2))
12.6b
(sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))
51.6b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 3914 to 2886 computations (26.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x (*.f64 p 2))
0.0b
(/.f64 x (hypot.f64 x (*.f64 p 2)))
0.0b
(expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))
0.6b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)

series64.0ms (1%)

Counts
4 → 96
Calls

24 calls:

5.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
x
inf
5.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
x
-inf
5.0ms
(expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))
x
-inf
4.0ms
(/.f64 x (hypot.f64 x (*.f64 p 2)))
x
inf
3.0ms
(hypot.f64 x (*.f64 p 2))
p
-inf

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
460×log-prod_binary64
257×pow2_binary64
182×expm1-udef_binary64
182×log1p-udef_binary64
180×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
120945
2246845
Stop Event
node limit
Counts
4 → 129

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
624×times-frac_binary64
363×fma-def_binary64
324×associate-/l*_binary64
285×associate-/r*_binary64
284×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01282136
14252062
213811994
Stop Event
node limit
Counts
225 → 189

prune155.0ms (2.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1890189
Fresh044
Picked011
Done000
Total1895194
Error
5.1b
Counts
194 → 5
Alt Table
StatusErrorProgram
13.0b
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
55.2b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
12.6b
(sqrt.f64 (fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2))
12.6b
(sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))
51.6b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 4129 to 2651 computations (35.8% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (hypot.f64 x (*.f64 p 2)))
0.0b
(log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2)))))
0.3b
(expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))
0.6b
(fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2)

series53.0ms (0.8%)

Counts
3 → 72
Calls

18 calls:

5.0ms
(log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2)))))
p
-inf
5.0ms
(fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2)
x
-inf
4.0ms
(fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2)
p
0
4.0ms
(expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))
x
-inf
4.0ms
(expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))
x
inf

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
460×log-prod_binary64
257×pow2_binary64
182×expm1-udef_binary64
182×log1p-udef_binary64
180×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
121036
2246936
Stop Event
node limit
Counts
3 → 101

simplify42.0ms (0.7%)

Algorithm
egg-herbie
Rules
868×times-frac_binary64
426×fma-def_binary64
416×associate-/l*_binary64
396×associate-/r*_binary64
321×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01491855
14811773
216081662
Stop Event
node limit
Counts
173 → 186

prune189.0ms (2.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2530253
Fresh033
Picked011
Done011
Total2535258
Error
5.1b
Counts
258 → 5
Alt Table
StatusErrorProgram
13.0b
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
55.2b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
12.6b
(sqrt.f64 (fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2))
12.6b
(sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))
51.6b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 5343 to 3204 computations (40% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
0.0b
(/.f64 x (hypot.f64 x (*.f64 p 2)))
0.6b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
1.5b
(log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))

series150.0ms (2.3%)

Counts
2 → 48
Calls

12 calls:

33.0ms
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
x
inf
30.0ms
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
p
0
14.0ms
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
x
-inf
12.0ms
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
p
-inf
12.0ms
(log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))
x
inf

rewrite50.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
301×prod-diff_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
186×log-pow_binary64
156×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01436
129011
2336011
Stop Event
node limit
Counts
2 → 111

simplify81.0ms (1.3%)

Algorithm
egg-herbie
Rules
316×times-frac_binary64
285×fma-def_binary64
257×fma-neg_binary64
216×associate-/r*_binary64
204×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03154069
110953421
247933421
Stop Event
node limit
Counts
159 → 173

prune423.0ms (6.6%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4712473
Fresh022
Picked011
Done022
Total4717478
Error
2.6b
Counts
478 → 7
Alt Table
StatusErrorProgram
53.4b
(/.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 (/.f64 x (sqrt.f64 2)) p))
12.6b
(sqrt.f64 (fma.f64 1/2 (log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 p 2))))) 1/2))
13.0b
(sqrt.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))
55.2b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
54.6b
(-.f64 (*.f64 (*.f64 3/4 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 p (sqrt.f64 2))))
12.6b
(sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))
51.6b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 16117 to 12175 computations (24.5% saved)

regimes1.3s (20.4%)

Accuracy

Total 2.7b remaining (47.6%)

Threshold costs 0b (0%)

Counts
168 → 2
Compiler

Compiled 20464 to 16517 computations (19.3% saved)

bsearch5.0ms (0.1%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
Steps
ItersPointRange
-0.9999999999534861
∈ [
-0.9999999999534861
,
-4.4322780072727704e-7
]
Compiler

Compiled 14 to 9 computations (35.7% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02759
13059
Stop Event
saturated

end123.0ms (1.9%)

Stop Event
fuel
Compiler

Compiled 209 to 154 computations (26.3% saved)

Profiling

Loading profile data...