Average Error: 0.2 → 0.2
Time: 26.5s
Precision: 64
\[\frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}\]
\[\frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}\]
\frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}
\frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}
double f(double x0, double x1, double x2, double x3, double x4, double x5) {
        double r1813345 = x0;
        double r1813346 = exp(r1813345);
        double r1813347 = x1;
        double r1813348 = exp(r1813347);
        double r1813349 = r1813346 + r1813348;
        double r1813350 = x2;
        double r1813351 = exp(r1813350);
        double r1813352 = r1813349 + r1813351;
        double r1813353 = x3;
        double r1813354 = exp(r1813353);
        double r1813355 = r1813352 + r1813354;
        double r1813356 = x4;
        double r1813357 = exp(r1813356);
        double r1813358 = r1813355 + r1813357;
        double r1813359 = x5;
        double r1813360 = exp(r1813359);
        double r1813361 = r1813358 + r1813360;
        double r1813362 = r1813346 / r1813361;
        return r1813362;
}

double f(double x0, double x1, double x2, double x3, double x4, double x5) {
        double r1813363 = x0;
        double r1813364 = exp(r1813363);
        double r1813365 = x1;
        double r1813366 = exp(r1813365);
        double r1813367 = r1813364 + r1813366;
        double r1813368 = x2;
        double r1813369 = exp(r1813368);
        double r1813370 = r1813367 + r1813369;
        double r1813371 = x3;
        double r1813372 = exp(r1813371);
        double r1813373 = r1813370 + r1813372;
        double r1813374 = x4;
        double r1813375 = exp(r1813374);
        double r1813376 = r1813373 + r1813375;
        double r1813377 = x5;
        double r1813378 = exp(r1813377);
        double r1813379 = r1813376 + r1813378;
        double r1813380 = r1813364 / r1813379;
        return r1813380;
}

Error

Bits error versus x0

Bits error versus x1

Bits error versus x2

Bits error versus x3

Bits error versus x4

Bits error versus x5

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}\]
  2. Final simplification0.2

    \[\leadsto \frac{e^{x0}}{\left(\left(\left(\left(e^{x0} + e^{x1}\right) + e^{x2}\right) + e^{x3}\right) + e^{x4}\right) + e^{x5}}\]

Reproduce

herbie shell --seed 1 
(FPCore (x0 x1 x2 x3 x4 x5)
  :name "exp(x0)/(exp(x0)+exp(x1)+exp(x2)+exp(x3)+exp(x4)+exp(x5))"
  :precision binary32
  (/ (exp x0) (+ (+ (+ (+ (+ (exp x0) (exp x1)) (exp x2)) (exp x3)) (exp x4)) (exp x5))))