expq2 (section 3.11)

Time bar (total: 1.9s)

analyze155.0ms (8.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%75.2%24.8%0%0%0%0
0%0%75.2%24.8%0%0%0%1
0%0%75.2%24.8%0%0%0%2
25%18.8%56.4%24.8%0%0%0%3
25%18.8%56.4%24.8%0%0%0%4
31.3%23.5%51.7%24.8%0%0%0%5
34.4%25.8%49.3%24.8%0%0%0%6
37.5%28.2%47%24.8%0%0%0%7
38.3%28.8%46.4%24.8%0%0%0%8
38.7%29.1%46.1%24.8%0%0%0%9
38.9%29.2%46%24.8%0%0%0%10
38.9%29.2%46%24.8%0%0%0%11
38.9%29.2%46%24.8%0%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 54.0ms
ival-exp: 17.0ms (31.8% of total)
ival-sub: 15.0ms (28% of total)
ival->: 11.0ms (20.6% of total)
ival-div: 7.0ms (13.1% of total)
const: 2.0ms (3.7% of total)
backward-pass: 1.0ms (1.9% of total)

sample1.4s (73.8%)

Results
1.0s5390×1valid
140.0ms2866×0valid
Precisions
Click to see histograms. Total time spent on operations: 897.0ms
ival-exp: 447.0ms (49.9% of total)
ival->: 145.0ms (16.2% of total)
ival-sub: 135.0ms (15.1% of total)
ival-div: 96.0ms (10.7% of total)
backward-pass: 60.0ms (6.7% of total)
const: 14.0ms (1.6% of total)
Bogosity

preprocess146.0ms (7.7%)

Algorithm
egg-herbie
Rules
1206×fmm-def
743×div-sub
528×fma-define
226×distribute-lft-neg-in
214×associate-+r-
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
015104
135102
256102
394102
415376
529268
646968
783664
8213564
9357864
10459564
11559464
12668164
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))
(neg.f64 (/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))))
Outputs
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (exp.f64 x) (expm1.f64 x))
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (exp.f64 x) (expm1.f64 x))
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
(/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))
(/.f64 (exp.f64 (neg.f64 x)) (expm1.f64 (neg.f64 x)))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (exp.f64 x)))
(/.f64 #s(literal 1 binary64) (neg.f64 (expm1.f64 x)))
(/.f64 #s(literal -1 binary64) (expm1.f64 x))
(neg.f64 (/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))))
(/.f64 (exp.f64 (neg.f64 x)) (neg.f64 (expm1.f64 (neg.f64 x))))
(/.f64 (/.f64 #s(literal -1 binary64) (exp.f64 x)) (expm1.f64 (neg.f64 x)))
(/.f64 #s(literal -1 binary64) (*.f64 (exp.f64 x) (expm1.f64 (neg.f64 x))))
(/.f64 #s(literal 1 binary64) (expm1.f64 x))

explain100.0ms (5.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1730-0-(-.f64 (exp.f64 x) #s(literal 1 binary64))
00-0-x
00-0-(exp.f64 x)
00-0-#s(literal 1 binary64)
00-0-(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
Results
52.0ms336×1valid
9.0ms176×0valid
Compiler

Compiled 42 to 17 computations (59.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-exp: 22.0ms (58% of total)
ival-div: 5.0ms (13.2% of total)
ival-sub: 5.0ms (13.2% of total)
backward-pass: 5.0ms (13.2% of total)
const: 1.0ms (2.6% of total)

eval0.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (exp.f64 x) (expm1.f64 x))
100.0%
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
Compiler

Compiled 12 to 9 computations (25% saved)

simplify11.0ms (0.6%)

Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(expm1.f64 x)
cost-diff0
(exp.f64 x)
cost-diff0
(/.f64 (exp.f64 x) (expm1.f64 x))
cost-diff0
(neg.f64 x)
cost-diff0
(expm1.f64 (neg.f64 x))
cost-diff0
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
Rules
sub-neg
exp-diff
fmm-def
exp-sum
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01384
12084
23384
33984
44784
55484
66184
76984
87784
98384
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
#s(literal -1 binary64)
(expm1.f64 (neg.f64 x))
(neg.f64 x)
x
(/.f64 (exp.f64 x) (expm1.f64 x))
(exp.f64 x)
x
(expm1.f64 x)
Outputs
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x)))
#s(literal -1 binary64)
(expm1.f64 (neg.f64 x))
(neg.f64 x)
x
(/.f64 (exp.f64 x) (expm1.f64 x))
(exp.f64 x)
x
(expm1.f64 x)

localize85.0ms (4.4%)

Results
67.0ms139×5exit
7.0ms71×0valid
Compiler

Compiled 24 to 9 computations (62.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
backward-pass: 32.0ms (66.3% of total)
compiled-spec: 6.0ms (12.4% of total)
ival-exp: 4.0ms (8.3% of total)
ival-div: 2.0ms (4.1% of total)
ival-sub: 2.0ms (4.1% of total)
const: 1.0ms (2.1% of total)
ival-neg: 1.0ms (2.1% of total)

end0.0ms (0%)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
backward-pass: 5.0ms (55.3% of total)
compiled-spec: 5.0ms (55.3% of total)

Profiling

Loading profile data...