Math FPCore C Julia Wolfram TeX \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d}
\]
↓
\[\begin{array}{l}
t_0 := \frac{1}{\mathsf{hypot}\left(c, d\right)}\\
t_1 := t_0 \cdot \frac{\mathsf{fma}\left(a, c, d \cdot b\right)}{\mathsf{hypot}\left(c, d\right)}\\
\mathbf{if}\;c \leq -4.57134307228816 \cdot 10^{+58}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{elif}\;c \leq -1 \cdot 10^{-115}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 10^{-130}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;c \leq 2.281947855931773 \cdot 10^{+159}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_0 \cdot \mathsf{fma}\left(\frac{d}{c}, b, a\right)\\
\end{array}
\]
(FPCore (a b c d)
:precision binary64
(/ (+ (* a c) (* b d)) (+ (* c c) (* d d)))) ↓
(FPCore (a b c d)
:precision binary64
(let* ((t_0 (/ 1.0 (hypot c d)))
(t_1 (* t_0 (/ (fma a c (* d b)) (hypot c d)))))
(if (<= c -4.57134307228816e+58)
(+ (/ a c) (* (/ d c) (/ b c)))
(if (<= c -1e-115)
t_1
(if (<= c 1e-130)
(+ (/ b d) (/ (* a (/ c d)) d))
(if (<= c 2.281947855931773e+159) t_1 (* t_0 (fma (/ d c) b a)))))))) double code(double a, double b, double c, double d) {
return ((a * c) + (b * d)) / ((c * c) + (d * d));
}
↓
double code(double a, double b, double c, double d) {
double t_0 = 1.0 / hypot(c, d);
double t_1 = t_0 * (fma(a, c, (d * b)) / hypot(c, d));
double tmp;
if (c <= -4.57134307228816e+58) {
tmp = (a / c) + ((d / c) * (b / c));
} else if (c <= -1e-115) {
tmp = t_1;
} else if (c <= 1e-130) {
tmp = (b / d) + ((a * (c / d)) / d);
} else if (c <= 2.281947855931773e+159) {
tmp = t_1;
} else {
tmp = t_0 * fma((d / c), b, a);
}
return tmp;
}
function code(a, b, c, d)
return Float64(Float64(Float64(a * c) + Float64(b * d)) / Float64(Float64(c * c) + Float64(d * d)))
end
↓
function code(a, b, c, d)
t_0 = Float64(1.0 / hypot(c, d))
t_1 = Float64(t_0 * Float64(fma(a, c, Float64(d * b)) / hypot(c, d)))
tmp = 0.0
if (c <= -4.57134307228816e+58)
tmp = Float64(Float64(a / c) + Float64(Float64(d / c) * Float64(b / c)));
elseif (c <= -1e-115)
tmp = t_1;
elseif (c <= 1e-130)
tmp = Float64(Float64(b / d) + Float64(Float64(a * Float64(c / d)) / d));
elseif (c <= 2.281947855931773e+159)
tmp = t_1;
else
tmp = Float64(t_0 * fma(Float64(d / c), b, a));
end
return tmp
end
code[a_, b_, c_, d_] := N[(N[(N[(a * c), $MachinePrecision] + N[(b * d), $MachinePrecision]), $MachinePrecision] / N[(N[(c * c), $MachinePrecision] + N[(d * d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[a_, b_, c_, d_] := Block[{t$95$0 = N[(1.0 / N[Sqrt[c ^ 2 + d ^ 2], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * N[(N[(a * c + N[(d * b), $MachinePrecision]), $MachinePrecision] / N[Sqrt[c ^ 2 + d ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -4.57134307228816e+58], N[(N[(a / c), $MachinePrecision] + N[(N[(d / c), $MachinePrecision] * N[(b / c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1e-115], t$95$1, If[LessEqual[c, 1e-130], N[(N[(b / d), $MachinePrecision] + N[(N[(a * N[(c / d), $MachinePrecision]), $MachinePrecision] / d), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.281947855931773e+159], t$95$1, N[(t$95$0 * N[(N[(d / c), $MachinePrecision] * b + a), $MachinePrecision]), $MachinePrecision]]]]]]]
\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d}
↓
\begin{array}{l}
t_0 := \frac{1}{\mathsf{hypot}\left(c, d\right)}\\
t_1 := t_0 \cdot \frac{\mathsf{fma}\left(a, c, d \cdot b\right)}{\mathsf{hypot}\left(c, d\right)}\\
\mathbf{if}\;c \leq -4.57134307228816 \cdot 10^{+58}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{elif}\;c \leq -1 \cdot 10^{-115}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 10^{-130}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;c \leq 2.281947855931773 \cdot 10^{+159}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_0 \cdot \mathsf{fma}\left(\frac{d}{c}, b, a\right)\\
\end{array}
Alternatives Alternative 1 Error 10.2 Cost 20560
\[\begin{array}{l}
t_0 := \frac{1}{\mathsf{hypot}\left(c, d\right) \cdot \frac{\mathsf{hypot}\left(c, d\right)}{\mathsf{fma}\left(a, c, d \cdot b\right)}}\\
\mathbf{if}\;c \leq -4.57134307228816 \cdot 10^{+58}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{elif}\;c \leq -1 \cdot 10^{-115}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;c \leq 10^{-130}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;c \leq 2.281947855931773 \cdot 10^{+159}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \mathsf{fma}\left(\frac{d}{c}, b, a\right)\\
\end{array}
\]
Alternative 2 Error 11.3 Cost 13968
\[\begin{array}{l}
t_0 := \frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\
\mathbf{if}\;c \leq -4.57134307228816 \cdot 10^{+58}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{elif}\;c \leq -1 \cdot 10^{-115}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;c \leq 10^{-130}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;c \leq 7.2010048922993756 \cdot 10^{+81}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \mathsf{fma}\left(\frac{d}{c}, b, a\right)\\
\end{array}
\]
Alternative 3 Error 11.4 Cost 1488
\[\begin{array}{l}
t_0 := \frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\
t_1 := \frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{if}\;c \leq -4.57134307228816 \cdot 10^{+58}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -1 \cdot 10^{-115}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;c \leq 10^{-130}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;c \leq 5.346374350427911 \cdot 10^{+74}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\]
Alternative 4 Error 20.6 Cost 1232
\[\begin{array}{l}
t_0 := \frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{if}\;d \leq -7.558892591188873 \cdot 10^{+161}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq -1.4308316382960976 \cdot 10^{+60}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;d \leq -925777994571.0144:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq 1.917726867369815 \cdot 10^{+76}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{b}{d}\\
\end{array}
\]
Alternative 5 Error 16.9 Cost 968
\[\begin{array}{l}
t_0 := \frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{if}\;d \leq -1.8151233042098852 \cdot 10^{-55}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;d \leq 1.917726867369815 \cdot 10^{+76}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 6 Error 16.8 Cost 968
\[\begin{array}{l}
\mathbf{if}\;d \leq -1.8151233042098852 \cdot 10^{-55}:\\
\;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\
\mathbf{elif}\;d \leq 1.917726867369815 \cdot 10^{+76}:\\
\;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\
\mathbf{else}:\\
\;\;\;\;\frac{b}{d} + \frac{c}{d} \cdot \frac{a}{d}\\
\end{array}
\]
Alternative 7 Error 24.7 Cost 720
\[\begin{array}{l}
\mathbf{if}\;d \leq -3.395567488801678 \cdot 10^{+109}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq -1.0363538935864317 \cdot 10^{+67}:\\
\;\;\;\;\frac{\frac{b}{c}}{\frac{c}{d}}\\
\mathbf{elif}\;d \leq -1.8151233042098852 \cdot 10^{-55}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq 1.917726867369815 \cdot 10^{+76}:\\
\;\;\;\;\frac{a}{c}\\
\mathbf{else}:\\
\;\;\;\;\frac{b}{d}\\
\end{array}
\]
Alternative 8 Error 25.6 Cost 720
\[\begin{array}{l}
\mathbf{if}\;d \leq -7.145997256351953 \cdot 10^{+173}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq -9.781394454418386 \cdot 10^{+74}:\\
\;\;\;\;\frac{c}{d \cdot \frac{d}{a}}\\
\mathbf{elif}\;d \leq -1.8151233042098852 \cdot 10^{-55}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{elif}\;d \leq 1.917726867369815 \cdot 10^{+76}:\\
\;\;\;\;\frac{a}{c}\\
\mathbf{else}:\\
\;\;\;\;\frac{b}{d}\\
\end{array}
\]
Alternative 9 Error 22.9 Cost 584
\[\begin{array}{l}
\mathbf{if}\;c \leq -1.4263770608205756 \cdot 10^{-28}:\\
\;\;\;\;\frac{a}{c}\\
\mathbf{elif}\;c \leq 26419729.609084405:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{c}{a}}\\
\end{array}
\]
Alternative 10 Error 22.9 Cost 456
\[\begin{array}{l}
\mathbf{if}\;c \leq -1.4263770608205756 \cdot 10^{-28}:\\
\;\;\;\;\frac{a}{c}\\
\mathbf{elif}\;c \leq 1.0595451483748359 \cdot 10^{-11}:\\
\;\;\;\;\frac{b}{d}\\
\mathbf{else}:\\
\;\;\;\;\frac{a}{c}\\
\end{array}
\]
Alternative 11 Error 58.6 Cost 192
\[\frac{a}{d}
\]
Alternative 12 Error 38.2 Cost 192
\[\frac{b}{d}
\]