Details

Time bar (total: 2.8s)

analyze396.0ms (14.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
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
25%74.9%0.1%8
31.2%64%4.8%9
31.2%42.1%26.7%10
35.9%37.1%27.1%11
38.2%32.2%29.6%12
47.8%21.6%30.6%13
50.2%19%30.8%14
Compiler

Compiled 19 to 9 computations (52.6% saved)

sample894.0ms (31.8%)

Results
827.0ms8256×body128valid
51.0ms464×body128invalid
Compiler

Compiled 38 to 18 computations (52.6% saved)

preprocess21.0ms (0.8%)

Algorithm
egg-herbie
Rules
96×fma-def_binary64
15×*-commutative_binary64
14×associate-+l+_binary64
12×+-commutative_binary64
12×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02380
15160
29944
316244
421244
523044
033
133
Stop Event
unsound
saturated
Symmetry

(sort x y)

Compiler

Compiled 18 to 8 computations (55.6% saved)

simplify11.0ms (0.4%)

Algorithm
egg-herbie
Rules
32×fma-def_binary64
*-commutative_binary64
associate-+l+_binary64
associate-*r*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0920
11715
23411
35711
47511
58111
Stop Event
saturated
Counts
1 → 2

prune3.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.1b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
Compiler

Compiled 84 to 42 computations (50% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z z))
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))

series34.0ms (1.2%)

Counts
3 → 108
Calls

27 calls:

6.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
y
-inf
1.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
x
0
1.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
y
-inf
1.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
x
inf
1.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
x
-inf

rewrite72.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
853×fma-def_binary64
351×fma-neg_binary64
237×egg-rr
197×expm1-udef_binary64
197×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0942
121034
2320634
Stop Event
node limit
Counts
3 → 237

simplify110.0ms (3.9%)

Algorithm
egg-herbie
Rules
775×sqr-pow_binary64
398×fabs-mul_binary64
386×cube-prod_binary64
381×pow-sqr_binary64
242×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013942
127942
251942
388942
4196942
5553942
6769942
71190942
81310942
91443942
101612942
111853942
122168942
132538942
142994942
153575942
164283942
Stop Event
node limit
Counts
345 → 250

prune150.0ms (5.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2464250
Fresh011
Picked101
Done000
Total2475252
Error
0b
Counts
252 → 5
Alt Table
StatusErrorProgram
13.3b
(+.f64 (+.f64 (expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
1.1b
(fma.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) 2) (*.f64 z z))
0.1b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.3b
(+.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y)) (*.f64 z z)) (*.f64 z z))
0.0b
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
Compiler

Compiled 5088 to 1263 computations (75.2% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
0.1b
(fma.f64 z z (*.f64 z (+.f64 z z)))

series17.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

3.0ms
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
x
-inf
1.0ms
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
y
inf
1.0ms
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
y
-inf
1.0ms
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
x
inf
1.0ms
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
x
0

rewrite39.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
677×log1p-expm1-u_binary64
677×expm1-log1p-u_binary64
128×expm1-udef_binary64
128×log1p-udef_binary64
87×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0826
116820
2226720
Stop Event
node limit
Counts
2 → 48

simplify78.0ms (2.8%)

Algorithm
egg-herbie
Rules
605×sqr-pow_binary64
443×associate-*l*_binary64
434×unswap-sqr_binary64
281×cube-prod_binary64
273×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010429
119429
233429
357429
4119429
5320429
61229429
72130429
82294429
92478429
102686429
112978429
123369429
133849429
144408429
Stop Event
node limit
Counts
96 → 53

prune24.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New53053
Fresh044
Picked011
Done000
Total53558
Error
0b
Counts
58 → 5
Alt Table
StatusErrorProgram
13.3b
(+.f64 (+.f64 (expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
1.1b
(fma.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) 2) (*.f64 z z))
0.1b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.3b
(+.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y)) (*.f64 z z)) (*.f64 z z))
0.0b
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
Compiler

