Details

Time bar (total: 6.2s)

analyze1.8s (28.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
1.6%98.1%0.3%13
2.3%97.4%0.3%14
Compiler

Compiled 22 to 14 computations (36.4% saved)

sample1.8s (28.4%)

Results
1.2s8256×body128valid
527.0ms3909×body128invalid
Compiler

Compiled 65 to 41 computations (36.9% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
89×fma-def_binary64
24×associate-+l+_binary64
22×associate-+r+_binary64
19×+-commutative_binary64
10×*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01422
12716
26615
312213
415713
516413
616713
716713

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
4.3b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
0.6b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 105 to 60 computations (42.9% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a))
0.0b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
0.0b
(+.f64 x (*.f64 y z))
4.2b
(*.f64 (*.f64 a z) b)

series50.0ms (0.8%)

Counts
4 → 204
Calls

4 calls:

24.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
13.0ms
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a))
8.0ms
(*.f64 (*.f64 a z) b)
5.0ms
(+.f64 x (*.f64 y z))

rewrite92.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
296×expm1-udef_binary64
296×log1p-udef_binary64
162×add-sqr-sqrt_binary64
155×log1p-expm1-u_binary64
155×expm1-log1p-u_binary64
Counts
4 → 136
Calls

4 calls:

89.0ms
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a))
89.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
89.0ms
(+.f64 x (*.f64 y z))
89.0ms
(*.f64 (*.f64 a z) b)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01449
131137
2434137
3523737
000
100

simplify48.0ms (0.8%)

Algorithm
egg-herbie
Rules
86×fma-def_binary64
16×associate-+l+_binary64
14×associate-+r+_binary64
13×+-commutative_binary64
*-commutative_binary64
Counts
340 → 161
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0291867
1721695
21291693
31681693
41671693

prune114.0ms (1.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1574161
Fresh101
Picked011
Done000
Total1585163
Error
0.0b
Counts
163 → 5
Alt Table
StatusErrorProgram
0.6b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
4.3b
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))
3.0b
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
44.3b
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (*.f64 (*.f64 (*.f64 a z) b) (-.f64 (*.f64 (*.f64 a z) b) (fma.f64 a t (fma.f64 z y x))))) (+.f64 (pow.f64 (*.f64 (*.f64 a z) b) 3) (pow.f64 (fma.f64 a t (fma.f64 z y x)) 3))))
33.9b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
Compiler

Compiled 3564 to 863 computations (75.8% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.9b
(fma.f64 z (fma.f64 a b y) x)

series16.0ms (0.3%)

Counts
1 → 60
Calls

1 calls:

16.0ms
(fma.f64 z (fma.f64 a b y) x)

rewrite46.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
700×log1p-expm1-u_binary64
700×expm1-log1p-u_binary64
149×expm1-udef_binary64
149×log1p-udef_binary64
128×prod-diff_binary64
Counts
1 → 24
Calls

1 calls:

45.0ms
(fma.f64 z (fma.f64 a b y) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089
11579
218119
349889
000
100

simplify18.0ms (0.3%)

Algorithm
egg-herbie
Rules
29×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Counts
84 → 38
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
020576
140486
260486
365486
464486

prune28.0ms (0.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New38038
Fresh033
Picked011
Done011
Total38543
Error
0.0b
Counts
43 → 5
Alt Table
StatusErrorProgram
0.6b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
4.3b
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))
3.0b
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
44.3b
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (*.f64 (*.f64 (*.f64 a z) b) (-.f64 (*.f64 (*.f64 a z) b) (fma.f64 a t (fma.f64 z y x))))) (+.f64 (pow.f64 (*.f64 (*.f64 a z) b) 3) (pow.f64 (fma.f64 a t (fma.f64 z y x)) 3))))
33.9b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
Compiler

Compiled 764 to 255 computations (66.6% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.1b
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))

series23.0ms (0.4%)

Counts
1 → 72
Calls

1 calls:

23.0ms
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))

rewrite78.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
535×log-prod_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
202×prod-diff_binary64
193×pow3_binary64
Counts
1 → 31
Calls

1 calls:

77.0ms
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
121716
2254016
3485016
4500316
000
100

simplify23.0ms (0.4%)

Algorithm
egg-herbie
Rules
86×fma-def_binary64
17×+-commutative_binary64
16×associate-+r+_binary64
16×associate-+l+_binary64
10×*-commutative_binary64
Counts
103 → 56
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030928
172817
2128815
3169815
4167815

prune32.0ms (0.5%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New56056
Fresh022
Picked011
Done022
Total56561
Error
0.0b
Counts
61 → 5
Alt Table
StatusErrorProgram
0.6b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
4.3b
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))
3.0b
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
44.3b
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (*.f64 (*.f64 (*.f64 a z) b) (-.f64 (*.f64 (*.f64 a z) b) (fma.f64 a t (fma.f64 z y x))))) (+.f64 (pow.f64 (*.f64 (*.f64 a z) b) 3) (pow.f64 (fma.f64 a t (fma.f64 z y x)) 3))))
33.9b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
Compiler

Compiled 1034 to 252 computations (75.6% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 (*.f64 a z) b) 2)
4.2b
(*.f64 (*.f64 a z) b)
4.6b
(-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2))
31.5b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))

series624.0ms (10%)

Counts
3 → 180
Calls

3 calls:

509.0ms
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
97.0ms
(-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2))
16.0ms
(pow.f64 (*.f64 (*.f64 a z) b) 2)

rewrite106.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
810×prod-diff_binary64
201×add-sqr-sqrt_binary64
195×log1p-expm1-u_binary64
195×expm1-log1p-u_binary64
188×add-cbrt-cube_binary64
Counts
3 → 176
Calls

3 calls:

99.0ms
(pow.f64 (*.f64 (*.f64 a z) b) 2)
99.0ms
(-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2))
99.0ms
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01978
141252
2466452
3627752
000
100

simplify233.0ms (3.8%)

Algorithm
egg-herbie
Rules
587×associate-+r+_binary64
411×associate-/l*_binary64
314×associate-*r*_binary64
309×fma-def_binary64
216×associate-*r/_binary64
Counts
356 → 342
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0184025251
1570425251

prune517.0ms (8.3%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New3731374
Fresh101
Picked011
Done033
Total3745379
Error
0.0b
Counts
379 → 5
Alt Table
StatusErrorProgram
34.6b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (*.f64 (*.f64 a z) (*.f64 b (*.f64 (*.f64 a z) b)))) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
4.3b
(fma.f64 a (*.f64 z b) (fma.f64 a t (fma.f64 z y x)))
0.6b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
3.0b
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
33.9b
(*.f64 (-.f64 (pow.f64 (fma.f64 a t (fma.f64 z y x)) 2) (pow.f64 (*.f64 (*.f64 a z) b) 2)) (/.f64 1 (-.f64 (fma.f64 a t (fma.f64 z y x)) (*.f64 (*.f64 a z) b))))
Compiler

Compiled 42311 to 14152 computations (66.6% saved)

regimes480.0ms (7.7%)

Accuracy

Total 2.0b remaining (99.5%)

Threshold costs 0b (0%)

Counts
60 → 1
Compiler

Compiled 7644 to 4599 computations (39.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
11216
21216

end87.0ms (1.4%)

Compiler

Compiled 173 to 90 computations (48% saved)

Profiling

Loading profile data...