function sind( x ) {
	var arx;
	var rx;

	if (
		isInfinite( x ) ||
		isnan( x )
	) {
		return NaN;
	}

	rx = fmod( x, 360.0 );
	arx = abs( rx );

	if ( rx === 0.0 ) {
		return rx;
	}
	if ( arx < 45.0 ) {
		return kernelSin( deg2rad( rx ), 0.0 );
	}
	if ( arx <= 135.0 ) {
		return signum( rx ) * kernelCos( deg2rad( 90.0-arx ), 0.0 );
	}
	if ( arx === 180.0 ) {
		return signum( rx ) * 0.0;
	}
	if ( arx < 225.0 ) {
		return kernelSin( deg2rad( ( 180.0-arx )*signum( rx ) ), 0.0 );
	}
	if ( arx <= 315.0 ) {
		return -signum( rx ) * kernelCos( deg2rad( 270.0-arx ), 0.0 );
	}
	return kernelSin( deg2rad( rx-( 360.0*signum( rx ) ) ), 0.0 );
}
Computes the sine of an angle measured in degrees.

@param {number} x - input value (in degrees)
@returns {number} sine

@example
var v = sind( 0.0 );
// returns 0.0

@example
var v = sind( 90.0 );
// returns 1.0

@example
var v = sind( 30.0 );
// returns ~0.5

@example
var v = sind( NaN );
// returns NaN