Destination given bearing on a great circle

?

Percentage Accurate: 99.8% → 99.8%
Time: 29.1s
Precision: binary64
Cost: 181504

?

\[\lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)} \]
\[\begin{array}{l} t_1 := \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)\\ t_2 := -\sin \phi_1\\ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(t_1, t_2, \cos delta\right) + \mathsf{fma}\left(t_2, t_1, \sin \phi_1 \cdot t_1\right)} \end{array} \]
(FPCore (lambda1 phi1 phi2 delta theta)
 :precision binary64
 (+
  lambda1
  (atan2
   (* (* (sin theta) (sin delta)) (cos phi1))
   (-
    (cos delta)
    (*
     (sin phi1)
     (sin
      (asin
       (+
        (* (sin phi1) (cos delta))
        (* (* (cos phi1) (sin delta)) (cos theta))))))))))
(FPCore (lambda1 phi1 phi2 delta theta)
 :precision binary64
 (let* ((t_1
         (fma
          (cos delta)
          (sin phi1)
          (* (sin delta) (* (cos phi1) (cos theta)))))
        (t_2 (- (sin phi1))))
   (+
    lambda1
    (atan2
     (* (sin theta) (* (sin delta) (cos phi1)))
     (+ (fma t_1 t_2 (cos delta)) (fma t_2 t_1 (* (sin phi1) t_1)))))))
double code(double lambda1, double phi1, double phi2, double delta, double theta) {
	return lambda1 + atan2(((sin(theta) * sin(delta)) * cos(phi1)), (cos(delta) - (sin(phi1) * sin(asin(((sin(phi1) * cos(delta)) + ((cos(phi1) * sin(delta)) * cos(theta))))))));
}
double code(double lambda1, double phi1, double phi2, double delta, double theta) {
	double t_1 = fma(cos(delta), sin(phi1), (sin(delta) * (cos(phi1) * cos(theta))));
	double t_2 = -sin(phi1);
	return lambda1 + atan2((sin(theta) * (sin(delta) * cos(phi1))), (fma(t_1, t_2, cos(delta)) + fma(t_2, t_1, (sin(phi1) * t_1))));
}
function code(lambda1, phi1, phi2, delta, theta)
	return Float64(lambda1 + atan(Float64(Float64(sin(theta) * sin(delta)) * cos(phi1)), Float64(cos(delta) - Float64(sin(phi1) * sin(asin(Float64(Float64(sin(phi1) * cos(delta)) + Float64(Float64(cos(phi1) * sin(delta)) * cos(theta)))))))))
end
function code(lambda1, phi1, phi2, delta, theta)
	t_1 = fma(cos(delta), sin(phi1), Float64(sin(delta) * Float64(cos(phi1) * cos(theta))))
	t_2 = Float64(-sin(phi1))
	return Float64(lambda1 + atan(Float64(sin(theta) * Float64(sin(delta) * cos(phi1))), Float64(fma(t_1, t_2, cos(delta)) + fma(t_2, t_1, Float64(sin(phi1) * t_1)))))
