Skip to content

FSINCOSA

Operation

Atomically writes paired sine and cosine approximations over the reduced pi/4 interval.

Assembler Syntax

FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)

Privilege

Unprivileged

Required CPUID flags

FP

FPTRANSA

Repeat eligibility

REP eligible

Computes the paired \(\sin(x)\) and \(\cos(x)\) references in radians over finite \(x\) with \(|x| \le \pi/4\) after DAZ and writes implementation-bounded S- or D-format approximations under the selected FPTRANSA accuracy contract.

The required FPTRANSA_ACCURACY contract is 0x0004.

Special values

  • Matching destination registers: INVALID_OPERAND_RELATION is raised before operands or floating-point state are read.

  • Infinite source or source magnitude above \(\pi/4\): NV is generated and both results are the architectural default quiet NaN.

  • Zero source: the sine result preserves the source zero and the cosine result is positive one.

Exact anchors

  • \(\sin(+0) = +0\) and \(\cos(+0) = +1\)

  • \(\sin(-0) = -0\) and \(\cos(-0) = +1\)

Required properties

  • the ULP bound applies independently to both results

  • separate FSINA and FCOSA executions may produce different results

For nontrapping execution, the sine and cosine destinations are written atomically.

2.75in

Encodings

FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)

Format: Instruction format for FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)

Format: Instruction format for FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)

sin_dst, cos_dstillegal_instruction