\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}{\frac{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}{1 \cdot rand}}\right)double f(double a, double rand) {
double r66599 = a;
double r66600 = 1.0;
double r66601 = 3.0;
double r66602 = r66600 / r66601;
double r66603 = r66599 - r66602;
double r66604 = 9.0;
double r66605 = r66604 * r66603;
double r66606 = sqrt(r66605);
double r66607 = r66600 / r66606;
double r66608 = rand;
double r66609 = r66607 * r66608;
double r66610 = r66600 + r66609;
double r66611 = r66603 * r66610;
return r66611;
}
double f(double a, double rand) {
double r66612 = a;
double r66613 = 1.0;
double r66614 = 3.0;
double r66615 = r66613 / r66614;
double r66616 = r66612 - r66615;
double r66617 = 1.0;
double r66618 = 9.0;
double r66619 = r66618 * r66616;
double r66620 = sqrt(r66619);
double r66621 = rand;
double r66622 = r66613 * r66621;
double r66623 = r66620 / r66622;
double r66624 = r66617 / r66623;
double r66625 = r66613 + r66624;
double r66626 = r66616 * r66625;
return r66626;
}



Bits error versus a



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