mirror of
https://github.com/Nexoniarz/Finch.git
synced 2026-11-03 00:44:27 +00:00
- a * b + c is two roundings on every processor and --cpu: the IR has no fast-math flags, and clang compiles it with -ffp-contract=on (checked in the assembly: never fused, also with FMA hardware) - fma(a, b, c) / v.fma(b, c): one rounding, always (llvm.fma) - muladd(a, b, c) / v.muladd(b, c): the fastest way here (llvm.fmuladd), what v.fma was before - f32_bits / f32_from_bits / f64_bits / f64_from_bits: bitcasts, also of vectors - f16_to_f32 / f32_to_f16 (LLVM half), bf16_to_f32 / f32_to_bf16 (integer ops, ties to even, NaN kept) - docs (en, pl): what is guaranteed about floats, the new built-ins Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Psc42moPLwP43Cmb9oZqSR
13 lines
395 B
Text
13 lines
395 B
Text
0 5.551115123125783e-17
|
|
1.4901161e-08 10
|
|
3.25 f32x4(3.25, 3.25, 3.25, 3.25) 1.4901161e-08
|
|
0
|
|
1065353216 4607182418800017408 2147483648
|
|
3.1415927 2.5 -1
|
|
inf u32x4(1065353216, 1073741824, 3221225472, 1056964608)
|
|
1 -2 65504 5.9604645e-08
|
|
11878 31743 31744 0.3330078
|
|
f32x8(1, 2, 3, 4, 0, -0, 0.5, 0.25)
|
|
1 3.140625 16457
|
|
16256 16258 32704
|
|
u16x4(16256, 49152, 16128, 16457) f32x4(1, -2, 0.5, 3.140625)
|