\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}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)double f(double a, double rand) {
double r94044 = a;
double r94045 = 1.0;
double r94046 = 3.0;
double r94047 = r94045 / r94046;
double r94048 = r94044 - r94047;
double r94049 = 9.0;
double r94050 = r94049 * r94048;
double r94051 = sqrt(r94050);
double r94052 = r94045 / r94051;
double r94053 = rand;
double r94054 = r94052 * r94053;
double r94055 = r94045 + r94054;
double r94056 = r94048 * r94055;
return r94056;
}
double f(double a, double rand) {
double r94057 = a;
double r94058 = 1.0;
double r94059 = 3.0;
double r94060 = r94058 / r94059;
double r94061 = r94057 - r94060;
double r94062 = 9.0;
double r94063 = r94062 * r94061;
double r94064 = sqrt(r94063);
double r94065 = r94058 / r94064;
double r94066 = rand;
double r94067 = r94065 * r94066;
double r94068 = r94058 + r94067;
double r94069 = r94061 * r94068;
return r94069;
}



Bits error versus a



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