Average Error: 0.1 → 0.1
Time: 31.1s
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)\]
\[1 \cdot \left(a - \frac{1}{3}\right) + \left(a - \frac{1}{3}\right) \cdot \left(1 \cdot \frac{rand}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}\right)\]
\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)
1 \cdot \left(a - \frac{1}{3}\right) + \left(a - \frac{1}{3}\right) \cdot \left(1 \cdot \frac{rand}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}\right)
double f(double a, double rand) {
        double r71231 = a;
        double r71232 = 1.0;
        double r71233 = 3.0;
        double r71234 = r71232 / r71233;
        double r71235 = r71231 - r71234;
        double r71236 = 9.0;
        double r71237 = r71236 * r71235;
        double r71238 = sqrt(r71237);
        double r71239 = r71232 / r71238;
        double r71240 = rand;
        double r71241 = r71239 * r71240;
        double r71242 = r71232 + r71241;
        double r71243 = r71235 * r71242;
        return r71243;
}

double f(double a, double rand) {
        double r71244 = 1.0;
        double r71245 = a;
        double r71246 = 3.0;
        double r71247 = r71244 / r71246;
        double r71248 = r71245 - r71247;
        double r71249 = r71244 * r71248;
        double r71250 = rand;
        double r71251 = 9.0;
        double r71252 = r71251 * r71248;
        double r71253 = sqrt(r71252);
        double r71254 = r71250 / r71253;
        double r71255 = r71244 * r71254;
        double r71256 = r71248 * r71255;
        double r71257 = r71249 + r71256;
        return r71257;
}

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 div-inv0.1

    \[\leadsto \left(a - \frac{1}{3}\right) \cdot \left(1 + \color{blue}{\left(1 \cdot \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}\right)} \cdot rand\right)\]
  4. Applied associate-*l*0.1

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

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

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

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

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

Reproduce

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