\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)}}{rand}}\right)double f(double a, double rand) {
double r84147 = a;
double r84148 = 1.0;
double r84149 = 3.0;
double r84150 = r84148 / r84149;
double r84151 = r84147 - r84150;
double r84152 = 9.0;
double r84153 = r84152 * r84151;
double r84154 = sqrt(r84153);
double r84155 = r84148 / r84154;
double r84156 = rand;
double r84157 = r84155 * r84156;
double r84158 = r84148 + r84157;
double r84159 = r84151 * r84158;
return r84159;
}
double f(double a, double rand) {
double r84160 = a;
double r84161 = 1.0;
double r84162 = 3.0;
double r84163 = r84161 / r84162;
double r84164 = r84160 - r84163;
double r84165 = 9.0;
double r84166 = r84165 * r84164;
double r84167 = sqrt(r84166);
double r84168 = rand;
double r84169 = r84167 / r84168;
double r84170 = r84161 / r84169;
double r84171 = r84161 + r84170;
double r84172 = r84164 * r84171;
return r84172;
}



Bits error versus a



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