\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 r75167 = a;
double r75168 = 1.0;
double r75169 = 3.0;
double r75170 = r75168 / r75169;
double r75171 = r75167 - r75170;
double r75172 = 9.0;
double r75173 = r75172 * r75171;
double r75174 = sqrt(r75173);
double r75175 = r75168 / r75174;
double r75176 = rand;
double r75177 = r75175 * r75176;
double r75178 = r75168 + r75177;
double r75179 = r75171 * r75178;
return r75179;
}
double f(double a, double rand) {
double r75180 = a;
double r75181 = 1.0;
double r75182 = 3.0;
double r75183 = r75181 / r75182;
double r75184 = r75180 - r75183;
double r75185 = rand;
double r75186 = r75181 * r75185;
double r75187 = 9.0;
double r75188 = r75187 * r75184;
double r75189 = sqrt(r75188);
double r75190 = r75186 / r75189;
double r75191 = r75181 + r75190;
double r75192 = r75184 * r75191;
return r75192;
}



Bits error versus a



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