Details

Time bar (total: 9.9s)

analyze1.7s (17.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.6%99.1%0.3%11
1.8%98%0.3%12
2.6%97.1%0.3%13
4%95.7%0.3%14
Compiler

Compiled 24 to 15 computations (37.5% saved)

sample1.3s (13.5%)

Results
1.2s8256×body128valid
64.0ms424×body128invalid
Compiler

Compiled 71 to 44 computations (38% saved)

simplify27.0ms (0.3%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
583×fma-def_binary64
508×div-sub_binary64
452×fma-neg_binary64
447×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01523
12521
25021
310521
419521
533421
655921
799021
8215221
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
18.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
18.7b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
Compiler

Compiled 80 to 41 computations (48.8% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 z (-.f64 b y) y)
0.5b
(fma.f64 z (-.f64 t a) (*.f64 x y))
18.1b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))

series165.0ms (1.7%)

Counts
3 → 168
Calls

3 calls:

146.0ms
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
13.0ms
(fma.f64 z (-.f64 t a) (*.f64 x y))
6.0ms
(fma.f64 z (-.f64 b y) y)

rewrite70.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
976×prod-diff_binary64
151×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
142×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
128540
2402040
Stop Event
node limit
Counts
3 → 79
Calls

3 calls:

62.0ms
(fma.f64 z (-.f64 b y) y)
62.0ms
(fma.f64 z (-.f64 t a) (*.f64 x y))
62.0ms
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))

simplify84.0ms (0.9%)

Algorithm
egg-herbie
Rules
768×times-frac_binary64
647×associate-/l*_binary64
486×fma-def_binary64
258×+-commutative_binary64
206×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06117996
124687320
Stop Event
node limit
Counts
247 → 188

prune194.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1808188
Fresh000
Picked011
Done000
Total1809189
Error
0.0b
Counts
189 → 9
Alt Table
StatusErrorProgram
19.5b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) 3))
18.7b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
18.8b
(*.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
39.3b
(*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x)
17.0b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
27.9b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
32.0b
(/.f64 (-.f64 t a) (-.f64 b y))
44.9b
(-.f64 (+.f64 (fma.f64 x z (/.f64 z (/.f64 y t))) x) (+.f64 (*.f64 (/.f64 a y) z) (*.f64 (/.f64 z y) (*.f64 x b))))
30.4b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 x b) (pow.f64 (-.f64 1 z) 2)) (/.f64 a (/.f64 (-.f64 1 z) (/.f64 z y)))))
Compiler

Compiled 9904 to 4131 computations (58.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 x y) (*.f64 z a))
3.6b
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
10.1b
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)
15.9b
(/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))

series162.0ms (1.6%)

Counts
4 → 192
Calls

4 calls:

89.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))
53.0ms
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
11.0ms
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)
8.0ms
(-.f64 (*.f64 x y) (*.f64 z a))

rewrite42.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
198×add-sqr-sqrt_binary64
188×log1p-expm1-u_binary64
188×expm1-log1p-u_binary64
187×add-cbrt-cube_binary64
183×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01661
137855
Stop Event
node limit
Counts
4 → 145
Calls

4 calls:

39.0ms
(-.f64 (*.f64 x y) (*.f64 z a))
39.0ms
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
39.0ms
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)
39.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
819×times-frac_binary64
704×associate-/l*_binary64
374×fma-def_binary64
204×+-commutative_binary64
161×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06017646
123927220
Stop Event
node limit
Counts
337 → 294

prune296.0ms (3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2922294
Fresh347
Picked011
Done011
Total2958303
Error
0.0b
Counts
303 → 8
Alt Table
StatusErrorProgram
18.8b
(*.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
27.6b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (/.f64 x (-.f64 1 z)) (fma.f64 (/.f64 b y) (/.f64 x (/.f64 (pow.f64 (-.f64 1 z) 2) z)) (/.f64 a (*.f64 (-.f64 1 z) (/.f64 y z))))))
19.5b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) 3))
18.7b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
12.9b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x) (*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)))
17.0b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
27.9b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
32.0b
(/.f64 (-.f64 t a) (-.f64 b y))
Compiler

