Octave 3.8, oct_fill_randg

Time bar (total: 1.6s)

analyze20.0ms (1.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%50%0.1%0%50%0%2
0%0%50%0.1%0%50%0%3
50%25%25%0.1%0%50%0%4
50%25%25%0.1%0%50%0%5
66.7%25%12.5%0.1%0%62.4%0%6
66.7%25%12.5%0.1%0%62.4%0%7
80%25%6.2%0.1%0%68.7%0%8
80%25%6.2%0.1%0%68.7%0%9
88.9%25%3.1%0.1%0%71.8%0%10
88.9%25%3.1%0.1%0%71.8%0%11
94.1%25%1.6%0.1%0%73.4%0%12
Compiler

Compiled 23 to 14 computations (39.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 5.0ms (46.2% of total)
ival-div: 3.0ms (27.7% of total)
ival-sub: 1.0ms (9.2% of total)
ival-add: 1.0ms (9.2% of total)
ival-sqrt: 1.0ms (9.2% of total)
const: 0.0ms (0% of total)

sample1.3s (80.4%)

Results
970.0ms8256×256valid
47.0ms563×256invalid
Precisions
Click to see histograms. Total time spent on operations: 770.0ms
ival-add: 271.0ms (35.2% of total)
ival-mult: 215.0ms (27.9% of total)
ival-div: 145.0ms (18.8% of total)
ival-sqrt: 72.0ms (9.3% of total)
ival-sub: 51.0ms (6.6% of total)
const: 16.0ms (2.1% of total)
Bogosity

preprocess140.0ms (8.7%)

Algorithm
egg-herbie
Rules
718×fma-define
613×unsub-neg
412×sub-neg
341×distribute-rgt-in
329×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041424
1113366
2399330
31432322
44615322
56961322
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) (neg.f64 rand))))
(neg.f64 (*.f64 (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand))))
(neg.f64 (*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) (neg.f64 rand)))))
(*.f64 (-.f64 rand (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 rand (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) a)))
Outputs
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 a #s(literal -1/3 binary64)) #s(literal 9 binary64)))) rand)))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (+.f64 (*.f64 #s(literal 9 binary64) a) #s(literal -3 binary64))))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal 9 binary64) #s(literal -3 binary64))))))
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 a #s(literal -1/3 binary64)) #s(literal 9 binary64)))) rand)))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (+.f64 (*.f64 #s(literal 9 binary64) a) #s(literal -3 binary64))))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal 9 binary64) #s(literal -3 binary64))))))
(*.f64 (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (+.f64 (neg.f64 a) #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 rand (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (+.f64 (neg.f64 a) #s(literal -1/3 binary64))))))))
(*.f64 (fma.f64 #s(literal -1 binary64) a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (*.f64 #s(literal 9 binary64) (fma.f64 #s(literal -1 binary64) a #s(literal -1/3 binary64)))))))
(*.f64 (-.f64 #s(literal -1/3 binary64) a) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (+.f64 #s(literal -3 binary64) (*.f64 a #s(literal -9 binary64)))))))
(*.f64 (-.f64 #s(literal -1/3 binary64) a) (+.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal -9 binary64) #s(literal -3 binary64))))))
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) (neg.f64 rand))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 a #s(literal -1/3 binary64)) #s(literal 9 binary64)))) (neg.f64 rand))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (-.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (+.f64 (*.f64 #s(literal 9 binary64) a) #s(literal -3 binary64))))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (-.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal 9 binary64) #s(literal -3 binary64))))))
(*.f64 (-.f64 #s(literal 1/3 binary64) a) (+.f64 (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal 9 binary64) #s(literal -3 binary64)))) #s(literal -1 binary64)))
(neg.f64 (*.f64 (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 (neg.f64 a) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand))))
(*.f64 (+.f64 (neg.f64 a) #s(literal -1/3 binary64)) (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 rand (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (+.f64 (neg.f64 a) #s(literal -1/3 binary64)))))))))
(*.f64 (fma.f64 #s(literal -1 binary64) a #s(literal -1/3 binary64)) (+.f64 #s(literal -1 binary64) (neg.f64 (/.f64 rand (sqrt.f64 (*.f64 #s(literal 9 binary64) (fma.f64 #s(literal -1 binary64) a #s(literal -1/3 binary64))))))))
(*.f64 (-.f64 #s(literal -1/3 binary64) a) (-.f64 #s(literal -1 binary64) (/.f64 rand (sqrt.f64 (+.f64 #s(literal -3 binary64) (*.f64 a #s(literal -9 binary64)))))))
(*.f64 (-.f64 #s(literal -1/3 binary64) a) (-.f64 #s(literal -1 binary64) (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal -9 binary64) #s(literal -3 binary64))))))
(neg.f64 (*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) (neg.f64 rand)))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 a #s(literal -1/3 binary64)) #s(literal 9 binary64)))) (neg.f64 rand)))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (neg.f64 (-.f64 #s(literal 1 binary64) (/.f64 rand (sqrt.f64 (+.f64 (*.f64 #s(literal 9 binary64) a) #s(literal -3 binary64)))))))
(*.f64 (+.f64 a #s(literal -1/3 binary64)) (+.f64 (/.f64 rand (sqrt.f64 (fma.f64 a #s(literal 9 binary64) #s(literal -3 binary64)))) #s(literal -1 binary64)))
(*.f64 (-.f64 rand (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 rand (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) a)))
(*.f64 (+.f64 rand #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 a (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (+.f64 rand #s(literal -1/3 binary64))))))))
(*.f64 (+.f64 rand #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 a (sqrt.f64 (+.f64 (*.f64 rand #s(literal 9 binary64)) #s(literal -3 binary64))))))
(*.f64 (+.f64 rand #s(literal -1/3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 a (sqrt.f64 (fma.f64 #s(literal 9 binary64) rand #s(literal -3 binary64))))))

explain132.0ms (8.2%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
50-0-(sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
00-0-(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
00-0-(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)
00-0-(-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
00-0-(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
00-0-(*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
00-0-#s(literal 9 binary64)
00-0-#s(literal 3 binary64)
00-0-#s(literal 1 binary64)
00-0-rand
00-0-(/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
00-0-(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand))
00-0-a
Results
59.0ms488×256valid
6.0ms20×1024valid
4.0ms8192exit
Compiler

Compiled 196 to 41 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-mult: 14.0ms (39.9% of total)
ival-div: 9.0ms (25.7% of total)
ival-sqrt: 5.0ms (14.3% of total)
ival-sub: 3.0ms (8.6% of total)
ival-add: 3.0ms (8.6% of total)
const: 1.0ms (2.9% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
Compiler

Compiled 44 to 26 computations (40.9% saved)

simplify3.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02056
13156
23556
33756
43856
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
Outputs
(*.f64 (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 9 binary64) (-.f64 a (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) rand)))
(*.f64 (-.f64 a #s(literal 1/3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (-.f64 a #s(literal 1/3 binary64)) #s(literal 9 binary64)))) rand)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 18 to 12 computations (33.3% saved)

preprocess20.0ms (1.2%)

Compiler

Compiled 80 to 50 computations (37.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...