E.V.E
v2022.09.01
Fused multiply add family

Detailed Description

These functions implements accurate versions of the operations \(\pm x \pm yz\) and \(\pm xy \pm z\).

The required accuracy is in two directions

  1. the computation is done with only one rounding
  2. there is no intermediate overflow

The implementation of these two properties can always be obtained calling the decorated pedantic and numeric versions of these functions.

Take care that can be very expansive if the proper hardware capabilities are not present.

By themselves tne regular version of these function acts the naive (and less accurate way) if the intrinsics are not at hand.

Variables

constexpr callable_fam_ eve::fam = {}
 Computes the fused add multiply of its three parameters. More...
 
constexpr callable_fanm_ eve::fanm = {}
 Computes the fused add negate multiply of its three parameters. More...
 
constexpr callable_fma_ eve::fma = {}
 Computes the fused multiply add of its three parameters. More...
 
constexpr callable_fms_ eve::fms = {}
 Computes the fused multiply substract of its three parameters. More...
 
constexpr callable_fnma_ eve::fnma = {}
 Computes the fused negate multiply add of its three parameters. More...
 
constexpr callable_fnms_ eve::fnms = {}
 Computes the fused negate multiply substract of its three parameters. More...
 
constexpr callable_fsm_ eve::fsm = {}
 Computes the fused negate add multiply of its three parameters. More...
 
constexpr callable_fsnm_ eve::fsnm = {}
 Computes the fused negate substact multiply of its three parameters. More...