Details

Time bar (total: 3.4s)

analyze180.0ms (5.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 32 to 20 computations (37.5% saved)

sample1.3s (37.3%)

Results
1.3s8256×body128valid
0.0msbody128invalid
Compiler

Compiled 64 to 40 computations (37.5% saved)

preprocess35.0ms (1%)

Algorithm
egg-herbie
Rules
421×fma-neg_binary64
351×associate--l+_binary64
326×associate-+l+_binary64
312×unsub-neg_binary64
293×associate-+r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02978
110174
235074
3123774
4310766
022
Stop Event
saturated
node limit
Compiler

Compiled 31 to 19 computations (38.7% saved)

simplify29.0ms (0.8%)

Algorithm
egg-herbie
Rules
602×fma-def_binary64
320×+-commutative_binary64
277×sub-neg_binary64
265×associate-*l*_binary64
250×unsub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01939
15737
219837
369637
4229233
5425133
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
Compiler

Compiled 166 to 105 computations (36.7% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
0.0b
(-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3))
0.0b
(*.f64 b (+.f64 a 3))
0.1b
(fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a))

series51.0ms (1.5%)

Counts
4 → 96
Calls

24 calls:

8.0ms
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
b
0
6.0ms
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
b
-inf
6.0ms
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
b
inf
3.0ms
(fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1))
a
inf
3.0ms
(fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a))
b
inf

rewrite68.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
302×log1p-udef_binary64
180×add-sqr-sqrt_binary64
177×pow1_binary64
174×*-un-lft-identity_binary64
171×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01674
136574
2472674
01674
Stop Event
saturated
node limit
Counts
4 → 114

simplify52.0ms (1.5%)

Algorithm
egg-herbie
Rules
689×fma-def_binary64
615×fma-neg_binary64
505×associate-+l+_binary64
340×distribute-lft-out_binary64
327×associate--l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0651690
12211566
27691422
337641398
Stop Event
node limit
Counts
210 → 164

prune221.0ms (6.5%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1613164
Fresh101
Picked101
Done000
Total1633166
Error
0b
Counts
166 → 3
Alt Table
StatusErrorProgram
19.8b
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))
0.0b
(-.f64 (+.f64 (*.f64 4 (pow.f64 a 2)) (+.f64 (*.f64 4 (*.f64 a (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 12 (pow.f64 b 2)) (pow.f64 b 4)))))) (+.f64 (*.f64 4 (pow.f64 a 3)) 1))
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
Compiler

Compiled 4873 to 3010 computations (38.2% saved)

localize25.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 4 (*.f64 a (pow.f64 b 2)))
0.2b
(*.f64 12 (pow.f64 b 2))
0.8b
(*.f64 a (pow.f64 b 2))
3.0b
(*.f64 (pow.f64 a 2) (pow.f64 b 2))

series30.0ms (0.9%)

Counts
4 → 0
Calls

21 calls:

3.0ms
(*.f64 a (pow.f64 b 2))
a
0
2.0ms
(*.f64 4 (*.f64 a (pow.f64 b 2)))
a
0
2.0ms
(*.f64 4 (*.f64 a (pow.f64 b 2)))
a
inf
2.0ms
(*.f64 4 (*.f64 a (pow.f64 b 2)))
a
-inf
2.0ms
(*.f64 a (pow.f64 b 2))
a
-inf

rewrite45.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
538×log-prod_binary64
277×pow2_binary64
195×pow1/3_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
124831
2268731
01234
Stop Event
saturated
node limit
Counts
4 → 73

simplify12.0ms (0.4%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
73 → 73

prune114.0ms (3.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New73073
Fresh022
Picked011
Done000
Total73376
Error
0b
Counts
76 → 3
Alt Table
StatusErrorProgram
19.8b
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))
0.0b
(-.f64 (+.f64 (*.f64 4 (pow.f64 a 2)) (+.f64 (*.f64 4 (*.f64 a (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 12 (pow.f64 b 2)) (pow.f64 b 4)))))) (+.f64 (*.f64 4 (pow.f64 a 3)) 1))
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
Compiler

