sqrtexp (problem 3.4.4)

Time bar (total: 2.7s)

analyze182.0ms (6.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
50%50%50%0%0%0%0%4
50%50%50%0%0%0%0%5
53.1%53.1%46.9%0%0%0%0%6
54.7%54.7%45.3%0%0%0%0%7
55.5%55.4%44.5%0%0%0%0%8
55.9%55.8%44.1%0%0%0%0%9
56.1%56%43.9%0%0%0%0%10
56.2%56.1%43.8%0%0%0%0%11
56.2%56.2%43.8%0%0%0%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 98.0ms
ival-exp: 26.0ms (26.6% of total)
ival-div: 22.0ms (22.5% of total)
ival-sub: 18.0ms (18.4% of total)
ival-mult: 18.0ms (18.4% of total)
ival-sqrt: 11.0ms (11.3% of total)
const: 3.0ms (3.1% of total)

sample2.3s (82.9%)

Results
902.0ms2694×1024valid
320.0ms1383×512valid
309.0ms3871×256valid
179.0ms2582×256unsamplable
122.0ms308×2048valid
Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-exp: 706.0ms (48.4% of total)
ival-sub: 225.0ms (15.4% of total)
ival-sqrt: 206.0ms (14.1% of total)
ival-mult: 174.0ms (11.9% of total)
ival-div: 117.0ms (8% of total)
const: 30.0ms (2.1% of total)
Bogosity

preprocess86.0ms (3.2%)

Algorithm
egg-herbie
Rules
612×div-sub
326×associate--r+
307×associate-+l-
283×fma-define
257×associate--l+
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
024144
156136
282136
3128136
422196
540184
680384
7295984
Stop Event
node limit
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 1 binary64)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))))
(neg.f64 (sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 1 binary64)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))))
Outputs
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (expm1.f64 x)))
(sqrt.f64 (*.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 x))))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (exp.f64 x)))
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (expm1.f64 x)))
(sqrt.f64 (*.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 x))))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (exp.f64 x)))
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 1 binary64)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) (expm1.f64 (neg.f64 x))))
(sqrt.f64 (/.f64 (expm1.f64 (*.f64 x #s(literal -2 binary64))) (expm1.f64 (neg.f64 x))))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 x))))
(neg.f64 (sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 1 binary64)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))))
(neg.f64 (sqrt.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x))) (expm1.f64 (neg.f64 x)))))
(neg.f64 (sqrt.f64 (/.f64 (expm1.f64 (*.f64 x #s(literal -2 binary64))) (expm1.f64 (neg.f64 x)))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 x)))))

explain176.0ms (6.5%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1610-0-(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))
1610-0-(-.f64 (exp.f64 x) #s(literal 1 binary64))
00-0-x
00-0-(exp.f64 x)
00-0-(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))
00-0-#s(literal 2 binary64)
00-0-(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
00-0-(*.f64 #s(literal 2 binary64) x)
00-0-#s(literal 1 binary64)
00-0-(exp.f64 (*.f64 #s(literal 2 binary64) x))
Results
68.0ms156×1024valid
25.0ms248×256valid
21.0ms90×512valid
8.0ms18×2048valid
Compiler

Compiled 107 to 32 computations (70.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 81.0ms
ival-exp: 42.0ms (52.1% of total)
ival-sub: 16.0ms (19.8% of total)
ival-mult: 8.0ms (9.9% of total)
ival-sqrt: 7.0ms (8.7% of total)
ival-div: 6.0ms (7.4% of total)
const: 2.0ms (2.5% of total)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
37.4%
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
unsub-neg
sub-neg
1-exp
+-commutative
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01543
12443
22943
33243
43543
53943
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
Outputs
(sqrt.f64 (/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64))))
(sqrt.f64 (/.f64 (+.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal -1 binary64)) (+.f64 (exp.f64 x) #s(literal -1 binary64))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 13 to 10 computations (23.1% saved)

preprocess17.0ms (0.6%)

Compiler

Compiled 52 to 40 computations (23.1% saved)

end0.0ms (0%)

Profiling

Loading profile data...