Average Error: 0.1 → 0.1
Time: 8.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(1 + \frac{1 \cdot 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)
\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 r103189 = a;
        double r103190 = 1.0;
        double r103191 = 3.0;
        double r103192 = r103190 / r103191;
        double r103193 = r103189 - r103192;
        double r103194 = 9.0;
        double r103195 = r103194 * r103193;
        double r103196 = sqrt(r103195);
        double r103197 = r103190 / r103196;
        double r103198 = rand;
        double r103199 = r103197 * r103198;
        double r103200 = r103190 + r103199;
        double r103201 = r103193 * r103200;
        return r103201;
}

double f(double a, double rand) {
        double r103202 = a;
        double r103203 = 1.0;
        double r103204 = 3.0;
        double r103205 = r103203 / r103204;
        double r103206 = r103202 - r103205;
        double r103207 = rand;
        double r103208 = r103203 * r103207;
        double r103209 = 9.0;
        double r103210 = r103209 * r103206;
        double r103211 = sqrt(r103210);
        double r103212 = r103208 / r103211;
        double r103213 = r103203 + r103212;
        double r103214 = r103206 * r103213;
        return r103214;
}

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 associate-*l/0.1

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

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

Reproduce

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