\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{\left(\sqrt[3]{9} \cdot \sqrt[3]{9}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{9}} \cdot \sqrt[3]{\sqrt[3]{9}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{9}} \cdot \left(a - \frac{1}{3}\right)\right)\right)}}\right)double f(double a, double rand) {
double r77299 = a;
double r77300 = 1.0;
double r77301 = 3.0;
double r77302 = r77300 / r77301;
double r77303 = r77299 - r77302;
double r77304 = 9.0;
double r77305 = r77304 * r77303;
double r77306 = sqrt(r77305);
double r77307 = r77300 / r77306;
double r77308 = rand;
double r77309 = r77307 * r77308;
double r77310 = r77300 + r77309;
double r77311 = r77303 * r77310;
return r77311;
}
double f(double a, double rand) {
double r77312 = a;
double r77313 = 1.0;
double r77314 = 3.0;
double r77315 = r77313 / r77314;
double r77316 = r77312 - r77315;
double r77317 = rand;
double r77318 = r77313 * r77317;
double r77319 = 9.0;
double r77320 = cbrt(r77319);
double r77321 = r77320 * r77320;
double r77322 = cbrt(r77320);
double r77323 = r77322 * r77322;
double r77324 = r77322 * r77316;
double r77325 = r77323 * r77324;
double r77326 = r77321 * r77325;
double r77327 = sqrt(r77326);
double r77328 = r77318 / r77327;
double r77329 = r77313 + r77328;
double r77330 = r77316 * r77329;
return r77330;
}



Bits error versus a



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