Average Error: 25.8 → 25.8
Time: 4.8s
Precision: binary64
\[\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf\]
\[\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf\]
\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf
\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf
double code(double a, double b, double m, double dcf) {
	return ((double) (((double) (((double) (((double) (a - ((double) (((double) (4.0 * b)) - ((double) (((double) exp(((double) (m * dcf)))) * a)))))) / ((double) (m / ((double) (((double) (((double) exp(((double) (m * dcf)))) * a)) - a)))))) / 2.0)) + ((double) (((double) (b * b)) * dcf))));
}
double code(double a, double b, double m, double dcf) {
	return ((double) (((double) (((double) (((double) (a - ((double) (((double) (4.0 * b)) - ((double) (((double) exp(((double) (m * dcf)))) * a)))))) / ((double) (m / ((double) (((double) (((double) exp(((double) (m * dcf)))) * a)) - a)))))) / 2.0)) + ((double) (((double) (b * b)) * dcf))));
}

Error

Bits error versus a

Bits error versus b

Bits error versus m

Bits error versus dcf

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 25.8

    \[\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf\]
  2. Final simplification25.8

    \[\leadsto \frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a b m dcf)
  :name "(+ (/ (/ (- a (- (* 4 b) (* (exp (* m dcf)) a))) (/ m (- (* (exp (* m dcf)) a) a))) 2) (* (* b b) dcf))"
  :precision binary64
  (+ (/ (/ (- a (- (* 4.0 b) (* (exp (* m dcf)) a))) (/ m (- (* (exp (* m dcf)) a) a))) 2.0) (* (* b b) dcf)))