Average Error: 36.2 → 28.4
Time: 4.5s
Precision: 64
\[\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\]
\[\begin{array}{l} \mathbf{if}\;\frac{x}{y \cdot 2} \le 8.72426427570663342 \cdot 10^{-18}:\\ \;\;\;\;1\\ \mathbf{elif}\;\frac{x}{y \cdot 2} \le 6.47315062410926235 \cdot 10^{31}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\tan \left(\frac{x}{y \cdot 2}\right)\right)}^{3}}}{\sin \left(\frac{x}{y \cdot 2}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array}\]
\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}
\begin{array}{l}
\mathbf{if}\;\frac{x}{y \cdot 2} \le 8.72426427570663342 \cdot 10^{-18}:\\
\;\;\;\;1\\

\mathbf{elif}\;\frac{x}{y \cdot 2} \le 6.47315062410926235 \cdot 10^{31}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\tan \left(\frac{x}{y \cdot 2}\right)\right)}^{3}}}{\sin \left(\frac{x}{y \cdot 2}\right)}\\

\mathbf{else}:\\
\;\;\;\;1\\

\end{array}
double code(double x, double y) {
	return (tan((x / (y * 2.0))) / sin((x / (y * 2.0))));
}
double code(double x, double y) {
	double VAR;
	if (((x / (y * 2.0)) <= 8.724264275706633e-18)) {
		VAR = 1.0;
	} else {
		double VAR_1;
		if (((x / (y * 2.0)) <= 6.473150624109262e+31)) {
			VAR_1 = (cbrt(pow(tan((x / (y * 2.0))), 3.0)) / sin((x / (y * 2.0))));
		} else {
			VAR_1 = 1.0;
		}
		VAR = VAR_1;
	}
	return VAR;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original36.2
Target29.4
Herbie28.4
\[\begin{array}{l} \mathbf{if}\;y \lt -1.23036909113069936 \cdot 10^{114}:\\ \;\;\;\;1\\ \mathbf{elif}\;y \lt -9.1028524068119138 \cdot 10^{-222}:\\ \;\;\;\;\frac{\sin \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right) \cdot \log \left(e^{\cos \left(\frac{x}{y \cdot 2}\right)}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if (/ x (* y 2.0)) < 8.724264275706633e-18 or 6.473150624109262e+31 < (/ x (* y 2.0))

    1. Initial program 36.6

      \[\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\]
    2. Taylor expanded around 0 28.4

      \[\leadsto \color{blue}{1}\]

    if 8.724264275706633e-18 < (/ x (* y 2.0)) < 6.473150624109262e+31

    1. Initial program 27.2

      \[\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube27.4

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\tan \left(\frac{x}{y \cdot 2}\right) \cdot \tan \left(\frac{x}{y \cdot 2}\right)\right) \cdot \tan \left(\frac{x}{y \cdot 2}\right)}}}{\sin \left(\frac{x}{y \cdot 2}\right)}\]
    4. Simplified27.4

      \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\tan \left(\frac{x}{y \cdot 2}\right)\right)}^{3}}}}{\sin \left(\frac{x}{y \cdot 2}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification28.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x}{y \cdot 2} \le 8.72426427570663342 \cdot 10^{-18}:\\ \;\;\;\;1\\ \mathbf{elif}\;\frac{x}{y \cdot 2} \le 6.47315062410926235 \cdot 10^{31}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\tan \left(\frac{x}{y \cdot 2}\right)\right)}^{3}}}{\sin \left(\frac{x}{y \cdot 2}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array}\]

Reproduce

herbie shell --seed 2020075 
(FPCore (x y)
  :name "Diagrams.TwoD.Layout.CirclePacking:approxRadius from diagrams-contrib-1.3.0.5"
  :precision binary64

  :herbie-target
  (if (< y -1.2303690911306994e+114) 1 (if (< y -9.102852406811914e-222) (/ (sin (/ x (* y 2))) (* (sin (/ x (* y 2))) (log (exp (cos (/ x (* y 2))))))) 1))

  (/ (tan (/ x (* y 2))) (sin (/ x (* y 2)))))