Details

Time bar (total: 3.5s)

analyze166.0ms (4.8%)

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.2s (34.6%)

Results
1.2s8256×body128valid
0.0msbody128invalid
Compiler

Compiled 64 to 40 computations (37.5% saved)

preprocess36.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)

simplify28.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))

series56.0ms (1.6%)

Counts
4 → 96
Calls

24 calls:

10.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
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
7.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
0
2.0ms
(-.f64 (fma.f64 b (*.f64 b (+.f64 a 3)) (*.f64 a a)) (pow.f64 a 3))
b
-inf

rewrite70.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
302×log1p-udef_binary64
173×add-sqr-sqrt_binary64
171×log1p-expm1-u_binary64
171×expm1-log1p-u_binary64
169×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01674
136174
2467674
Stop Event
node limit
Counts
4 → 114

simplify53.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

prune187.0ms (5.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1613164
Fresh101
Picked101
Done000
Total1633166
Error
0b
Counts
166 → 3
Alt Table
StatusErrorProgram
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
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))
Compiler

Compiled 4873 to 3010 computations (38.2% saved)

localize22.0ms (0.6%)

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))

series32.0ms (0.9%)

Counts
4 → 0
Calls

21 calls:

3.0ms
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
a
inf
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 a (pow.f64 b 2))
a
-inf
2.0ms
(*.f64 4 (*.f64 a (pow.f64 b 2)))
a
inf

rewrite46.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
124631
2272731
Stop Event
node limit
Counts
4 → 73

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
73 → 73

prune120.0ms (3.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New73073
Fresh022
Picked011
Done000
Total73376
Error
0b
Counts
76 → 3
Alt Table
StatusErrorProgram
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
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))
Compiler

Compiled 3679 to 2809 computations (23.6% saved)

localize5.0ms (0.1%)

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))

series6.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

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
(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

rewrite44.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
568×log1p-expm1-u_binary64
568×expm1-log1p-u_binary64
283×log-prod_binary64
168×pow2_binary64
119×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
113620
2151620
Stop Event
node limit
Counts
2 → 66

simplify25.0ms (0.7%)

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
90 → 78

prune70.0ms (2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New78078
Fresh011
Picked011
Done011
Total78381
Error
0b
Counts
81 → 3
Alt Table
StatusErrorProgram
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
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))
Compiler

Compiled 1130 to 733 computations (35.1% saved)

localize16.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))

series113.0ms (3.3%)

Counts
2 → 48
Calls

12 calls:

39.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
13.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
13.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
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)
a
0
9.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
0

rewrite69.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
315×log1p-udef_binary64
181×add-sqr-sqrt_binary64
181×log1p-expm1-u_binary64
181×expm1-log1p-u_binary64
178×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01869
139769
2495269
Stop Event
node limit
Counts
2 → 53

simplify53.0ms (1.5%)

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

prune234.0ms (6.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1740174
Fresh000
Picked011
Done022
Total1743177
Error
0b
Counts
177 → 3
Alt Table
StatusErrorProgram
12.2b
(fma.f64 b (*.f64 b (fma.f64 b b 12)) -1)
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))
Compiler

Compiled 7541 to 5134 computations (31.9% saved)

regimes675.0ms (19.5%)

Accuracy

Total 0.0b remaining (40.1%)

Threshold costs 0.0b (40.1%)

Counts
125 → 1
Compiler

Compiled 13866 to 10090 computations (27.2% 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

end110.0ms (3.2%)

Stop Event
done
Compiler

Compiled 138 to 101 computations (26.8% saved)

Profiling

Loading profile data...