Average Error: 1.8 → 0.4
Time: 2.4min
Precision: binary64
\[\]
\[\]
\[\]

Error

Bits error versus z

Derivation

  1. Initial program 1.8

    \[\]
  2. Simplified1.3

    \[\leadsto \]
  3. Using strategy rm
  4. Applied sub-neg1.3

    \[\leadsto \]
  5. Applied exp-sum1.3

    \[\leadsto \]
  6. Applied associate-*l*1.3

    \[\leadsto \]
  7. Simplified0.4

    \[\leadsto \]
  8. Using strategy rm
  9. Applied clear-num0.4

    \[\leadsto \]
  10. Final simplification0.4

    \[\leadsto \]

Reproduce

herbie shell --seed 2020192 
(FPCore (z)
  :name "Jmat.Real.gamma, branch z less than 0.5"
  :precision binary64
  :pre (<= z 0.5)
  (* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5) (+ (- (- 1.0 z) 1.0) 0.5))) (exp (neg (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1.0 z) 1.0) 1.0))) (/ -1259.1392167224028 (+ (- (- 1.0 z) 1.0) 2.0))) (/ 771.3234287776531 (+ (- (- 1.0 z) 1.0) 3.0))) (/ -176.6150291621406 (+ (- (- 1.0 z) 1.0) 4.0))) (/ 12.507343278686905 (+ (- (- 1.0 z) 1.0) 5.0))) (/ -0.13857109526572012 (+ (- (- 1.0 z) 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- (- 1.0 z) 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- (- 1.0 z) 1.0) 8.0))))))