\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1 \cdot rand}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}\right)double f(double a, double rand) {
double r76034 = a;
double r76035 = 1.0;
double r76036 = 3.0;
double r76037 = r76035 / r76036;
double r76038 = r76034 - r76037;
double r76039 = 9.0;
double r76040 = r76039 * r76038;
double r76041 = sqrt(r76040);
double r76042 = r76035 / r76041;
double r76043 = rand;
double r76044 = r76042 * r76043;
double r76045 = r76035 + r76044;
double r76046 = r76038 * r76045;
return r76046;
}
double f(double a, double rand) {
double r76047 = a;
double r76048 = 1.0;
double r76049 = 3.0;
double r76050 = r76048 / r76049;
double r76051 = r76047 - r76050;
double r76052 = rand;
double r76053 = r76048 * r76052;
double r76054 = 9.0;
double r76055 = r76054 * r76051;
double r76056 = sqrt(r76055);
double r76057 = r76053 / r76056;
double r76058 = r76048 + r76057;
double r76059 = r76051 * r76058;
return r76059;
}



Bits error versus a



Bits error versus rand
Results
Initial program 0.1
rmApplied associate-*l/0.1
Final simplification0.1
herbie shell --seed 2019322
(FPCore (a rand)
:name "Octave 3.8, oct_fill_randg"
:precision binary64
(* (- a (/ 1 3)) (+ 1 (* (/ 1 (sqrt (* 9 (- a (/ 1 3))))) rand))))