Details

Time bar (total: 4.7s)

analyze380.0ms (8.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 43 to 31 computations (27.9% saved)

sample2.2s (46%)

Results
1.0s3929×body256valid
583.0ms1503×body512valid
407.0ms2824×body128valid
130.0ms920×body128invalid
Compiler

Compiled 86 to 62 computations (27.9% saved)

preprocess42.0ms (0.9%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
685×div-sub_binary64
295×fma-neg_binary64
210×associate-/l*_binary64
209×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038104
19988
222088
344588
476388
5125688
6223088
7445088
033
Stop Event
saturated
node limit
Compiler

Compiled 20 to 14 computations (30% saved)

simplify34.0ms (0.7%)

Algorithm
egg-herbie
Rules
763×fma-neg_binary64
619×times-frac_binary64
367×fma-def_binary64
242×distribute-rgt-in_binary64
239×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
27222
316322
426722
543622
674722
7133522
8268922
9408622
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
53.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
53.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
Compiler

Compiled 111 to 75 computations (32.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
0.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
0.1b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
27.1b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))

series127.0ms (2.7%)

Counts
4 → 96
Calls

36 calls:

10.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
a
inf
10.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
a
-inf
9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
c
inf
8.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
c
-inf
5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
a
inf

rewrite77.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
278×log1p-udef_binary64
166×add-sqr-sqrt_binary64
162×log1p-expm1-u_binary64
162×expm1-log1p-u_binary64
161×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01574
134262
2486562
Stop Event
node limit
Counts
4 → 158

simplify49.0ms (1%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
467×associate-/l*_binary64
432×fma-def_binary64
423×associate-/r*_binary64
142×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212241
14022164
214052078
Stop Event
node limit
Counts
254 → 232

prune152.0ms (3.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2284232
Fresh011
Picked011
Done000
Total2286234
Error
0.2b
Counts
234 → 6
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
5.9b
(/.f64 (neg.f64 c) b)
2.0b
(/.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (*.f64 2 a))
53.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
52.7b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
1.7b
(-.f64 (*.f64 -2 (/.f64 a (/.f64 (pow.f64 b 5) (*.f64 a (pow.f64 c 3))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
Compiler

Compiled 6120 to 3777 computations (38.3% saved)

localize25.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 a (pow.f64 c 3))
0.3b
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
0.4b
(/.f64 (pow.f64 a 3) (pow.f64 b 7))
0.4b
(/.f64 (*.f64 c c) (pow.f64 b 3))

series166.0ms (3.5%)

Counts
4 → 84
Calls

27 calls:

14.0ms
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
a
-inf
12.0ms
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
a
0
12.0ms
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
c
inf
11.0ms
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
a
inf
11.0ms
(*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4))
c
-inf

rewrite62.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
285×log1p-udef_binary64
166×add-sqr-sqrt_binary64
164×log1p-expm1-u_binary64
164×expm1-log1p-u_binary64
160×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01743
136943
2453343
Stop Event
node limit
Counts
4 → 115

simplify31.0ms (0.7%)

Algorithm
egg-herbie
Rules
941×times-frac_binary64
642×associate-/l*_binary64
397×associate-*l*_binary64
329×associate-*r*_binary64
311×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018984
150984
2146984
3638984
Stop Event
node limit
Counts
199 → 121

prune194.0ms (4.1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1210121
Fresh044
Picked011
Done011
Total1216127
Error
0.2b
Counts
127 → 6
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
5.9b
(/.f64 (neg.f64 c) b)
2.0b
(/.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (*.f64 2 a))
53.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
52.7b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
1.7b
(-.f64 (*.f64 -2 (/.f64 a (/.f64 (pow.f64 b 5) (*.f64 a (pow.f64 c 3))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
Compiler

Compiled 5396 to 3444 computations (36.2% saved)

localize32.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
0.3b
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
0.4b
(*.f64 (pow.f64 c 2) (pow.f64 a 2))
0.4b
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))

series128.0ms (2.7%)

Counts
4 → 0
Calls

27 calls:

12.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
c
-inf
12.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
c
0
11.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
a
inf
11.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
a
-inf
10.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
a
0

rewrite61.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
280×log1p-udef_binary64
178×log1p-expm1-u_binary64
178×expm1-log1p-u_binary64
171×add-sqr-sqrt_binary64
169×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01934
141834
2467334
Stop Event
node limit
Counts
4 → 92

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
92 → 92

prune181.0ms (3.9%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New91192
Fresh033
Picked101
Done022
Total92698
Error
0.2b
Counts
98 → 6
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
2.1b
(/.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (cbrt.f64 (pow.f64 (*.f64 c a) 6)) (pow.f64 b 3))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (*.f64 2 a))
5.9b
(/.f64 (neg.f64 c) b)
53.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
52.7b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
1.7b
(-.f64 (*.f64 -2 (/.f64 a (/.f64 (pow.f64 b 5) (*.f64 a (pow.f64 c 3))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
Compiler

Compiled 5400 to 3803 computations (29.6% saved)

localize70.0ms (1.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
0.4b
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
1.2b
(pow.f64 (*.f64 c a) 6)
2.2b
(cbrt.f64 (pow.f64 (*.f64 c a) 6))

series28.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

4.0ms
(pow.f64 (*.f64 c a) 6)
c
-inf
3.0ms
(pow.f64 (*.f64 c a) 6)
a
-inf
3.0ms
(pow.f64 (*.f64 c a) 6)
c
inf
3.0ms
(pow.f64 (*.f64 c a) 6)
a
inf
3.0ms
(pow.f64 (*.f64 c a) 6)
a
0

rewrite36.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
570×log1p-expm1-u_binary64
570×expm1-log1p-u_binary64
309×log-prod_binary64
170×pow2_binary64
117×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0716
114614
2166914
Stop Event
node limit
Counts
2 → 56

simplify78.0ms (1.7%)

Algorithm
egg-herbie
Rules
571×sqr-pow_binary64
510×associate-*l*_binary64
432×associate-*r*_binary64
372×cube-prod_binary64
318×pow-sqr_binary64
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
011480
127480
271480
3292480
41919480
52129480
62486480
72839480
83274408
93809408
104508336
Stop Event
node limit
Counts
104 → 58

prune185.0ms (3.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1180118
Fresh033
Picked011
Done022
Total1186124
Error
0.2b
Counts
124 → 6
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
2.1b
(/.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (cbrt.f64 (pow.f64 (*.f64 c a) 6)) (pow.f64 b 3))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (*.f64 2 a))
5.9b
(/.f64 (neg.f64 c) b)
53.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
52.7b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
1.7b
(-.f64 (*.f64 -2 (/.f64 a (/.f64 (pow.f64 b 5) (*.f64 a (pow.f64 c 3))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
Compiler

Compiled 6792 to 4664 computations (31.3% saved)

regimes220.0ms (4.7%)

Accuracy

Total 1.2b remaining (84.4%)

Threshold costs 0b (0%)

Counts
39 → 1
Compiler

Compiled 6208 to 4502 computations (27.5% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
24×*-commutative_binary64
22×+-commutative_binary64
19×sub-neg_binary64
19×neg-sub0_binary64
19×neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03063
14561
26461
39161
412161
515461
617661
718961
819361
Stop Event
saturated

end151.0ms (3.2%)

Stop Event
fuel
Compiler

Compiled 262 to 187 computations (28.6% saved)

Profiling

Loading profile data...