Average Error: 14.6 → 0.5
Time: 7.1s
Precision: binary64
Cost: 20354
\[\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\]
\[\begin{array}{l} \mathbf{if}\;x \leq -1.428402078863971 \cdot 10^{-08}:\\ \;\;\;\;{\sin \left(x \cdot 0.5\right)}^{2} \cdot \frac{2.6666666666666665}{\sin x}\\ \mathbf{elif}\;x \leq 5.195819335128253 \cdot 10^{-77}:\\ \;\;\;\;\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}\\ \mathbf{else}:\\ \;\;\;\;2.6666666666666665 \cdot \frac{{\sin \left(x \cdot 0.5\right)}^{2}}{\sin x}\\ \end{array}\]
\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}
\begin{array}{l}
\mathbf{if}\;x \leq -1.428402078863971 \cdot 10^{-08}:\\
\;\;\;\;{\sin \left(x \cdot 0.5\right)}^{2} \cdot \frac{2.6666666666666665}{\sin x}\\

\mathbf{elif}\;x \leq 5.195819335128253 \cdot 10^{-77}:\\
\;\;\;\;\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}\\

\mathbf{else}:\\
\;\;\;\;2.6666666666666665 \cdot \frac{{\sin \left(x \cdot 0.5\right)}^{2}}{\sin x}\\

\end{array}
(FPCore (x)
 :precision binary64
 (/ (* (* (/ 8.0 3.0) (sin (* x 0.5))) (sin (* x 0.5))) (sin x)))
(FPCore (x)
 :precision binary64
 (if (<= x -1.428402078863971e-08)
   (* (pow (sin (* x 0.5)) 2.0) (/ 2.6666666666666665 (sin x)))
   (if (<= x 5.195819335128253e-77)
     (* (* (sin (* x 0.5)) (cbrt 18.962962962962962)) (cbrt 0.125))
     (* 2.6666666666666665 (/ (pow (sin (* x 0.5)) 2.0) (sin x))))))
double code(double x) {
	return (((8.0 / 3.0) * sin(x * 0.5)) * sin(x * 0.5)) / sin(x);
}
double code(double x) {
	double tmp;
	if (x <= -1.428402078863971e-08) {
		tmp = pow(sin(x * 0.5), 2.0) * (2.6666666666666665 / sin(x));
	} else if (x <= 5.195819335128253e-77) {
		tmp = (sin(x * 0.5) * cbrt(18.962962962962962)) * cbrt(0.125);
	} else {
		tmp = 2.6666666666666665 * (pow(sin(x * 0.5), 2.0) / sin(x));
	}
	return tmp;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original14.6
Target0.3
Herbie0.5
\[\frac{\frac{8 \cdot \sin \left(x \cdot 0.5\right)}{3}}{\frac{\sin x}{\sin \left(x \cdot 0.5\right)}}\]

Alternatives

Alternative 1
Error0.5
Cost32832
\[\sin \left(x \cdot 0.5\right) \cdot \frac{\sqrt{2.6666666666666665} \cdot \left(\sin \left(x \cdot 0.5\right) \cdot \sqrt{2.6666666666666665}\right)}{\sin x}\]
Alternative 2
Error0.5
Cost19904
\[\frac{\sin \left(x \cdot 0.5\right)}{\frac{\sin x}{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}}\]
Alternative 3
Error0.4
Cost20040
\[\begin{array}{l} \mathbf{if}\;x \leq -1.428402078863971 \cdot 10^{-08} \lor \neg \left(x \leq 2.1261961902696117 \cdot 10^{-08}\right):\\ \;\;\;\;{\sin \left(x \cdot 0.5\right)}^{2} \cdot \frac{2.6666666666666665}{\sin x}\\ \mathbf{else}:\\ \;\;\;\;\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}\\ \end{array}\]
Alternative 4
Error29.1
Cost19648
\[\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}\]
Alternative 5
Error29.3
Cost13248
\[\sin \left(x \cdot 0.5\right) \cdot \left(0.5 \cdot \sqrt[3]{18.962962962962962}\right)\]
Alternative 6
Error29.4
Cost7554
\[\begin{array}{l} \mathbf{if}\;x \leq -3.142896776850945:\\ \;\;\;\;-1\\ \mathbf{elif}\;x \leq 176441.5486995892:\\ \;\;\;\;x \cdot 0.6666666666666666 + 0.05555555555555555 \cdot {x}^{3}\\ \mathbf{else}:\\ \;\;\;\;-1\\ \end{array}\]
Alternative 7
Error29.5
Cost834
\[\begin{array}{l} \mathbf{if}\;x \leq -3.142896776850945:\\ \;\;\;\;-1\\ \mathbf{elif}\;x \leq 6.278287786841239 \cdot 10^{+17}:\\ \;\;\;\;x \cdot 0.6666666666666666\\ \mathbf{else}:\\ \;\;\;\;-1\\ \end{array}\]
Alternative 8
Error59.5
Cost64
\[-1\]
Alternative 9
Error59.6
Cost64
\[1\]

Error

