Details

Time bar (total: 4.6s)

analyze1.1s (24.6%)

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 (43.6%)

Results
916.0ms6310×body128valid
460.0ms761×body2048valid
270.0ms516×body1024valid
217.0ms314×body4096valid
87.0ms242×body512valid
27.0ms113×body256valid
Compiler

Compiled 75 to 54 computations (28% saved)

simplify11.0ms (0.2%)

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

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 68 to 48 computations (29.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series51.0ms (1.1%)

Counts
4 → 84
Calls

4 calls:

22.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
17.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
9.0ms
(sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))
2.0ms
(*.f64 4 (*.f64 p p))

rewrite49.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
544×log-prod_binary64
204×expm1-udef_binary64
204×log1p-udef_binary64
190×log-pow_binary64
154×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01262
124744
2289244
Stop Event
node limit
Counts
4 → 101
Calls

4 calls:

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

simplify40.0ms (0.9%)

Algorithm
egg-herbie
Rules
580×associate-/l*_binary64
515×associate-/r*_binary64
431×fma-def_binary64
304×cancel-sign-sub-inv_binary64
210×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01541801
14971749
217471656
Stop Event
node limit
Counts
185 → 188

prune139.0ms (3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1835188
Fresh000
Picked101
Done000
Total1845189
Error
2.5b
Counts
189 → 5
Alt Table
StatusErrorProgram
54.4b
(/.f64 (neg.f64 p) x)
12.8b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
13.3b
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)
55.6b
(sqrt.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6)))))
50.9b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 3805 to 2797 computations (26.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
0.8b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)

series44.0ms (1%)

Counts
2 → 48
Calls

2 calls:

26.0ms
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
18.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)

rewrite46.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
909×log1p-expm1-u_binary64
909×expm1-log1p-u_binary64
111×prod-diff_binary64
102×add-sqr-sqrt_binary64
96×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01030
121230
2250530
Stop Event
node limit
Counts
2 → 46
Calls

2 calls:

45.0ms
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
45.0ms
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)

simplify30.0ms (0.6%)

Algorithm
egg-herbie
Rules
798×times-frac_binary64
376×associate-/l*_binary64
367×associate-/r*_binary64
261×fma-def_binary64
195×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01151326
13611270
212111146
Stop Event
node limit
Counts
94 → 101

prune80.0ms (1.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1001101
Fresh044
Picked011
Done000
Total1006106
Error
1.8b
Counts
106 → 6
Alt Table
StatusErrorProgram
12.8b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
54.1b
(exp.f64 (*.f64 1/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2)))))
54.4b
(/.f64 (neg.f64 p) x)
13.3b
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)
55.6b
(sqrt.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6)))))
50.9b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 2338 to 1744 computations (25.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))
0.5b
(log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))
0.8b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
1.0b
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)

series85.0ms (1.9%)

Counts
3 → 72
Calls

3 calls:

40.0ms
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)
27.0ms
(log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))
18.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))

rewrite56.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
289×prod-diff_binary64
221×log1p-udef_binary64
220×expm1-udef_binary64
195×log-pow_binary64
147×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01450
127350
2318450
Stop Event
node limit
Counts
3 → 110
Calls

3 calls:

53.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))
53.0ms
(log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))
53.0ms
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)

simplify52.0ms (1.1%)

Algorithm
egg-herbie
Rules
889×fma-def_binary64
431×cancel-sign-sub-inv_binary64
217×sub-neg_binary64
195×fma-neg_binary64
153×distribute-neg-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712906
15702696
225402552
Stop Event
node limit
Counts
182 → 128

prune140.0ms (3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1840184
Fresh044
Picked011
Done011
Total1846190
Error
1.8b
Counts
190 → 6
Alt Table
StatusErrorProgram
12.8b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
54.1b
(exp.f64 (*.f64 1/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2)))))
54.4b
(/.f64 (neg.f64 p) x)
13.3b
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)
55.6b
(sqrt.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6)))))
50.9b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 5274 to 4185 computations (20.6% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 p x) (/.f64 p x))
17.9b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))

series26.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

21.0ms
(*.f64 (/.f64 p x) (/.f64 p x))
5.0ms
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))

rewrite39.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
567×log1p-expm1-u_binary64
567×expm1-log1p-u_binary64
286×log-prod_binary64
142×pow2_binary64
103×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
112911
2159911
Stop Event
node limit
Counts
2 → 103
Calls

2 calls:

37.0ms
(*.f64 (/.f64 p x) (/.f64 p x))
37.0ms
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))

simplify36.0ms (0.8%)

Algorithm
egg-herbie
Rules
671×times-frac_binary64
650×unswap-sqr_binary64
326×associate-/l*_binary64
213×associate-/r*_binary64
150×associate-/l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010352
122352
242352
3106352
4434352
53292352
64926352
Stop Event
node limit
Counts
151 → 107

prune33.0ms (0.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1061107
Fresh123
Picked101
Done022
Total1085113
Error
0.0b
Counts
113 → 5
Alt Table
StatusErrorProgram
52.3b
(/.f64 p x)
55.6b
(sqrt.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6)))))
54.4b
(/.f64 (neg.f64 p) x)
12.8b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)
13.3b
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)
Compiler

Compiled 969 to 471 computations (51.4% saved)

regimes385.0ms (8.4%)

Accuracy

Total 5.4b remaining (99.2%)

Threshold costs 0b (0%)

Counts
66 → 2
Compiler

Compiled 6514 to 5152 computations (20.9% saved)

bsearch2.0ms (0%)

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
0284294967295
1324294967295
Stop Event
saturated

end87.0ms (1.9%)

Compiler

Compiled 150 to 105 computations (30% saved)

Profiling

Loading profile data...