Compiled 890 to 529 computations (40.6% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.2b
(*.f64 z (*.f64 z 3))

series18.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

6.0ms
(fma.f64 x y (*.f64 z (*.f64 z 3)))
y
-inf
1.0ms
(fma.f64 x y (*.f64 z (*.f64 z 3)))
x
-inf
1.0ms
(fma.f64 x y (*.f64 z (*.f64 z 3)))
y
inf
1.0ms
(fma.f64 x y (*.f64 z (*.f64 z 3)))
x
inf
1.0ms
(fma.f64 x y (*.f64 z (*.f64 z 3)))
x
0

rewrite42.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
680×log1p-expm1-u_binary64
680×expm1-log1p-u_binary64
200×prod-diff_binary64
144×expm1-udef_binary64
144×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
116018
2186018
Stop Event
node limit
Counts
2 → 38

simplify80.0ms (2.9%)

Algorithm
egg-herbie
Rules
605×sqr-pow_binary64
443×associate-*l*_binary64
434×unswap-sqr_binary64
281×cube-prod_binary64
273×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010429
119429
233429
357429
4119429
5320429
61229429
72130429
82294429
92478429
102686429
112978429
123369429
133849429
144408429
Stop Event
node limit
Counts
86 → 43

prune29.0ms (1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New43043
Fresh033
Picked011
Done011
Total43548
Error
0b
Counts
48 → 5
Alt Table
StatusErrorProgram
13.3b
(+.f64 (+.f64 (expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
1.1b
(fma.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 z z) (*.f64 x y))) 2) (*.f64 z z))
0.1b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.3b
(+.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y)) (*.f64 z z)) (*.f64 z z))
0.0b
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
Compiler

Compiled 684 to 391 computations (42.8% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
0.2b
(*.f64 (cbrt.f64 z) z)
0.5b
(pow.f64 (cbrt.f64 z) 2)
0.7b
(cbrt.f64 z)

series206.0ms (7.3%)

Counts
4 → 28
Calls

18 calls:

27.0ms
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
x
inf
26.0ms
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
y
0
23.0ms
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
x
0
22.0ms
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
y
-inf
22.0ms
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y))
y
inf

rewrite52.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
764×log1p-expm1-u_binary64
764×expm1-log1p-u_binary64
338×prod-diff_binary64
96×add-sqr-sqrt_binary64
89×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01033
119925
2229925
Stop Event
node limit
Counts
4 → 82

simplify61.0ms (2.2%)

Algorithm
egg-herbie
Rules
783×sqr-pow_binary64
434×unswap-sqr_binary64
354×cube-prod_binary64
345×fabs-mul_binary64
312×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08184
116184
226184
337184
466184
5154184
6576184
71445184
81629184
91813184
102021184
112308184
122699184
133179184
143740184
154428184
Stop Event
node limit
Counts
110 → 87

prune88.0ms (3.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1091110
Fresh112
Picked011
Done022
Total1105115
Error
0b
Counts
115 → 5
Alt Table
StatusErrorProgram
0.1b
(+.f64 (+.f64 (fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) z) (*.f64 x y)) (*.f64 z z)) (*.f64 z z))
13.3b
(+.f64 (+.f64 (expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.1b
(fma.f64 x y (*.f64 z (*.f64 z 3)))
0.3b
(+.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 x y)) (*.f64 z z)) (*.f64 z z))
0.0b
(fma.f64 x y (fma.f64 z z (*.f64 z (+.f64 z z))))
Compiler

Compiled 2530 to 829 computations (67.2% saved)

regimes270.0ms (9.6%)

Accuracy

Total 0.0b remaining (79.2%)

Threshold costs 0.0b (79.2%)

Counts
45 → 1
Compiler

Compiled 5497 to 2984 computations (45.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
1915
Stop Event
saturated

end85.0ms (3%)

Stop Event
fuel
Remove

(sort x y)

Compiler

Compiled 146 to 74 computations (49.3% saved)

Profiling

Loading profile data...