Compiled 3679 to 2803 computations (23.8% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
0.1b
(*.f64 b (fma.f64 b b 12))

series7.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

2.0ms
(*.f64 b (fma.f64 b b 12))
b
inf
1.0ms
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
b
-inf
1.0ms
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
b
inf
1.0ms
(*.f64 b (fma.f64 b b 12))
b
-inf
1.0ms
(*.f64 b (fma.f64 b b 12))
b
0

rewrite36.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
615×pow1_binary64
568×add-log-exp_binary64
568×log1p-expm1-u_binary64
568×expm1-log1p-u_binary64
66×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
113620
2150620
0720
Stop Event
saturated
node limit
Counts
2 → 38

simplify28.0ms (0.8%)

Algorithm
egg-herbie
Rules
484×distribute-rgt-neg-in_binary64
452×associate-*l*_binary64
446×distribute-lft-neg-in_binary64
337×associate-*r*_binary64
272×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017207
144207
284195
3172195
4505195
52366195
Stop Event
node limit
Counts
62 → 50

prune52.0ms (1.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New50050
Fresh011
Picked011
Done011
Total50353
Error
0b
Counts
53 → 3
Alt Table
StatusErrorProgram
19.8b
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))
0.0b
(-.f64 (+.f64 (*.f64 4 (pow.f64 a 2)) (+.f64 (*.f64 4 (*.f64 a (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 12 (pow.f64 b 2)) (pow.f64 b 4)))))) (+.f64 (*.f64 4 (pow.f64 a 3)) 1))
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
Compiler

Compiled 727 to 478 computations (34.3% saved)

localize18.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 b (+.f64 a 3))
0.1b
(pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3)
0.1b
(fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a))
18.5b
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))

series87.0ms (2.6%)

Counts
2 → 48
Calls

12 calls:

22.0ms
(pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3)
b
0
11.0ms
(pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3)
b
-inf
10.0ms
(pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3)
a
0
9.0ms
(pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3)
b
inf
8.0ms
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))
b
-inf

rewrite38.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
190×add-sqr-sqrt_binary64
187×pow1_binary64
183×*-un-lft-identity_binary64
181×add-log-exp_binary64
181×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01869
140969
01874
Stop Event
saturated
node limit
Counts
2 → 53

simplify49.0ms (1.4%)

Algorithm
egg-herbie
Rules
818×associate-+r+_binary64
742×fma-def_binary64
476×associate-+l+_binary64
228×associate-*r*_binary64
170×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03343094
112222998
Stop Event
node limit
Counts
101 → 108

prune227.0ms (6.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1740174
Fresh000
Picked011
Done022
Total1743177
Error
0b
Counts
177 → 3
Alt Table
StatusErrorProgram
19.8b
(cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3)) (+.f64 (pow.f64 (hypot.f64 a b) 4) -1)) 3))
0.0b
(-.f64 (+.f64 (*.f64 4 (pow.f64 a 2)) (+.f64 (*.f64 4 (*.f64 a (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 12 (pow.f64 b 2)) (pow.f64 b 4)))))) (+.f64 (*.f64 4 (pow.f64 a 3)) 1))
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
Compiler

Compiled 7541 to 5134 computations (31.9% saved)

regimes591.0ms (17.3%)

Accuracy

Total 0.0b remaining (40.1%)

Threshold costs 0.0b (40.1%)

Counts
117 → 1
Compiler

Compiled 13141 to 9615 computations (26.8% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01735
12435
22835
33035
43135
Stop Event
saturated

end116.0ms (3.4%)

Stop Event
done
Compiler

Compiled 138 to 101 computations (26.8% saved)

Profiling

Loading profile data...