Average Error: 0.1 → 0.1
Time: 12.4s
Precision: 64
\[\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}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\]
\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}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)
double f(double a, double rand) {
        double r94044 = a;
        double r94045 = 1.0;
        double r94046 = 3.0;
        double r94047 = r94045 / r94046;
        double r94048 = r94044 - r94047;
        double r94049 = 9.0;
        double r94050 = r94049 * r94048;
        double r94051 = sqrt(r94050);
        double r94052 = r94045 / r94051;
        double r94053 = rand;
        double r94054 = r94052 * r94053;
        double r94055 = r94045 + r94054;
        double r94056 = r94048 * r94055;
        return r94056;
}

double f(double a, double rand) {
        double r94057 = a;
        double r94058 = 1.0;
        double r94059 = 3.0;
        double r94060 = r94058 / r94059;
        double r94061 = r94057 - r94060;
        double r94062 = 9.0;
        double r94063 = r94062 * r94061;
        double r94064 = sqrt(r94063);
        double r94065 = r94058 / r94064;
        double r94066 = rand;
        double r94067 = r94065 * r94066;
        double r94068 = r94058 + r94067;
        double r94069 = r94061 * r94068;
        return r94069;
}

Error

Bits error versus a

Bits error versus rand

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\]
  2. Using strategy rm
  3. Applied distribute-lft-in0.1

    \[\leadsto \color{blue}{\left(a - \frac{1}{3}\right) \cdot 1 + \left(a - \frac{1}{3}\right) \cdot \left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)}\]
  4. Final simplification0.1

    \[\leadsto \left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\]

Reproduce

herbie shell --seed 2019308 
(FPCore (a rand)
  :name "Octave 3.8, oct_fill_randg"
  :precision binary64
  (* (- a (/ 1 3)) (+ 1 (* (/ 1 (sqrt (* 9 (- a (/ 1 3))))) rand))))