\[\left(\left(\left(\left(0 \leq n \land n \leq 1000\right) \land \left(-1000 \leq sumxy \land sumxy \leq 1000\right)\right) \land \left(-1000 \leq sumx \land sumx \leq 1000\right)\right) \land \left(-1000 \leq sumy \land sumy \leq 1000\right)\right) \land \left(-1000 \leq denom \land denom \leq 1000\right)\]
\[ \begin{array}{c}[n, sumxy] = \mathsf{sort}([n, sumxy])\\ [sumx, sumy] = \mathsf{sort}([sumx, sumy])\\ \end{array} \]
\[\frac{n \cdot sumxy - sumx \cdot sumy}{denom}
\]
↓
\[\mathsf{fma}\left(n, \frac{sumxy}{denom}, \frac{sumx}{denom} \cdot \left(-sumy\right)\right)
\]
(FPCore (n sumxy sumx sumy denom)
:precision binary64
(/ (- (* n sumxy) (* sumx sumy)) denom))
↓
(FPCore (n sumxy sumx sumy denom)
:precision binary64
(fma n (/ sumxy denom) (* (/ sumx denom) (- sumy))))
double code(double n, double sumxy, double sumx, double sumy, double denom) {
return ((n * sumxy) - (sumx * sumy)) / denom;
}
↓
double code(double n, double sumxy, double sumx, double sumy, double denom) {
return fma(n, (sumxy / denom), ((sumx / denom) * -sumy));
}
function code(n, sumxy, sumx, sumy, denom)
return Float64(Float64(Float64(n * sumxy) - Float64(sumx * sumy)) / denom)
end
↓
function code(n, sumxy, sumx, sumy, denom)
return fma(n, Float64(sumxy / denom), Float64(Float64(sumx / denom) * Float64(-sumy)))
end
code[n_, sumxy_, sumx_, sumy_, denom_] := N[(N[(N[(n * sumxy), $MachinePrecision] - N[(sumx * sumy), $MachinePrecision]), $MachinePrecision] / denom), $MachinePrecision]
↓
code[n_, sumxy_, sumx_, sumy_, denom_] := N[(n * N[(sumxy / denom), $MachinePrecision] + N[(N[(sumx / denom), $MachinePrecision] * (-sumy)), $MachinePrecision]), $MachinePrecision]
\frac{n \cdot sumxy - sumx \cdot sumy}{denom}
↓
\mathsf{fma}\left(n, \frac{sumxy}{denom}, \frac{sumx}{denom} \cdot \left(-sumy\right)\right)
Alternatives
Alternative 1 |
---|
Error | 5.5 |
---|
Cost | 1096 |
---|
\[\begin{array}{l}
t_0 := \frac{n \cdot sumxy - sumy \cdot sumx}{denom}\\
\mathbf{if}\;n \cdot sumxy \leq -2 \cdot 10^{-320}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;n \cdot sumxy \leq 0:\\
\;\;\;\;\frac{sumx}{denom} \cdot \left(-sumy\right)\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 2 |
---|
Error | 19.4 |
---|
Cost | 912 |
---|
\[\begin{array}{l}
t_0 := sumx \cdot \frac{-sumy}{denom}\\
\mathbf{if}\;sumx \leq -3.60440928091478 \cdot 10^{-91}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;sumx \leq -1.6565276756463553 \cdot 10^{-135}:\\
\;\;\;\;sumxy \cdot \frac{n}{denom}\\
\mathbf{elif}\;sumx \leq -1.5994425465466402 \cdot 10^{-155}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;sumx \leq 1.0011034748185995 \cdot 10^{-235}:\\
\;\;\;\;n \cdot \frac{sumxy}{denom}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 3 |
---|
Error | 19.4 |
---|
Cost | 912 |
---|
\[\begin{array}{l}
t_0 := \frac{sumx}{denom} \cdot \left(-sumy\right)\\
\mathbf{if}\;sumx \leq -3.60440928091478 \cdot 10^{-91}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;sumx \leq -1.6565276756463553 \cdot 10^{-135}:\\
\;\;\;\;sumxy \cdot \frac{n}{denom}\\
\mathbf{elif}\;sumx \leq -1.5994425465466402 \cdot 10^{-155}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;sumx \leq 1.0011034748185995 \cdot 10^{-235}:\\
\;\;\;\;n \cdot \frac{sumxy}{denom}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 4 |
---|
Error | 0.3 |
---|
Cost | 704 |
---|
\[\frac{n}{\frac{denom}{sumxy}} - \frac{sumx}{\frac{denom}{sumy}}
\]
Alternative 5 |
---|
Error | 30.3 |
---|
Cost | 320 |
---|
\[sumxy \cdot \frac{n}{denom}
\]
Alternative 6 |
---|
Error | 30.3 |
---|
Cost | 320 |
---|
\[n \cdot \frac{sumxy}{denom}
\]