\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 r73875 = a;
double r73876 = 1.0;
double r73877 = 3.0;
double r73878 = r73876 / r73877;
double r73879 = r73875 - r73878;
double r73880 = 9.0;
double r73881 = r73880 * r73879;
double r73882 = sqrt(r73881);
double r73883 = r73876 / r73882;
double r73884 = rand;
double r73885 = r73883 * r73884;
double r73886 = r73876 + r73885;
double r73887 = r73879 * r73886;
return r73887;
}
double f(double a, double rand) {
double r73888 = a;
double r73889 = 1.0;
double r73890 = 3.0;
double r73891 = r73889 / r73890;
double r73892 = r73888 - r73891;
double r73893 = rand;
double r73894 = r73889 * r73893;
double r73895 = 9.0;
double r73896 = r73895 * r73892;
double r73897 = sqrt(r73896);
double r73898 = r73894 / r73897;
double r73899 = r73889 + r73898;
double r73900 = r73892 * r73899;
return r73900;
}



Bits error versus a



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