Details

Time bar (total: 8.1s)

analyze1.8s (21.9%)

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
3.9%95.8%0.3%11
7.4%92.3%0.3%12
8.8%90.9%0.3%13
10.2%89.5%0.3%14
Compiler

Compiled 24 to 16 computations (33.3% saved)

sample1.4s (17.4%)

Results
1.3s8256×body128valid
53.0ms278×body128invalid
Compiler

Compiled 48 to 32 computations (33.3% saved)

preprocess37.0ms (0.5%)

Algorithm
egg-herbie
Rules
208×fma-def_binary64
68×+-commutative_binary64
50×*-commutative_binary64
41×associate-+l+_binary64
40×associate-+r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
097400
1213400
2352336
3486336
4606336
5642336
066
Stop Event
saturated
saturated
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01625
12925
24221
35421
46421
56821
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
16.5b
(/.f64 (+.f64 x (/.f64 (*.f64 y z) t)) (+.f64 (+.f64 a 1) (/.f64 (*.f64 y b) t)))
14.9b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
Compiler

Compiled 126 to 78 computations (38.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 a (fma.f64 y (/.f64 b t) 1))
1.7b
(fma.f64 y (/.f64 b t) 1)
2.9b
(fma.f64 y (/.f64 z t) x)
11.6b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))

series199.0ms (2.5%)

Counts
4 → 204
Calls

51 calls:

20.0ms
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
b
inf
16.0ms
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
b
-inf
14.0ms
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
a
inf
12.0ms
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
z
0
11.0ms
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
a
-inf

rewrite72.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
633×prod-diff_binary64
153×add-sqr-sqrt_binary64
142×add-cbrt-cube_binary64
142×log1p-expm1-u_binary64
142×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01448
129648
2411348
Stop Event
node limit
Counts
4 → 116

simplify101.0ms (1.2%)

Algorithm
egg-herbie
Rules
733×times-frac_binary64
509×associate-/l*_binary64
394×associate-/r*_binary64
229×associate-*r*_binary64
220×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03568483
114388094
Stop Event
node limit
Counts
320 → 191

prune226.0ms (2.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1829191
Fresh101
Picked101
Done000
Total1849193
Error
0.0b
Counts
193 → 9
Alt Table
StatusErrorProgram
14.9b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (+.f64 1 (/.f64 y (/.f64 t b)))))
15.6b
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))) 2))
43.0b
(/.f64 z b)
31.3b
(/.f64 (fma.f64 y (/.f64 z t) x) (*.f64 (-.f64 (*.f64 a a) (pow.f64 (fma.f64 y (/.f64 b t) 1) 2)) (/.f64 1 (-.f64 a (fma.f64 y (/.f64 b t) 1)))))
42.4b
(-.f64 (+.f64 (/.f64 z b) (/.f64 (*.f64 t x) (*.f64 y b))) (+.f64 (/.f64 (*.f64 t z) (*.f64 y (pow.f64 b 2))) (/.f64 (*.f64 a (*.f64 t z)) (*.f64 y (pow.f64 b 2)))))
37.9b
(*.f64 (/.f64 y t) (/.f64 z (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
13.8b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.3b
(+.f64 (/.f64 (*.f64 y z) (*.f64 (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t))) t)) (/.f64 x (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t)))))
15.5b
(/.f64 (+.f64 (/.f64 (*.f64 y z) t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
Compiler

Compiled 9208 to 4376 computations (52.5% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.1b
(/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b)))
3.1b
(/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b)))
3.2b
(*.f64 (/.f64 y t) b)
10.1b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))

series381.0ms (4.7%)

Counts
4 → 216
Calls

54 calls:

23.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
b
-inf
22.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
a
inf
21.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
b
inf
21.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
y
-inf
17.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
a
-inf

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
179×add-sqr-sqrt_binary64
168×log1p-expm1-u_binary64
168×expm1-log1p-u_binary64
167×add-cbrt-cube_binary64
164×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01677
135269
Stop Event
node limit
Counts
4 → 114

simplify151.0ms (1.9%)

Algorithm
egg-herbie
Rules
642×associate-/l*_binary64
519×associate-/r*_binary64
282×fma-def_binary64
258×associate-*r*_binary64
225×associate-*l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045014399
1175313747
Stop Event
node limit
Counts
330 → 232

prune347.0ms (4.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2544258
Fresh448
Picked101
Done000
Total2598267
Error
0.0b
Counts
267 → 8
Alt Table
StatusErrorProgram
13.8b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
39.9b
(/.f64 (+.f64 (/.f64 (*.f64 t x) y) z) b)
14.9b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (+.f64 1 (/.f64 y (/.f64 t b)))))
13.8b
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.6b
(pow.f64 (cbrt.f64 (fma.f64 (/.f64 y (fma.f64 (/.f64 y t) b (+.f64 1 a))) (/.f64 z t) (/.f64 x (fma.f64 (/.f64 y t) b (+.f64 1 a))))) 3)
37.9b
(*.f64 (/.f64 y t) (/.f64 z (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.3b
(+.f64 (/.f64 (*.f64 y z) (*.f64 (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t))) t)) (/.f64 x (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t)))))
15.5b
(/.f64 (+.f64 (/.f64 (*.f64 y z) t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
Compiler

Compiled 13955 to 6701 computations (52% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b)))
3.2b
(*.f64 (/.f64 y t) b)
3.4b
(/.f64 b (/.f64 t y))
10.1b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))

series216.0ms (2.7%)

Counts
2 → 108
Calls

27 calls:

