Some mathematical functions fall back to multiple precision arithmetic for some inputs to get last bit precision for their return values. This multiple precision fallback is much slower than the default algorithms and may have a significant impact on application performance. The systemtap probe markers described in this section may help you determine if your application calls mathematical functions with inputs that may result in multiple-precision arithmetic.

Unless explicitly mentioned otherwise, a precision of 1 implies 24 bits of precision in the mantissa of the multiple precision number. Hence, a precision level of 32 implies 768 bits of precision in the mantissa.

— Probe: **slowexp_p6** (`double $arg1, double $arg2`)

This probe is hit when the

`exp`

function is called with an input that results in multiple precision computation with precision 6. Argument$arg1is the input value and$arg2is the computed output.

— Probe: **slowexp_p32** (`double $arg1, double $arg2`)

This probe is hit when the

`exp`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input value and$arg2is the computed output.

— Probe: **slowpow_p10** (`double $arg1, double $arg2, double $arg3, double $arg4`)

This probe is hit when the

`pow`

function is called with inputs that result in multiple precision computation with precision 10. Arguments$arg1and$arg2are the input values,`$arg3`

is the value computed in the fast phase of the algorithm and`$arg4`

is the final accurate value.

— Probe: **slowpow_p32** (`double $arg1, double $arg2, double $arg3, double $arg4`)

This probe is hit when the

`pow`

function is called with an input that results in multiple precision computation with precision 32. Arguments$arg1and$arg2are the input values,`$arg3`

is the value computed in the fast phase of the algorithm and`$arg4`

is the final accurate value.

— Probe: **slowlog** (`int $arg1, double $arg2, double $arg3`)

This probe is hit when the

`log`

function is called with an input that results in multiple precision computation. Argument$arg1is the precision with which the computation succeeded. Argument$arg2is the input and$arg3is the computed output.

— Probe: **slowlog_inexact** (`int $arg1, double $arg2, double $arg3`)

This probe is hit when the

`log`

function is called with an input that results in multiple precision computation and none of the multiple precision computations result in an accurate result. Argument$arg1is the maximum precision with which computations were performed. Argument$arg2is the input and$arg3is the computed output.

— Probe: **slowatan2** (`int $arg1, double $arg2, double $arg3, double $arg4`)

This probe is hit when the

`atan2`

function is called with an input that results in multiple precision computation. Argument$arg1is the precision with which computation succeeded. Arguments$arg2and$arg3are inputs to the`atan2`

function and$arg4is the computed result.

— Probe: **slowatan2_inexact** (`int $arg1, double $arg2, double $arg3, double $arg4`)

This probe is hit when the

`atan`

function is called with an input that results in multiple precision computation and none of the multiple precision computations result in an accurate result. Argument$arg1is the maximum precision with which computations were performed. Arguments$arg2and$arg3are inputs to the`atan2`

function and$arg4is the computed result.

— Probe: **slowatan** (`int $arg1, double $arg2, double $arg3`)

This probe is hit when the

`atan`

function is called with an input that results in multiple precision computation. Argument$arg1is the precision with which computation succeeded. Argument$arg2is the input to the`atan`

function and$arg3is the computed result.

— Probe: **slowatan_inexact** (`int $arg1, double $arg2, double $arg3`)

This probe is hit when the

`atan`

function is called with an input that results in multiple precision computation and none of the multiple precision computations result in an accurate result. Argument$arg1is the maximum precision with which computations were performed. Argument$arg2is the input to the`atan`

function and$arg3is the computed result.

— Probe: **slowtan** (`double $arg1, double $arg2`)

This probe is hit when the

`tan`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function and$arg2is the computed result.

— Probe: **slowasin** (`double $arg1, double $arg2`)

This probe is hit when the

`asin`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function and$arg2is the computed result.

— Probe: **slowacos** (`double $arg1, double $arg2`)

This probe is hit when the

`acos`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function and$arg2is the computed result.

— Probe: **slowsin** (`double $arg1, double $arg2`)

This probe is hit when the

`sin`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function and$arg2is the computed result.

— Probe: **slowcos** (`double $arg1, double $arg2`)

This probe is hit when the

`cos`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function and$arg2is the computed result.

— Probe: **slowsin_dx** (`double $arg1, double $arg2, double $arg3`)

This probe is hit when the

`sin`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function,$arg2is the error bound of$arg1and$arg3is the computed result.

— Probe: **slowcos_dx** (`double $arg1, double $arg2, double $arg3`)

This probe is hit when the

`cos`

function is called with an input that results in multiple precision computation with precision 32. Argument$arg1is the input to the function,$arg2is the error bound of$arg1and$arg3is the computed result.