Octave 3.8, jcobi/1

Time bar (total: 1.8s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%56.2%43.8%0%0%0%0
100%56.2%0%43.8%0%0%0%1
Compiler

Compiled 22 to 14 computations (36.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-sub: 0.0ms (0% of total)
ival-div: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
const: 0.0ms (0% of total)
ival->: 0.0ms (0% of total)

sample1.2s (68.4%)

Results
581.0ms6478×256valid
242.0ms1058×1024valid
92.0ms632×512valid
24.0ms88×2048valid
Precisions
Click to see histograms. Total time spent on operations: 637.0ms
ival-add: 209.0ms (32.8% of total)
ival-div: 177.0ms (27.8% of total)
ival->: 134.0ms (21% of total)
ival-sub: 87.0ms (13.7% of total)
const: 16.0ms (2.5% of total)
ival-and: 13.0ms (2% of total)
Bogosity

preprocess419.0ms (23.6%)

Algorithm
egg-herbie
Rules
3066×fma-neg
537×div-sub
410×sub-neg
350×associate-/r*
332×distribute-rgt-in
Iterations

Useful iterations: 15 (0.0ms)

IterNodesCost
038359
196351
2204351
3534343
41351343
53461343
66068343
76956343
87145343
97181343
107228343
117228343
127435343
137550343
147552343
157552315
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 (+.f64 (neg.f64 alpha) beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 (+.f64 alpha (neg.f64 beta)) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(neg.f64 (/.f64 (+.f64 (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 (+.f64 (neg.f64 alpha) beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64)))
(neg.f64 (/.f64 (+.f64 (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 (+.f64 alpha (neg.f64 beta)) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64)))
(/.f64 (+.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
Outputs
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 beta (+.f64 alpha #s(literal 2 binary64)))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(-.f64 (/.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 1/2 binary64)))
(fma.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 beta (+.f64 alpha #s(literal 2 binary64)))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(-.f64 (/.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 1/2 binary64)))
(fma.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 (+.f64 (neg.f64 alpha) beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 #s(literal 2 binary64) (-.f64 beta alpha)))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 2 binary64) (-.f64 beta alpha)))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (-.f64 beta (+.f64 alpha #s(literal -2 binary64))))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (+.f64 beta (-.f64 #s(literal 2 binary64) alpha)))) #s(literal 2 binary64))
(+.f64 (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -2 binary64) (-.f64 alpha beta)))) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (+.f64 beta alpha) #s(literal 2 binary64)) (+.f64 beta (-.f64 #s(literal 2 binary64) alpha))))
(+.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (+.f64 beta alpha) #s(literal -1/2 binary64)) (+.f64 alpha (-.f64 #s(literal -2 binary64) beta))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 beta alpha) (fma.f64 #s(literal 2 binary64) (-.f64 alpha beta) #s(literal -4 binary64))))
(/.f64 (+.f64 (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 (+.f64 alpha (neg.f64 beta)) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta)))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 alpha (-.f64 #s(literal 2 binary64) beta)))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta)))) #s(literal 2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta))) #s(literal -1/2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 beta alpha) (/.f64 #s(literal 1/2 binary64) (+.f64 beta (-.f64 #s(literal -2 binary64) alpha)))))
(fma.f64 (+.f64 beta alpha) (/.f64 #s(literal 1/2 binary64) (+.f64 beta (-.f64 #s(literal -2 binary64) alpha))) #s(literal 1/2 binary64))
(neg.f64 (/.f64 (+.f64 (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 (+.f64 (neg.f64 alpha) beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 beta (neg.f64 alpha)) (+.f64 #s(literal 2 binary64) (-.f64 beta alpha)))) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 2 binary64) (-.f64 beta alpha)))) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 beta alpha) (-.f64 beta (+.f64 alpha #s(literal -2 binary64))))) #s(literal -2 binary64))
(-.f64 #s(literal -1/2 binary64) (/.f64 (/.f64 (+.f64 beta alpha) (+.f64 beta (-.f64 #s(literal 2 binary64) alpha))) #s(literal 2 binary64)))
(+.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (+.f64 beta alpha) (+.f64 beta (-.f64 #s(literal 2 binary64) alpha))) #s(literal -1/2 binary64)))
(+.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 beta alpha) (/.f64 #s(literal 1/2 binary64) (+.f64 alpha (-.f64 #s(literal -2 binary64) beta)))))
(+.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 beta alpha) (fma.f64 #s(literal 2 binary64) (-.f64 alpha beta) #s(literal -4 binary64))))
(neg.f64 (/.f64 (+.f64 (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 (+.f64 alpha (neg.f64 beta)) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta)))) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (neg.f64 beta) alpha) (+.f64 alpha (-.f64 #s(literal 2 binary64) beta)))) #s(literal -2 binary64))
(-.f64 (/.f64 (/.f64 (+.f64 beta alpha) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (+.f64 beta alpha) (+.f64 beta (-.f64 #s(literal -2 binary64) alpha))) #s(literal -1/2 binary64)))
(+.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 beta alpha) (/.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 2 binary64) (-.f64 alpha beta)))))
(+.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 beta alpha) (fma.f64 #s(literal 2 binary64) (-.f64 alpha beta) #s(literal 4 binary64))))
(/.f64 (+.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 alpha beta) (+.f64 beta (+.f64 alpha #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64)))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta))) #s(literal 2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal -1/2 binary64)))
(fma.f64 (/.f64 (-.f64 alpha beta) (-.f64 (-.f64 #s(literal -2 binary64) alpha) beta)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))

explain115.0ms (6.5%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
830-0-(+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64))
00-0-(-.f64 beta alpha)
00-0-(/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64)))
00-0-#s(literal 2 binary64)
00-0-(+.f64 (+.f64 alpha beta) #s(literal 2 binary64))
00-0-alpha
00-0-(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
00-0-#s(literal 1 binary64)
00-0-(+.f64 alpha beta)
00-0-beta
Results
30.0ms364×256valid
22.0ms90×1024valid
9.0ms50×512valid
3.0ms2048valid
Compiler

Compiled 117 to 32 computations (72.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-add: 12.0ms (41.8% of total)
ival-div: 10.0ms (34.8% of total)
ival-sub: 5.0ms (17.4% of total)
const: 1.0ms (3.5% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune5.0ms (0.3%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
70.1%
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
Compiler

Compiled 30 to 20 computations (33.3% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01549
12649
23049
33249
43349
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
Outputs
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 beta alpha) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 2 binary64))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 15 to 10 computations (33.3% saved)

preprocess19.0ms (1.1%)

Compiler

Compiled 60 to 40 computations (33.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...