end
code[lambda1_, phi1_, phi2_, delta_, theta_] := N[(lambda1 + N[ArcTan[N[(N[(N[Sin[theta], $MachinePrecision] * N[Sin[delta], $MachinePrecision]), $MachinePrecision] * N[Cos[phi1], $MachinePrecision]), $MachinePrecision] / N[(N[Cos[delta], $MachinePrecision] - N[(N[Sin[phi1], $MachinePrecision] * N[Sin[N[ArcSin[N[(N[(N[Sin[phi1], $MachinePrecision] * N[Cos[delta], $MachinePrecision]), $MachinePrecision] + N[(N[(N[Cos[phi1], $MachinePrecision] * N[Sin[delta], $MachinePrecision]), $MachinePrecision] * N[Cos[theta], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
code[lambda1_, phi1_, phi2_, delta_, theta_] := Block[{t$95$1 = N[(N[Cos[delta], $MachinePrecision] * N[Sin[phi1], $MachinePrecision] + N[(N[Sin[delta], $MachinePrecision] * N[(N[Cos[phi1], $MachinePrecision] * N[Cos[theta], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = (-N[Sin[phi1], $MachinePrecision])}, N[(lambda1 + N[ArcTan[N[(N[Sin[theta], $MachinePrecision] * N[(N[Sin[delta], $MachinePrecision] * N[Cos[phi1], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(t$95$1 * t$95$2 + N[Cos[delta], $MachinePrecision]), $MachinePrecision] + N[(t$95$2 * t$95$1 + N[(N[Sin[phi1], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
\lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)}
\begin{array}{l}
t_1 := \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)\\
t_2 := -\sin \phi_1\\
\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(t_1, t_2, \cos delta\right) + \mathsf{fma}\left(t_2, t_1, \sin \phi_1 \cdot t_1\right)}
\end{array}

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Herbie found 15 alternatives:

AlternativeAccuracySpeedup

Accuracy vs Speed

The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Bogosity?

Bogosity

Derivation?

  1. Initial program 99.6%

    \[\lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)} \]
  2. Simplified99.6%

    \[\leadsto \color{blue}{\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)\right)}} \]
    Step-by-step derivation

    [Start]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)} \]

    associate-*l* [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\color{blue}{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)} \]

    cancel-sign-sub-inv [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\cos delta + \left(-\sin \phi_1\right) \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)}} \]

    cancel-sign-sub [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\cos delta - \left(-\left(-\sin \phi_1\right)\right) \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)}} \]

    remove-double-neg [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\sin \phi_1} \cdot \sin \sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)} \]

    fma-def [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \color{blue}{\left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}} \]

    associate-*l* [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \color{blue}{\cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)}\right)\right)} \]
  3. Applied egg-rr99.5%

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \cos theta \cdot \left(\sin delta \cdot \cos \phi_1\right)\right)\right)\right)}} \]
    Step-by-step derivation

    [Start]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \sin \sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)\right)} \]

    sin-asin [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \color{blue}{\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)}} \]

    add-sqr-sqrt [=>]52.5%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\left(\sqrt{\sin \phi_1} \cdot \sqrt{\sin \phi_1}\right)} \cdot \mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)} \]

    sqrt-unprod [=>]94.7%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\sqrt{\sin \phi_1 \cdot \sin \phi_1}} \cdot \mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)} \]

    sqr-neg [<=]94.7%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sqrt{\color{blue}{\left(-\sin \phi_1\right) \cdot \left(-\sin \phi_1\right)}} \cdot \mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)} \]

    sqrt-unprod [<=]42.2%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\left(\sqrt{-\sin \phi_1} \cdot \sqrt{-\sin \phi_1}\right)} \cdot \mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)} \]

    add-sqr-sqrt [<=]88.1%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\left(-\sin \phi_1\right)} \cdot \mathsf{fma}\left(\sin \phi_1, \cos delta, \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)} \]

    fma-udef [=>]88.1%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \left(-\sin \phi_1\right) \cdot \color{blue}{\left(\sin \phi_1 \cdot \cos delta + \cos \phi_1 \cdot \left(\sin delta \cdot \cos theta\right)\right)}} \]

    associate-*r* [=>]88.1%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \left(-\sin \phi_1\right) \cdot \left(\sin \phi_1 \cdot \cos delta + \color{blue}{\left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta}\right)} \]

    log1p-expm1-u [=>]88.1%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\left(-\sin \phi_1\right) \cdot \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)\right)}} \]
  4. Applied egg-rr99.6%

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\left(\cos delta - \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)}} \]
    Step-by-step derivation

    [Start]99.5%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \cos theta \cdot \left(\sin delta \cdot \cos \phi_1\right)\right)\right)\right)} \]

    *-un-lft-identity [=>]99.5%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{1 \cdot \cos delta} - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \cos theta \cdot \left(\sin delta \cdot \cos \phi_1\right)\right)\right)\right)} \]

    log1p-expm1-u [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \color{blue}{\sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \cos theta \cdot \left(\sin delta \cdot \cos \phi_1\right)\right)}} \]

    fma-udef [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \sin \phi_1 \cdot \color{blue}{\left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\sin delta \cdot \cos \phi_1\right)\right)}} \]

    *-commutative [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \sin \phi_1 \cdot \left(\cos delta \cdot \sin \phi_1 + \color{blue}{\left(\sin delta \cdot \cos \phi_1\right) \cdot \cos theta}\right)} \]

    associate-*r* [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \sin \phi_1 \cdot \left(\cos delta \cdot \sin \phi_1 + \color{blue}{\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)}\right)} \]

    +-commutative [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \sin \phi_1 \cdot \color{blue}{\left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right)}} \]

    sin-asin [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{1 \cdot \cos delta - \sin \phi_1 \cdot \color{blue}{\sin \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right)}} \]

    prod-diff [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\mathsf{fma}\left(1, \cos delta, -\sin \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right) \cdot \sin \phi_1\right) + \mathsf{fma}\left(-\sin \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right) \cdot \sin \phi_1\right)}} \]
  5. Simplified99.6%

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right), -\sin \phi_1, \cos delta\right) + \mathsf{fma}\left(-\sin \phi_1, \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right), \sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)\right)}} \]
    Step-by-step derivation

    [Start]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\left(\cos delta - \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    cancel-sign-sub-inv [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\left(\cos delta + \left(-\sin \phi_1\right) \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    *-commutative [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\left(\cos delta + \color{blue}{\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right) \cdot \left(-\sin \phi_1\right)}\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    +-commutative [<=]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\left(\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right) \cdot \left(-\sin \phi_1\right) + \cos delta\right)} + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    fma-def [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), -\sin \phi_1, \cos delta\right)} + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    fma-udef [=>]99.7%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\color{blue}{\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1}, -\sin \phi_1, \cos delta\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    +-commutative [<=]99.7%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\color{blue}{\cos delta \cdot \sin \phi_1 + \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)}, -\sin \phi_1, \cos delta\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]

    fma-def [=>]99.6%

    \[ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)}, -\sin \phi_1, \cos delta\right) + \mathsf{fma}\left(-\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), \sin \phi_1, \sin \phi_1 \cdot \mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right)\right)} \]
  6. Final simplification99.6%

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right), -\sin \phi_1, \cos delta\right) + \mathsf{fma}\left(-\sin \phi_1, \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right), \sin \phi_1 \cdot \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)\right)} \]

