\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 r103189 = a;
double r103190 = 1.0;
double r103191 = 3.0;
double r103192 = r103190 / r103191;
double r103193 = r103189 - r103192;
double r103194 = 9.0;
double r103195 = r103194 * r103193;
double r103196 = sqrt(r103195);
double r103197 = r103190 / r103196;
double r103198 = rand;
double r103199 = r103197 * r103198;
double r103200 = r103190 + r103199;
double r103201 = r103193 * r103200;
return r103201;
}
double f(double a, double rand) {
double r103202 = a;
double r103203 = 1.0;
double r103204 = 3.0;
double r103205 = r103203 / r103204;
double r103206 = r103202 - r103205;
double r103207 = rand;
double r103208 = r103203 * r103207;
double r103209 = 9.0;
double r103210 = r103209 * r103206;
double r103211 = sqrt(r103210);
double r103212 = r103208 / r103211;
double r103213 = r103203 + r103212;
double r103214 = r103206 * r103213;
return r103214;
}



Bits error versus a



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