Average Error: 58.1 → 56.8
Time: 4.7s
Precision: binary64
\[x = 77617 \land y = 33096\]
\[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}\]
\[\langle \left( \langle \left( \left(5.5 \cdot {y}^{8} + \left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(y \cdot \left(y \cdot \left(x \cdot \left(x \cdot 11\right)\right)\right) - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} + \frac{x}{y \cdot 2}\]
\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}
\langle \left( \langle \left( \left(5.5 \cdot {y}^{8} + \left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(y \cdot \left(y \cdot \left(x \cdot \left(x \cdot 11\right)\right)\right) - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} + \frac{x}{y \cdot 2}
(FPCore (x y)
 :precision binary64
 (+
  (+
   (+
    (* 333.75 (pow y 6.0))
    (*
     (* x x)
     (-
      (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0)))
      2.0)))
   (* 5.5 (pow y 8.0)))
  (/ x (* 2.0 y))))
(FPCore (x y)
 :precision binary64
 (+
  (cast
   (!
    :precision
    posit16
    (cast
     (!
      :precision
      binary64
      (+
       (* 5.5 (pow y 8.0))
       (+
        (* 333.75 (pow y 6.0))
        (*
         (* x x)
         (-
          (-
           (- (* y (* y (* x (* x 11.0)))) (pow y 6.0))
           (* 121.0 (pow y 4.0)))
          2.0))))))))
  (/ x (* y 2.0))))

Error

Derivation

  1. Initial program 58.1

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}\]
  2. Using strategy rm
  3. Applied insert-posit1656.8

    \[\leadsto \color{blue}{\langle \color{blue}{\left( \color{blue}{\langle \color{blue}{\left( \color{blue}{\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right)} \right)_{binary64}} \rangle_{posit16}} \right)_{posit16}} \rangle_{binary64}} + \frac{x}{2 \cdot y}\]
  4. Simplified56.8

    \[\leadsto \langle \left( \langle \left( \left(\color{blue}{5.5 \cdot {y}^{8}} + \left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(y \cdot \left(y \cdot \left(x \cdot \left(x \cdot 11\right)\right)\right) - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} + \frac{x}{2 \cdot y}\]
  5. Final simplification56.8

    \[\leadsto \langle \left( \langle \left( \left(5.5 \cdot {y}^{8} + \left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(y \cdot \left(y \cdot \left(x \cdot \left(x \cdot 11\right)\right)\right) - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} + \frac{x}{y \cdot 2}\]

Reproduce

herbie shell --seed 2020268 
(FPCore (x y)
  :name "Rump's expression from Stadtherr's award speech"
  :precision binary64
  :pre (and (== x 77617.0) (== y 33096.0))
  (+ (+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0))) (/ x (* 2.0 y))))