Alternatives

Alternative 1
Accuracy99.8%
Cost181504
\[\begin{array}{l} t_1 := \mathsf{fma}\left(\cos delta, \sin \phi_1, \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\right)\\ t_2 := -\sin \phi_1\\ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(t_1, t_2, \cos delta\right) + \mathsf{fma}\left(t_2, t_1, \sin \phi_1 \cdot t_1\right)} \end{array} \]
Alternative 2
Accuracy99.8%
Cost175232
\[\begin{array}{l} t_1 := \sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right)\\ t_2 := \mathsf{fma}\left(\cos delta, \sin \phi_1, t_1\right)\\ t_3 := -\sin \phi_1\\ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(t_2, t_3, \cos delta\right) + \mathsf{fma}\left(t_3, t_2, \sin \phi_1 \cdot \left(t_1 + \cos delta \cdot \sin \phi_1\right)\right)} \end{array} \]
Alternative 3
Accuracy99.8%
Cost84288
\[\lambda_1 + \tan^{-1}_* \frac{\sin delta \cdot \left(\sin theta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\sin delta, \cos \phi_1 \cdot \cos theta, \cos delta \cdot \sin \phi_1\right), -\sin \phi_1, \cos delta\right)} \]
Alternative 4
Accuracy99.8%
Cost71680
\[\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right)} \]
Alternative 5
Accuracy99.8%
Cost71680
\[\lambda_1 + \tan^{-1}_* \frac{\sin delta \cdot \left(\sin theta \cdot \cos \phi_1\right)}{\cos delta - \sin \phi_1 \cdot \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \cos delta \cdot \sin \phi_1\right)} \]
Alternative 6
Accuracy94.8%
Cost65152
\[\begin{array}{l} t_1 := \sin delta \cdot \cos \phi_1\\ \lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot t_1}{\cos delta - \sin \phi_1 \cdot \left(t_1 + \cos delta \cdot \sin \phi_1\right)} \end{array} \]
Alternative 7
Accuracy92.6%
Cost64704
\[\lambda_1 + \tan^{-1}_* \frac{\sin delta \cdot \left(\sin theta \cdot \cos \phi_1\right)}{\mathsf{fma}\left(\sin \sin^{-1} \sin \phi_1, -\sin \phi_1, \cos delta\right)} \]
Alternative 8
Accuracy92.6%
Cost45504
\[\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \left(\sin delta \cdot \cos \phi_1\right)}{\cos delta - {\sin \phi_1}^{2}} \]
Alternative 9
Accuracy92.3%
Cost45444
\[\begin{array}{l} t_1 := \sin delta \cdot \left(\sin theta \cdot \cos \phi_1\right)\\ \mathbf{if}\;delta \leq -6.8 \cdot 10^{-7}:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{\mathsf{log1p}\left(\mathsf{expm1}\left(t_1\right)\right)}{\cos delta}\\ \mathbf{elif}\;delta \leq 185:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{t_1}{{\cos \phi_1}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin theta \cdot \sin delta\right)}{\cos delta}\\ \end{array} \]
Alternative 10
Accuracy92.3%
Cost39241
\[\begin{array}{l} \mathbf{if}\;delta \leq -6.8 \cdot 10^{-7} \lor \neg \left(delta \leq 160\right):\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin theta \cdot \sin delta\right)}{\cos delta}\\ \mathbf{else}:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{\sin delta \cdot \left(\sin theta \cdot \cos \phi_1\right)}{{\cos \phi_1}^{2}}\\ \end{array} \]
Alternative 11
Accuracy89.2%
Cost32512
\[\lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin theta \cdot \sin delta\right)}{\cos delta} \]
Alternative 12
Accuracy87.0%
Cost25984
\[\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot \sin delta}{\cos delta} \]
Alternative 13
Accuracy80.5%
Cost19849
\[\begin{array}{l} \mathbf{if}\;delta \leq -0.105 \lor \neg \left(delta \leq 3.9 \cdot 10^{+82}\right):\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{theta \cdot \sin delta}{\cos delta}\\ \mathbf{else}:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{\sin theta \cdot delta}{\cos delta}\\ \end{array} \]
Alternative 14
Accuracy75.7%
Cost19716
\[\begin{array}{l} \mathbf{if}\;theta \leq -66000000000:\\ \;\;\;\;\lambda_1\\ \mathbf{else}:\\ \;\;\;\;\lambda_1 + \tan^{-1}_* \frac{theta \cdot \sin delta}{\cos delta}\\ \end{array} \]
Alternative 15
Accuracy70.7%
Cost64
\[\lambda_1 \]

Reproduce?

herbie shell --seed 2023165 
(FPCore (lambda1 phi1 phi2 delta theta)
  :name "Destination given bearing on a great circle"
  :precision binary64
  (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))