Average Error: 52.0 → 52.0
Time: 5.2s
Precision: binary64
\[\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)\]
\[\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)\]
\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)
\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)
double code(double a, double an, double c, double cn) {
	return ((double) log(((double) (((double) (((double) (((double) exp(a)) * an)) + ((double) (((double) exp(c)) * cn)))) / ((double) (an + cn))))));
}
double code(double a, double an, double c, double cn) {
	return ((double) log(((double) (((double) (((double) (((double) exp(a)) * an)) + ((double) (((double) exp(c)) * cn)))) / ((double) (an + cn))))));
}

Error

Bits error versus a

Bits error versus an

Bits error versus c

Bits error versus cn

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 52.0

    \[\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)\]
  2. Final simplification52.0

    \[\leadsto \log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a an c cn)
  :name "(log (/ (+ (* (exp a) an) (* (exp c) cn)) (+ an cn)))"
  :precision binary64
  (log (/ (+ (* (exp a) an) (* (exp c) cn)) (+ an cn))))