# Kernel Sine > Compute the [sine][sine] of a number on `[-π/4, π/4]`.
## Usage ```javascript var kernelSin = require( '@stdlib/math/base/special/kernel-sin' ); ``` #### kernelSin( x, y ) Computes the [sine][sine] of a `number` on `[-π/4, π/4]`. For increased accuracy, the number for which the [sine][sine] should be evaluated can be supplied as a [double-double number][double-double-arithmetic] (i.e., a non-evaluated sum of two [double-precision floating-point numbers][ieee754] `x` and `y`). ```javascript var v = kernelSin( 0.0, 0.0 ); // returns ~0.0 v = kernelSin( 3.141592653589793/6.0, 0.0 ); // returns ~0.5 v = kernelSin( 0.619, 9.279e-18 ); // returns ~0.58 v = kernelSin( NaN, 0.0 ); // returns NaN v = kernelSin( 3.0, NaN ); // returns NaN v = kernelSin( NaN, NaN ); // returns NaN ```
## Notes - As components of a [double-double number][double-double-arithmetic], the two [double-precision floating-point numbers][ieee754] `x` and `y` must satisfy
Inequality for the two components of a double-double number.
where `ulp` stands for [units in the last place][ulp].
## Examples ```javascript var linspace = require( '@stdlib/array/linspace' ); var PI = require( '@stdlib/constants/float64/pi' ); var kernelSin = require( '@stdlib/math/base/special/kernel-sin' ); var x = linspace( -PI/4.0, PI/4.0, 100 ); var i; for ( i = 0; i < x.length; i++ ) { console.log( 'kernelSin(%d) = %d', x[ i ], kernelSin( x[ i ], 0.0 ) ); } ```