\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(\sqrt[3]{9} \cdot \left(a - \frac{1}{3}\right)\right)}}\right)double f(double a, double rand) {
double r74754 = a;
double r74755 = 1.0;
double r74756 = 3.0;
double r74757 = r74755 / r74756;
double r74758 = r74754 - r74757;
double r74759 = 9.0;
double r74760 = r74759 * r74758;
double r74761 = sqrt(r74760);
double r74762 = r74755 / r74761;
double r74763 = rand;
double r74764 = r74762 * r74763;
double r74765 = r74755 + r74764;
double r74766 = r74758 * r74765;
return r74766;
}
double f(double a, double rand) {
double r74767 = a;
double r74768 = 1.0;
double r74769 = 3.0;
double r74770 = r74768 / r74769;
double r74771 = r74767 - r74770;
double r74772 = rand;
double r74773 = r74768 * r74772;
double r74774 = 9.0;
double r74775 = cbrt(r74774);
double r74776 = r74775 * r74775;
double r74777 = r74775 * r74771;
double r74778 = r74776 * r74777;
double r74779 = sqrt(r74778);
double r74780 = r74773 / r74779;
double r74781 = r74768 + r74780;
double r74782 = r74771 * r74781;
return r74782;
}



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
Final simplification0.1
herbie shell --seed 2019198 +o rules:numerics
(FPCore (a rand)
:name "Octave 3.8, oct_fill_randg"
(* (- a (/ 1.0 3.0)) (+ 1.0 (* (/ 1.0 (sqrt (* 9.0 (- a (/ 1.0 3.0))))) rand))))