Average Error: 0.1 → 0.1
Time: 23.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(\frac{rand}{\frac{\sqrt{\left(a - \frac{1}{3}\right) \cdot 9}}{1}} + 1\right) \cdot \frac{-1}{3} + \left(\frac{rand}{\frac{\sqrt{\left(a - \frac{1}{3}\right) \cdot 9}}{1}} + 1\right) \cdot a\]
\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)
\left(\frac{rand}{\frac{\sqrt{\left(a - \frac{1}{3}\right) \cdot 9}}{1}} + 1\right) \cdot \frac{-1}{3} + \left(\frac{rand}{\frac{\sqrt{\left(a - \frac{1}{3}\right) \cdot 9}}{1}} + 1\right) \cdot a
double f(double a, double rand) {
        double r60907 = a;
        double r60908 = 1.0;
        double r60909 = 3.0;
        double r60910 = r60908 / r60909;
        double r60911 = r60907 - r60910;
        double r60912 = 9.0;
        double r60913 = r60912 * r60911;
        double r60914 = sqrt(r60913);
        double r60915 = r60908 / r60914;
        double r60916 = rand;
        double r60917 = r60915 * r60916;
        double r60918 = r60908 + r60917;
        double r60919 = r60911 * r60918;
        return r60919;
}

double f(double a, double rand) {
        double r60920 = rand;
        double r60921 = a;
        double r60922 = 1.0;
        double r60923 = 3.0;
        double r60924 = r60922 / r60923;
        double r60925 = r60921 - r60924;
        double r60926 = 9.0;
        double r60927 = r60925 * r60926;
        double r60928 = sqrt(r60927);
        double r60929 = r60928 / r60922;
        double r60930 = r60920 / r60929;
        double r60931 = r60930 + r60922;
        double r60932 = -r60922;
        double r60933 = r60932 / r60923;
        double r60934 = r60931 * r60933;
        double r60935 = r60931 * r60921;
        double r60936 = r60934 + r60935;
        return r60936;
}

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 pow10.1

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

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

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

    \[\leadsto {\color{blue}{\left(\left(1 + \frac{1 \cdot rand}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}\right) \cdot \left(a - \frac{1}{3}\right)\right)}}^{1}\]
  7. Using strategy rm
  8. Applied sub-neg0.1

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

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

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

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

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

Reproduce

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