Average Error: 15.2 → 0.4
Time: 17.0s
Precision: 64
\[\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\]
\[\frac{\sin \left(x \cdot 0.5\right)}{\frac{\mathsf{expm1}\left(\mathsf{log1p}\left(3 \cdot \frac{\sin x}{8}\right)\right)}{\sin \left(x \cdot 0.5\right)}}\]
\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}
\frac{\sin \left(x \cdot 0.5\right)}{\frac{\mathsf{expm1}\left(\mathsf{log1p}\left(3 \cdot \frac{\sin x}{8}\right)\right)}{\sin \left(x \cdot 0.5\right)}}
double f(double x) {
        double r375737 = 8.0;
        double r375738 = 3.0;
        double r375739 = r375737 / r375738;
        double r375740 = x;
        double r375741 = 0.5;
        double r375742 = r375740 * r375741;
        double r375743 = sin(r375742);
        double r375744 = r375739 * r375743;
        double r375745 = r375744 * r375743;
        double r375746 = sin(r375740);
        double r375747 = r375745 / r375746;
        return r375747;
}

double f(double x) {
        double r375748 = x;
        double r375749 = 0.5;
        double r375750 = r375748 * r375749;
        double r375751 = sin(r375750);
        double r375752 = 3.0;
        double r375753 = sin(r375748);
        double r375754 = 8.0;
        double r375755 = r375753 / r375754;
        double r375756 = r375752 * r375755;
        double r375757 = log1p(r375756);
        double r375758 = expm1(r375757);
        double r375759 = r375758 / r375751;
        double r375760 = r375751 / r375759;
        return r375760;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original15.2
Target0.3
Herbie0.4
\[\frac{\frac{8 \cdot \sin \left(x \cdot 0.5\right)}{3}}{\frac{\sin x}{\sin \left(x \cdot 0.5\right)}}\]

Derivation

  1. Initial program 15.2

    \[\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\]
  2. Simplified15.1

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot \frac{\sin \left(x \cdot 0.5\right)}{3}}{\frac{\sin x}{8}}}\]
  3. Using strategy rm
  4. Applied associate-/l*0.3

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right)}{\frac{\frac{\sin x}{8}}{\frac{\sin \left(x \cdot 0.5\right)}{3}}}}\]
  5. Simplified0.4

    \[\leadsto \frac{\sin \left(x \cdot 0.5\right)}{\color{blue}{\frac{3 \cdot \frac{\sin x}{8}}{\sin \left(x \cdot 0.5\right)}}}\]
  6. Using strategy rm
  7. Applied expm1-log1p-u0.4

    \[\leadsto \frac{\sin \left(x \cdot 0.5\right)}{\frac{\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(3 \cdot \frac{\sin x}{8}\right)\right)}}{\sin \left(x \cdot 0.5\right)}}\]
  8. Simplified0.4

    \[\leadsto \frac{\sin \left(x \cdot 0.5\right)}{\frac{\mathsf{expm1}\left(\color{blue}{\mathsf{log1p}\left(\frac{\sin x}{8} \cdot 3\right)}\right)}{\sin \left(x \cdot 0.5\right)}}\]
  9. Final simplification0.4

    \[\leadsto \frac{\sin \left(x \cdot 0.5\right)}{\frac{\mathsf{expm1}\left(\mathsf{log1p}\left(3 \cdot \frac{\sin x}{8}\right)\right)}{\sin \left(x \cdot 0.5\right)}}\]

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x)
  :name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, A"

  :herbie-target
  (/ (/ (* 8.0 (sin (* x 0.5))) 3.0) (/ (sin x) (sin (* x 0.5))))

  (/ (* (* (/ 8.0 3.0) (sin (* x 0.5))) (sin (* x 0.5))) (sin x)))