Details

Time bar (total: 5.7s)

analyze1.3s (22.2%)

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.4s (41.8%)

Results
1.1s6217×body128valid
544.0ms826×body2048valid
304.0ms533×body1024valid
278.0ms313×body4096valid
95.0ms256×body512valid
28.0ms111×body256valid
Compiler

Compiled 75 to 54 computations (28% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13124
23922
34522
44722
54922
65022
74722

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
14.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.2b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
Compiler

Compiled 68 to 48 computations (29.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series77.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

24.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
22.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2)
21.0ms
(/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p)))))
10.0ms
(sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))

rewrite64.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
560×log-prod_binary64
208×expm1-udef_binary64
208×log1p-udef_binary64
192×log-pow_binary64
169×prod-diff_binary64
Counts
4 → 124
Calls

4 calls:

61.0ms
(/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p)))))
61.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
61.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2)
61.0ms
(sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01271
124467
2277367
3500567
000
100

simplify87.0ms (1.5%)

Algorithm
egg-herbie
Rules
638×associate-/l*_binary64
565×fma-def_binary64
497×fma-neg_binary64
413×cancel-sign-sub-inv_binary64
237×neg-mul-1_binary64
Counts
220 → 237
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01832325
16032253
219982139
346252133
449912133

prune181.0ms (3.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2334237
Fresh000
Picked011
Done000
Total2335238
Error
3.6b
Counts
238 → 5
Alt Table
StatusErrorProgram
53.9b
(sqrt.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
14.2b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
54.5b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
51.0b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
14.2b
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))))
Compiler

Compiled 5246 to 3797 computations (27.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)
0.7b
(expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))
0.7b
(+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2))))
29.5b
(sqrt.f64 (*.f64 p (*.f64 p 4)))

series86.0ms (1.5%)

Counts
4 → 84
Calls

4 calls:

34.0ms
(expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))
33.0ms
(+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2))))
17.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)
1.0ms
(sqrt.f64 (*.f64 p (*.f64 p 4)))

rewrite69.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
336×prod-diff_binary64
253×expm1-udef_binary64
253×log1p-udef_binary64
141×add-sqr-sqrt_binary64
138×log1p-expm1-u_binary64
Counts
4 → 113
Calls

4 calls:

66.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)
66.0ms
(expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))
66.0ms
(+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2))))
66.0ms
(sqrt.f64 (*.f64 p (*.f64 p 4)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01577
130754
2346254
3486954
000
100

simplify81.0ms (1.4%)

Algorithm
egg-herbie
Rules
947×associate-/r*_binary64
417×cancel-sign-sub-inv_binary64
239×sub-neg_binary64
218×associate-/r/_binary64
196×fma-neg_binary64
Counts
197 → 199
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01953103
16162893
223102513
355072513

prune188.0ms (3.3%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1990199
Fresh033
Picked011
Done011
Total1995204
Error
3.6b
Counts
204 → 5
Alt Table
StatusErrorProgram
53.9b
(sqrt.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
14.2b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
54.5b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
51.0b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
14.2b
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))))
Compiler

Compiled 5393 to 4290 computations (20.5% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 p (/.f64 (*.f64 x x) p))
0.2b
(/.f64 (*.f64 x x) p)
22.8b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))

series40.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

25.0ms
(/.f64 p (/.f64 (*.f64 x x) p))
9.0ms
(/.f64 (*.f64 x x) p)
5.0ms
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))

rewrite56.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
761×log1p-expm1-u_binary64
761×expm1-log1p-u_binary64
133×egg-rr
129×log1p-udef_binary64
75×add-sqr-sqrt_binary64
Counts
3 → 133
Calls

3 calls:

54.0ms
(/.f64 p (/.f64 (*.f64 x x) p))
54.0ms
(/.f64 (*.f64 x x) p)
54.0ms
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0729
115218
2200018
3508418
000
100

simplify67.0ms (1.2%)

Algorithm
egg-herbie
Rules
822×fma-def_binary64
738×unswap-sqr_binary64
718×times-frac_binary64
333×associate-/l*_binary64
325×fma-neg_binary64
Counts
205 → 138
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011520
123520
240520
3106520
4397520
52323520
63969520
74320520
85229520

prune48.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1371138
Fresh112
Picked101
Done022
Total1394143
Error
0b
Counts
143 → 4
Alt Table
StatusErrorProgram
54.5b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
14.2b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
44.5b
(fabs.f64 (/.f64 p x))
14.2b
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))))
Compiler

Compiled 1513 to 689 computations (54.5% saved)

localize3.0ms (0%)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done022
Total044
Error
0b
Counts
4 → 4
Alt Table
StatusErrorProgram
54.5b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
14.2b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
44.5b
(fabs.f64 (/.f64 p x))
14.2b
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 p (*.f64 p 4))))) 1/2)))))
Compiler

Compiled 56 to 40 computations (28.6% saved)

regimes874.0ms (15.4%)

Accuracy

Total 0.1b remaining (50.5%)

Threshold costs 0.1b (50.5%)

Counts
99 → 2
Compiler

Compiled 10638 to 8492 computations (20.2% saved)

bsearch3.0ms (0%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02450
12850
22850

end76.0ms (1.3%)

Compiler

Compiled 126 to 88 computations (30.2% saved)

Profiling

Loading profile data...