Derivation

  1. Split input into 3 regimes
  2. if x < -1.4284020788639711e-8

    1. Initial program 0.6

      \[\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. Simplified0.6

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot \left(2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)\right)}{\sin x}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity_binary64_171280.6

      \[\leadsto \frac{\sin \left(x \cdot 0.5\right) \cdot \left(2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)\right)}{\color{blue}{1 \cdot \sin x}}\]
    5. Applied times-frac_binary64_171340.6

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right)}{1} \cdot \frac{2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)}{\sin x}}\]
    6. Simplified0.6

      \[\leadsto \color{blue}{\sin \left(x \cdot 0.5\right)} \cdot \frac{2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\]
    7. Simplified0.6

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\sin x}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity_binary64_171280.6

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\color{blue}{1 \cdot \sin x}}\]
    10. Applied times-frac_binary64_171340.6

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \color{blue}{\left(\frac{\sin \left(x \cdot 0.5\right)}{1} \cdot \frac{2.6666666666666665}{\sin x}\right)}\]
    11. Applied associate-*r*_binary64_170680.6

      \[\leadsto \color{blue}{\left(\sin \left(x \cdot 0.5\right) \cdot \frac{\sin \left(x \cdot 0.5\right)}{1}\right) \cdot \frac{2.6666666666666665}{\sin x}}\]
    12. Simplified0.6

      \[\leadsto \color{blue}{{\sin \left(x \cdot 0.5\right)}^{2}} \cdot \frac{2.6666666666666665}{\sin x}\]
    13. Simplified0.6

      \[\leadsto \color{blue}{{\sin \left(x \cdot 0.5\right)}^{2} \cdot \frac{2.6666666666666665}{\sin x}}\]

    if -1.4284020788639711e-8 < x < 5.195819335128253e-77

    1. Initial program 33.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. Simplified33.2

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot \left(2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)\right)}{\sin x}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity_binary64_1712833.2

      \[\leadsto \frac{\sin \left(x \cdot 0.5\right) \cdot \left(2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)\right)}{\color{blue}{1 \cdot \sin x}}\]
    5. Applied times-frac_binary64_171340.3

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right)}{1} \cdot \frac{2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)}{\sin x}}\]
    6. Simplified0.3

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

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\sin x}}\]
    8. Using strategy rm
    9. Applied add-cbrt-cube_binary64_171640.8

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \color{blue}{\sqrt[3]{\left(\frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\sin x} \cdot \frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\sin x}\right) \cdot \frac{\sin \left(x \cdot 0.5\right) \cdot 2.6666666666666665}{\sin x}}}\]
    10. Simplified0.7

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{\color{blue}{18.962962962962962 \cdot {\left(\frac{\sin \left(x \cdot 0.5\right)}{\sin x}\right)}^{3}}}\]
    11. Using strategy rm
    12. Applied cbrt-prod_binary64_171590.3

      \[\leadsto \sin \left(x \cdot 0.5\right) \cdot \color{blue}{\left(\sqrt[3]{18.962962962962962} \cdot \sqrt[3]{{\left(\frac{\sin \left(x \cdot 0.5\right)}{\sin x}\right)}^{3}}\right)}\]
    13. Applied associate-*r*_binary64_170680.3

      \[\leadsto \color{blue}{\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{{\left(\frac{\sin \left(x \cdot 0.5\right)}{\sin x}\right)}^{3}}}\]
    14. Taylor expanded around 0 0.3

      \[\leadsto \left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{\color{blue}{0.125}}\]
    15. Simplified0.3

      \[\leadsto \color{blue}{\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}}\]

    if 5.195819335128253e-77 < x

    1. Initial program 0.6

      \[\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. Simplified0.6

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot 0.5\right) \cdot \left(2.6666666666666665 \cdot \sin \left(x \cdot 0.5\right)\right)}{\sin x}}\]
    3. Taylor expanded around inf 0.6

      \[\leadsto \color{blue}{2.6666666666666665 \cdot \frac{{\sin \left(0.5 \cdot x\right)}^{2}}{\sin x}}\]
    4. Simplified0.6

      \[\leadsto \color{blue}{2.6666666666666665 \cdot \frac{{\sin \left(x \cdot 0.5\right)}^{2}}{\sin x}}\]
    5. Simplified0.6

      \[\leadsto \color{blue}{2.6666666666666665 \cdot \frac{{\sin \left(x \cdot 0.5\right)}^{2}}{\sin x}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1.428402078863971 \cdot 10^{-08}:\\ \;\;\;\;{\sin \left(x \cdot 0.5\right)}^{2} \cdot \frac{2.6666666666666665}{\sin x}\\ \mathbf{elif}\;x \leq 5.195819335128253 \cdot 10^{-77}:\\ \;\;\;\;\left(\sin \left(x \cdot 0.5\right) \cdot \sqrt[3]{18.962962962962962}\right) \cdot \sqrt[3]{0.125}\\ \mathbf{else}:\\ \;\;\;\;2.6666666666666665 \cdot \frac{{\sin \left(x \cdot 0.5\right)}^{2}}{\sin x}\\ \end{array}\]

Reproduce

herbie shell --seed 2021044 
(FPCore (x)
  :name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, A"
  :precision binary64

  :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)))