Average Error: 0.1 → 0.1
Time: 24.5s
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(\frac{rand}{\sqrt{\sqrt{9} \cdot \left(\sqrt{9} \cdot \left(a - \frac{1}{3}\right)\right)}} \cdot 1 + 1\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(\frac{rand}{\sqrt{\sqrt{9} \cdot \left(\sqrt{9} \cdot \left(a - \frac{1}{3}\right)\right)}} \cdot 1 + 1\right)
double f(double a, double rand) {
        double r3261425 = a;
        double r3261426 = 1.0;
        double r3261427 = 3.0;
        double r3261428 = r3261426 / r3261427;
        double r3261429 = r3261425 - r3261428;
        double r3261430 = 9.0;
        double r3261431 = r3261430 * r3261429;
        double r3261432 = sqrt(r3261431);
        double r3261433 = r3261426 / r3261432;
        double r3261434 = rand;
        double r3261435 = r3261433 * r3261434;
        double r3261436 = r3261426 + r3261435;
        double r3261437 = r3261429 * r3261436;
        return r3261437;
}

double f(double a, double rand) {
        double r3261438 = a;
        double r3261439 = 1.0;
        double r3261440 = 3.0;
        double r3261441 = r3261439 / r3261440;
        double r3261442 = r3261438 - r3261441;
        double r3261443 = rand;
        double r3261444 = 9.0;
        double r3261445 = sqrt(r3261444);
        double r3261446 = r3261445 * r3261442;
        double r3261447 = r3261445 * r3261446;
        double r3261448 = sqrt(r3261447);
        double r3261449 = r3261443 / r3261448;
        double r3261450 = r3261449 * r3261439;
        double r3261451 = r3261450 + r3261439;
        double r3261452 = r3261442 * r3261451;
        return r3261452;
}

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{\left(a - \frac{1}{3}\right) \cdot 9}}}\right)\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.1

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

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

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

Reproduce

herbie shell --seed 2019169 
(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))))