Average Error: 0.1 → 0.1
Time: 15.9s
Precision: 64
\[\left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)\]
\[\left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)\]
\left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)
\left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)
double f(double k, double jl, double j, double l) {
        double r2352869 = k;
        double r2352870 = 2.0;
        double r2352871 = pow(r2352869, r2352870);
        double r2352872 = jl;
        double r2352873 = r2352871 + r2352872;
        double r2352874 = j;
        double r2352875 = r2352870 * r2352869;
        double r2352876 = r2352874 - r2352875;
        double r2352877 = l;
        double r2352878 = r2352876 + r2352877;
        double r2352879 = r2352873 * r2352878;
        return r2352879;
}

double f(double k, double jl, double j, double l) {
        double r2352880 = k;
        double r2352881 = 2.0;
        double r2352882 = pow(r2352880, r2352881);
        double r2352883 = jl;
        double r2352884 = r2352882 + r2352883;
        double r2352885 = j;
        double r2352886 = r2352881 * r2352880;
        double r2352887 = r2352885 - r2352886;
        double r2352888 = l;
        double r2352889 = r2352887 + r2352888;
        double r2352890 = r2352884 * r2352889;
        return r2352890;
}

Error

Bits error versus k

Bits error versus jl

Bits error versus j

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)\]
  2. Final simplification0.1

    \[\leadsto \left({k}^{2} + jl\right) \cdot \left(\left(j - 2 \cdot k\right) + \ell\right)\]

Reproduce

herbie shell --seed 1 
(FPCore (k jl j l)
  :name "(k^2+jl)(j-2k+l)"
  :precision binary64
  (* (+ (pow k 2) jl) (+ (- j (* 2 k)) l)))