19.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
b
-inf
19.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
b
inf
15.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
a
inf
14.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
y
-inf
14.0ms
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
a
-inf

rewrite38.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
195×add-sqr-sqrt_binary64
183×log1p-expm1-u_binary64
183×expm1-log1p-u_binary64
182×add-cbrt-cube_binary64
179×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01945
144341
Stop Event
node limit
Counts
2 → 54

simplify104.0ms (1.3%)

Algorithm
egg-herbie
Rules
720×times-frac_binary64
498×associate-/l*_binary64
389×associate-/r*_binary64
226×associate-*r*_binary64
198×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03307493
113237095
Stop Event
node limit
Counts
162 → 114

prune270.0ms (3.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2030203
Fresh077
Picked011
Done000
Total2038211
Error
0.0b
Counts
211 → 8
Alt Table
StatusErrorProgram
13.8b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
39.9b
(/.f64 (+.f64 (/.f64 (*.f64 t x) y) z) b)
14.9b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (+.f64 1 (/.f64 y (/.f64 t b)))))
13.8b
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.6b
(pow.f64 (cbrt.f64 (fma.f64 (/.f64 y (fma.f64 (/.f64 y t) b (+.f64 1 a))) (/.f64 z t) (/.f64 x (fma.f64 (/.f64 y t) b (+.f64 1 a))))) 3)
37.9b
(*.f64 (/.f64 y t) (/.f64 z (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.3b
(+.f64 (/.f64 (*.f64 y z) (*.f64 (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t))) t)) (/.f64 x (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t)))))
15.5b
(/.f64 (+.f64 (/.f64 (*.f64 y z) t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
Compiler

Compiled 11236 to 5461 computations (51.4% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.1b
(/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b)))
3.1b
(/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y)
3.2b
(*.f64 (/.f64 y t) b)
10.1b
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))

series244.0ms (3%)

Counts
2 → 120
Calls

30 calls:

21.0ms
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
b
-inf
20.0ms
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
b
inf
17.0ms
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
y
inf
16.0ms
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
a
-inf
15.0ms
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
a
inf

rewrite34.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
200×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
01951
142148
Stop Event
node limit
Counts
2 → 49

simplify88.0ms (1.1%)

Algorithm
egg-herbie
Rules
720×times-frac_binary64
498×associate-/l*_binary64
389×associate-/r*_binary64
226×associate-*r*_binary64
198×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03377886
113337488
Stop Event
node limit
Counts
169 → 114

prune271.0ms (3.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2030203
Fresh066
Picked011
Done011
Total2038211
Error
0.0b
Counts
211 → 8
Alt Table
StatusErrorProgram
13.8b
(fma.f64 (/.f64 y (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (/.f64 b (/.f64 t y)))))
39.9b
(/.f64 (+.f64 (/.f64 (*.f64 t x) y) z) b)
14.9b
(/.f64 (fma.f64 y (/.f64 z t) x) (+.f64 a (+.f64 1 (/.f64 y (/.f64 t b)))))
13.8b
(fma.f64 (pow.f64 (/.f64 (fma.f64 (/.f64 y t) b (+.f64 1 a)) y) -1) (/.f64 z t) (/.f64 x (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.6b
(pow.f64 (cbrt.f64 (fma.f64 (/.f64 y (fma.f64 (/.f64 y t) b (+.f64 1 a))) (/.f64 z t) (/.f64 x (fma.f64 (/.f64 y t) b (+.f64 1 a))))) 3)
37.9b
(*.f64 (/.f64 y t) (/.f64 z (+.f64 (+.f64 1 a) (*.f64 (/.f64 y t) b))))
14.3b
(+.f64 (/.f64 (*.f64 y z) (*.f64 (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t))) t)) (/.f64 x (+.f64 1 (+.f64 a (/.f64 (*.f64 y b) t)))))
15.5b
(/.f64 (+.f64 (/.f64 (*.f64 y z) t) x) (+.f64 a (fma.f64 y (/.f64 b t) 1)))
Compiler

Compiled 11321 to 5635 computations (50.2% saved)

regimes1.8s (22.5%)

Accuracy

Total 6.8b remaining (95.6%)

Threshold costs 0b (0%)

Counts
113 → 4
Compiler

Compiled 24924 to 15480 computations (37.9% saved)

bsearch4.0ms (0.1%)

Algorithm
left-value
Calls

3 calls:

0.0ms
(/.f64 (+.f64 x (/.f64 (*.f64 y z) t)) (+.f64 (+.f64 a 1) (/.f64 (*.f64 y b) t)))
0.0ms
(/.f64 (+.f64 x (/.f64 (*.f64 y z) t)) (+.f64 (+.f64 a 1) (/.f64 (*.f64 y b) t)))
0.0ms
(/.f64 (+.f64 x (/.f64 (*.f64 y z) t)) (+.f64 (+.f64 a 1) (/.f64 (*.f64 y b) t)))
Steps
ItersPointRange
#hash((type . real) (value . +inf))
∈ [
#hash((type . real) (value . +inf))
,
#hash((type . real) (value . NaN))
]
3.1471217730532953e+292
∈ [
3.1471217730532953e+292
,
#hash((type . real) (value . +inf))
]
#hash((type . real) (value . -inf))
∈ [
#hash((type . real) (value . -inf))
,
-6.1407303879131084e+296
]
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041170
154170
Stop Event
saturated

end188.0ms (2.3%)

Stop Event
fuel
Compiler

Compiled 453 to 235 computations (48.1% saved)

Profiling

Loading profile data...