Average Error: 1.8 → 0.5
Time: 19.9s
Precision: binary64
\[\]
\[\]
\[\]

Error

Bits error versus z

Derivation

  1. Initial program 1.8

    \[\]
  2. Simplified1.3

    \[\leadsto \]
  3. Using strategy rm
  4. Applied exp-diff1.3

    \[\leadsto \]
  5. Applied associate-*l/1.3

    \[\leadsto \]
  6. Simplified0.4

    \[\leadsto \]
  7. Using strategy rm
  8. Applied div-inv0.5

    \[\leadsto \]
  9. Final simplification0.5

    \[\leadsto \]

Reproduce

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