Details

Time bar (total: 2.3s)

analyze95.0ms (4.1%)

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%50%25.1%6
25%31.2%43.8%7
25%21.9%53.2%8
25%14%61%9
28.1%10.9%61%10
31.6%7.4%61%11
33.4%5.7%61%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample916.0ms (39.4%)

Results
900.0ms8256×body128valid
0.0msbody128invalid
Compiler

Compiled 40 to 26 computations (35% saved)

preprocess29.0ms (1.2%)

Algorithm
egg-herbie
Rules
931×fma-def_binary64
495×fma-neg_binary64
420×associate-+l+_binary64
334×associate-+r+_binary64
241×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01846
14842
29942
328842
4113634
5373434
022
Stop Event
saturated
node limit
Compiler

Compiled 19 to 12 computations (36.8% saved)

simplify23.0ms (1%)

Algorithm
egg-herbie
Rules
612×fma-def_binary64
603×associate-*l*_binary64
311×fma-neg_binary64
233×associate-+l+_binary64
216×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01323
13021
26421
319321
477917
5263417
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 59 to 40 computations (32.2% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series58.0ms (2.5%)

Counts
2 → 48
Calls

12 calls:

9.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
b
inf
7.0ms
(pow.f64 (hypot.f64 a b) 4)
a
-inf
5.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
b
-inf
5.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
a
-inf
5.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
a
inf

rewrite50.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
626×prod-diff_binary64
243×fma-def_binary64
181×expm1-udef_binary64
181×log1p-udef_binary64
159×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
121224
2260324
Stop Event
node limit
Counts
2 → 74

simplify43.0ms (1.8%)

Algorithm
egg-herbie
Rules
922×fma-def_binary64
730×fma-neg_binary64
348×unswap-sqr_binary64
321×associate-*l*_binary64
306×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
026983
172939
2211849
3811823
42915823
Stop Event
node limit
Counts
122 → 94

prune105.0ms (4.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New92294
Fresh000
Picked101
Done000
Total93295
Error
0b
Counts
95 → 2
Alt Table
StatusErrorProgram
0.1b
(+.f64 (pow.f64 a 4) (fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1))
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 1872 to 1211 computations (35.3% saved)

localize13.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
0.0b
(*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
3.0b
(*.f64 (pow.f64 a 2) (pow.f64 b 2))

series46.0ms (2%)

Counts
3 → 24
Calls

18 calls:

7.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
b
0
4.0ms
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
a
-inf
3.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
a
0
3.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
a
inf
3.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
a
-inf

rewrite43.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
178×log1p-expm1-u_binary64
178×expm1-log1p-u_binary64
176×add-sqr-sqrt_binary64
174×add-cbrt-cube_binary64
168×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01747
138247
Stop Event
node limit
Counts
3 → 68

simplify31.0ms (1.3%)

Algorithm
egg-herbie
Rules
924×fma-def_binary64
720×fma-neg_binary64
348×unswap-sqr_binary64
328×associate-*l*_binary64
306×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024575
166537
2196471
3782445
42943445
Stop Event
node limit
Counts
92 → 84

prune85.0ms (3.7%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New84084
Fresh011
Picked011
Done000
Total84286
Error
0b
Counts
86 → 2
Alt Table
StatusErrorProgram
0.1b
(+.f64 (pow.f64 a 4) (fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1))
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 2530 to 1769 computations (30.1% saved)

localize10.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)

series16.0ms (0.7%)

Counts
1 → 24
Calls

6 calls:

5.0ms
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)
a
inf
3.0ms
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)
a
-inf
3.0ms
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)
a
0
2.0ms
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)
b
-inf
2.0ms
(fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1)
b
inf

rewrite36.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
823×log1p-expm1-u_binary64
823×expm1-log1p-u_binary64
98×add-sqr-sqrt_binary64
94×add-cbrt-cube_binary64
94×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
121319
2229519
Stop Event
node limit
Counts
1 → 23

simplify27.0ms (1.2%)

Algorithm
egg-herbie
Rules
904×fma-def_binary64
371×fma-neg_binary64
317×*-commutative_binary64
300×unswap-sqr_binary64
288×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
019525
151487
2142413
3491383
41832383
Stop Event
node limit
Counts
47 → 35

prune36.0ms (1.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New35035
Fresh000
Picked011
Done011
Total35237
Error
0b
Counts
37 → 2
Alt Table
StatusErrorProgram
0.1b
(+.f64 (pow.f64 a 4) (fma.f64 (*.f64 b b) (fma.f64 2 (*.f64 a a) (fma.f64 b b 4)) -1))
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 829 to 502 computations (39.4% saved)

regimes575.0ms (24.7%)

Accuracy

Total 0.0b remaining (50%)

Threshold costs 0.0b (50%)

Counts
99 → 1
Compiler

Compiled 11161 to 8073 computations (27.7% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01631
12131
Stop Event
saturated

end75.0ms (3.2%)

Stop Event
done
Compiler

Compiled 94 to 69 computations (26.6% saved)

Profiling

Loading profile data...