\[\left(a - \frac{1.0}{3.0}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1.0}{3.0}\right)}} \cdot rand\right)\]
Test:
Octave 3.8, oct_fill_randg
Bits:
128 bits
Bits error versus a
Bits error versus rand
Time: 17.5 s
Input Error: 0.1
Output Error: 0.1
Log:
Profile: 🕒
\((\left(\sqrt{a - 0.3333333333333333}\right) * \left(rand \cdot \frac{1}{3}\right) + \left(a - 0.3333333333333333\right))_*\)
  1. Started with
    \[\left(a - \frac{1.0}{3.0}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1.0}{3.0}\right)}} \cdot rand\right)\]
    0.1
  2. Using strategy rm
    0.1
  3. Applied add-cube-cbrt to get
    \[\color{red}{\left(a - \frac{1.0}{3.0}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1.0}{3.0}\right)}} \cdot rand\right)} \leadsto \color{blue}{{\left(\sqrt[3]{\left(a - \frac{1.0}{3.0}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1.0}{3.0}\right)}} \cdot rand\right)}\right)}^3}\]
    1.3
  4. Applied taylor to get
    \[{\left(\sqrt[3]{\left(a - \frac{1.0}{3.0}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1.0}{3.0}\right)}} \cdot rand\right)}\right)}^3 \leadsto \left(a + \frac{1}{3} \cdot \left(rand \cdot \sqrt{a - 0.3333333333333333}\right)\right) - 0.3333333333333333\]
    0.1
  5. Taylor expanded around 0 to get
    \[\color{red}{\left(a + \frac{1}{3} \cdot \left(rand \cdot \sqrt{a - 0.3333333333333333}\right)\right) - 0.3333333333333333} \leadsto \color{blue}{\left(a + \frac{1}{3} \cdot \left(rand \cdot \sqrt{a - 0.3333333333333333}\right)\right) - 0.3333333333333333}\]
    0.1
  6. Applied simplify to get
    \[\left(a + \frac{1}{3} \cdot \left(rand \cdot \sqrt{a - 0.3333333333333333}\right)\right) - 0.3333333333333333 \leadsto \left(\frac{1}{3} \cdot rand\right) \cdot \sqrt{a - 0.3333333333333333} + \left(a - 0.3333333333333333\right)\]
    0.1

  7. Applied final simplification
  8. Applied simplify to get
    \[\color{red}{\left(\frac{1}{3} \cdot rand\right) \cdot \sqrt{a - 0.3333333333333333} + \left(a - 0.3333333333333333\right)} \leadsto \color{blue}{(\left(\sqrt{a - 0.3333333333333333}\right) * \left(rand \cdot \frac{1}{3}\right) + \left(a - 0.3333333333333333\right))_*}\]
    0.1

Original test:


(lambda ((a default) (rand default))
  #:name "Octave 3.8, oct_fill_randg"
  (* (- a (/ 1.0 3.0)) (+ 1 (* (/ 1 (sqrt (* 9 (- a (/ 1.0 3.0))))) rand))))