Compiled 15201 to 4920 computations (67.6% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.6b
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
6.2b
(/.f64 y (+.f64 y (*.f64 z (-.f64 b y))))
8.7b
(*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)
10.1b
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)

series79.0ms (0.8%)

Counts
2 → 84
Calls

2 calls:

52.0ms
(*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)
26.0ms
(/.f64 y (+.f64 y (*.f64 z (-.f64 b y))))

rewrite54.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
401×fma-def_binary64
238×expm1-udef_binary64
238×log1p-udef_binary64
196×fma-neg_binary64
130×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01129
124825
2374725
Stop Event
node limit
Counts
2 → 60
Calls

2 calls:

53.0ms
(/.f64 y (+.f64 y (*.f64 z (-.f64 b y))))
53.0ms
(*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
525×times-frac_binary64
394×associate-/l*_binary64
371×associate-/r*_binary64
210×associate-*r*_binary64
168×associate-*l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04344305
116314171
Stop Event
node limit
Counts
144 → 183

prune365.0ms (3.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3112313
Fresh235
Picked101
Done022
Total3147321
Error
0.0b
Counts
321 → 7
Alt Table
StatusErrorProgram
18.8b
(*.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
12.9b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) y) -1) x) (*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)))
27.6b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (/.f64 x (-.f64 1 z)) (fma.f64 (/.f64 b y) (/.f64 x (/.f64 (pow.f64 (-.f64 1 z) 2) z)) (/.f64 a (*.f64 (-.f64 1 z) (/.f64 y z))))))
17.0b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
12.5b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x) (/.f64 a (-.f64 b y))))
18.7b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
27.9b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
Compiler

Compiled 17349 to 5149 computations (70.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x)
3.6b
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
6.2b
(/.f64 y (+.f64 y (*.f64 z (-.f64 b y))))
10.1b
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)

series60.0ms (0.6%)

Counts
1 → 48
Calls

1 calls:

60.0ms
(*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x)

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
395×fma-def_binary64
216×expm1-udef_binary64
216×log1p-udef_binary64
189×log-pow_binary64
187×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
122414
2333914
Stop Event
node limit
Counts
1 → 25
Calls

1 calls:

48.0ms
(*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x)

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
342×times-frac_binary64
300×associate-/l*_binary64
230×fma-neg_binary64
229×unswap-sqr_binary64
208×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02512510
19732252
240992195
Stop Event
node limit
Counts
73 → 88

prune379.0ms (3.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3120312
Fresh044
Picked011
Done022
Total3127319
Error
0.0b
Counts
319 → 7
Alt Table
StatusErrorProgram
18.8b
(*.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
12.9b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) y) -1) x) (*.f64 (/.f64 a (+.f64 y (*.f64 z (-.f64 b y)))) z)))
27.6b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (/.f64 x (-.f64 1 z)) (fma.f64 (/.f64 b y) (/.f64 x (/.f64 (pow.f64 (-.f64 1 z) 2) z)) (/.f64 a (*.f64 (-.f64 1 z) (/.f64 y z))))))
17.0b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
12.5b
(+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (-.f64 (*.f64 (/.f64 y (+.f64 y (*.f64 z (-.f64 b y)))) x) (/.f64 a (-.f64 b y))))
18.7b
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
27.9b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
Compiler

Compiled 15048 to 4904 computations (67.4% saved)

regimes4.3s (43.9%)

Accuracy

Total 2.0b remaining (95.2%)

Threshold costs 0b (0%)

Counts
241 → 4
Compiler

Compiled 64556 to 34795 computations (46.1% saved)

bsearch13.0ms (0.1%)

Compiler

Compiled 23 to 14 computations (39.1% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
059312
178312
298312
3110312
4116312
Stop Event
saturated

end163.0ms (1.6%)

Compiler

Compiled 684 to 252 computations (63.2% saved)

Profiling

Loading profile data...