{"schema":"https://ver.cy/schemas/card/1.0.0","id":"vr.tr.half-precision-floating-point-format","code":"thing-q1994657","url":"https://ver.cy/models/thing/q1994657/","name":"half-precision floating-point format","alternateNames":[],"kind":"thing","status":"published","version":"0.1.0-research.1","language":"en","classifiers":{"family":"Thing Registry","category":"Cross-cutting context","entryKind":"thing","plane":"XCT","domain":["XCT.QLT"],"industry":[],"navPath":"","tags":[],"facets":{}},"whatItIs":"A half-precision floating-point format represents numerical values in 16 bits, most commonly using IEEE 754 binary16 with one sign bit, five exponent bits and ten explicitly stored fraction bits.","purpose":"Enable an agent to identify a half-precision floating-point format, interpret its encodings, and judge whether storing, converting, or computing with it meets a stated numerical requirement.","scope":{"in":["Format identity, specification authority, and interpretation of names such as half and FP16","Bit fields, decoding rules, representable values, and exceptional encodings","Range, spacing, precision, and representability boundaries","Conversion and arithmetic behavior required or selected by an implementation profile","Evidence needed to assess interoperability and numerical suitability"],"out":["Full models of neighbouring formats such as binary32, bfloat16, fixed-point, and posits","Processor architecture, instruction scheduling, and hardware design","Complete programming-language type systems and compiler models","Tensor layouts, image containers, and transport protocols beyond their format bindings","Application algorithms and their domain-specific correctness criteria"],"boundaries":[]},"distinguishingFeatures":["Require a documented floating-point decoding rule; a 16-bit storage width alone does not distinguish half precision from integers or fixed-point values.","For the binary16 reference profile, test for one sign bit, five exponent bits, and ten stored fraction bits, giving eleven bits of normal significand precision. [OpenEXR technical introduction](https://openexr.com/en/latest/TechnicalIntroduction.html#the-half-data-type)","Inspect the treatment of the all-ones exponent: IEEE and Arm alternative half formats are incompatible despite sharing the half-precision label. [GCC half-precision documentation](https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html)","Identify the representation separately from the language type and evaluation precision; a half storage type does not establish that expressions execute in half precision. [GCC half-precision documentation](https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html)"],"structure":{"bundles":[{"id":"format-identity","name":"Format identity","description":"Establish what a half-precision claim denotes in its originating context.","layers":[{"id":"profile-resolution","name":"Profile resolution","description":"Resolve names to representation contracts.","findings":[{"id":"label-to-profile","name":"Label to profile","description":"Record the originating label and the evidence identifying its exact format; leave unresolved labels explicitly ambiguous.","questions":[{"text":"Which specification or producer declaration determines what half or FP16 means here?","id":"label-to-profile-q01","kind":"provenance"},{"text":"Does the declared representation match binary16, a documented alternative half format, or a neighbouring numerical type?","id":"label-to-profile-q02","kind":"boundary"}]}]},{"id":"specification-binding","name":"Specification binding","description":"Separate normative format definitions from implementation promises.","findings":[{"id":"authority-and-extent","name":"Authority and extent","description":"Attach each claimed behavior to the specification edition or implementation contract that supports it.","questions":[{"text":"Which edition and clauses define the encoding and associated numerical behavior?","id":"authority-and-extent-q01","kind":"provenance"},{"text":"Does the implementation claim encoding compatibility, conversion support, arithmetic support, or some combination?","id":"authority-and-extent-q02","kind":"definition"}]}]}]},{"id":"encoding-and-value-classes","name":"Encoding and value classes","description":"Describe how a raw half-precision word acquires numerical meaning.","layers":[{"id":"finite-decoding","name":"Finite decoding","description":"Capture the mapping from fields to finite values.","findings":[{"id":"field-interpretation","name":"Field interpretation","description":"Record radix, field positions, exponent bias, and separate decoding rules for normal and subnormal values.","questions":[{"text":"How are the sign, exponent, and fraction fields located and interpreted?","id":"field-interpretation-q01","kind":"definition"},{"text":"Which exponent encodings change the leading-significand rule or select a non-normal class?","id":"field-interpretation-q02","kind":"boundary"}]}]},{"id":"exceptional-encodings","name":"Exceptional encodings","description":"Identify zero, infinity, and NaN distinctions supported by the profile.","findings":[{"id":"special-value-distinction","name":"Special value distinction","description":"Track supported exceptional classes and any required preservation of zero signs, NaN payloads, or signaling distinctions.","questions":[{"text":"Which bit patterns represent signed zeros, infinities, and NaNs under this profile?","id":"special-value-distinction-q01","kind":"definition"},{"text":"Which distinctions must an agent preserve when inspecting, copying, comparing, or converting these encodings?","id":"special-value-distinction-q02","kind":"action"}]}]}]},{"id":"range-and-resolution","name":"Range and resolution","description":"Expose the limits that determine whether a numerical requirement fits the format.","layers":[{"id":"representability-boundaries","name":"Representability boundaries","description":"Locate finite limits and the transition into subnormal values.","findings":[{"id":"range-thresholds","name":"Range thresholds","description":"Record maximum finite magnitude, minimum positive normal, and minimum positive subnormal separately from operation-dependent overflow and underflow behavior.","questions":[{"text":"What are the exact finite and subnormal limits of the selected profile?","id":"range-thresholds-q01","kind":"measurement"},{"text":"Which required input values fall outside those limits or inside the subnormal interval?","id":"range-thresholds-q02","kind":"measurement"}]}]},{"id":"quantization-error","name":"Quantization error","description":"Assess resolution at the magnitudes an application actually uses.","findings":[{"id":"spacing-and-tolerance","name":"Spacing and tolerance","description":"Record adjacent-value spacing and conversion error against explicit absolute or relative tolerances, including behavior near zero.","questions":[{"text":"What are the nearest representable neighbours of each critical value, and is the value exactly representable?","id":"spacing-and-tolerance-q01","kind":"measurement"},{"text":"Does the resulting error satisfy the required tolerance across the intended magnitude range?","id":"spacing-and-tolerance-q02","kind":"boundary"}]}]}]},{"id":"conversion-and-execution","name":"Conversion and execution","description":"Bind the representation to the operations that produce and consume it.","layers":[{"id":"conversion-contract","name":"Conversion contract","description":"Specify the treatment of values entering or leaving half precision.","findings":[{"id":"rounding-and-loss","name":"Rounding and loss","description":"Record source and destination formats, rounding decisions, and handling of out-of-range, tiny, and exceptional values.","questions":[{"text":"Which rounding rule applies, including halfway cases and negative values?","id":"rounding-and-loss-q01","kind":"definition"},{"text":"When should conversion proceed, report loss, rescale values, or require a wider destination?","id":"rounding-and-loss-q02","kind":"action"}]}]},{"id":"arithmetic-binding","name":"Arithmetic binding","description":"Identify where an execution path actually rounds.","findings":[{"id":"evaluation-and-accumulation","name":"Evaluation and accumulation","description":"Record operand, intermediate, accumulator, and output precision, together with fusion and subnormal settings.","questions":[{"text":"At which steps are results rounded to half precision, and which steps use wider intermediates or accumulators?","id":"evaluation-and-accumulation-q01","kind":"definition"},{"text":"Which compiler, instruction, and runtime settings establish fusion and subnormal behavior?","id":"evaluation-and-accumulation-q02","kind":"provenance"}]}]}]},{"id":"interoperability-and-validation","name":"Interoperability and validation","description":"Determine whether a concrete use preserves its required numerical meaning.","layers":[{"id":"representation-exchange","name":"Representation exchange","description":"Connect the abstract encoding to stored or transmitted bytes.","findings":[{"id":"exchange-contract","name":"Exchange contract","description":"Record the producer and consumer profiles, byte order, and any canonicalization or conversion during transfer.","questions":[{"text":"Do producer and consumer agree on the format profile and byte order?","id":"exchange-contract-q01","kind":"boundary"},{"text":"Must transfer preserve numerical values, exceptional classes, or every original bit pattern?","id":"exchange-contract-q02","kind":"action"}]}]},{"id":"numerical-acceptance","name":"Numerical acceptance","description":"Tie permission to use the format to explicit evidence.","findings":[{"id":"boundary-and-workload-evidence","name":"Boundary and workload evidence","description":"Combine targeted format tests with representative workload measurements before accepting a half-precision execution path.","questions":[{"text":"Which tests cover halfway rounding, normal-to-subnormal transitions, signed zeros, overflow, and supported NaN behavior?","id":"boundary-and-workload-evidence-q01","kind":"measurement"},{"text":"What measured error, overflow frequency, and loss of small values would require wider precision or a revised computation?","id":"boundary-and-workload-evidence-q02","kind":"action"}]}]}]},{"id":"evidence-and-external-alignment","name":"Evidence and external alignment","description":"What the world already says about this thing, gathered so the model can be checked against it.","layers":[{"id":"reported-evidence","name":"Reported evidence","description":"Findings from the breadth pass, kept separate from the structural claims.","findings":[{"id":"evidence-confidence-notes","name":"Check these first","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these check these first hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-confidence-notes-q01","kind":"provenance"}]},{"id":"evidence-kinds","name":"Kinds and varieties","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these kinds and varieties hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-kinds-q01","kind":"provenance"}]},{"id":"evidence-identifiers","name":"Identifiers and schemes","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these identifiers and schemes hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-identifiers-q01","kind":"provenance"}]},{"id":"evidence-standards-and-regulation","name":"Standards and regulation","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these standards and regulation hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-standards-and-regulation-q01","kind":"provenance"}]},{"id":"evidence-real-world-use","name":"Real-world use","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these real-world use hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-real-world-use-q01","kind":"provenance"}]},{"id":"evidence-measurements","name":"Typical measurements","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these typical measurements hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-measurements-q01","kind":"provenance"}]},{"id":"evidence-failure-modes-and-hazards","name":"Failure modes and hazards","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these failure modes and hazards hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-failure-modes-and-hazards-q01","kind":"provenance"}]},{"id":"evidence-neighbours","name":"Neighbouring kinds and how to tell them apart","description":"Recalled without web access and unsourced; every item is a lead to verify.","questions":[{"text":"Which of these neighbouring kinds and how to tell them apart hold for the sense of half-precision floating-point format this model covers, and on what evidence?","id":"evidence-neighbours-q01","kind":"provenance"}]}]}]}]},"agentConduct":{"may":["Convert values to and from half precision and report the precision lost.","Explain its range, precision and use in graphics and machine learning."],"mustNot":["Store safety-critical, financial or medical values in half precision where its precision is not enough.","Hide overflow, underflow or rounding errors from users of results.","Present half-precision results as more precise than they are."],"requiresHuman":["Changing number formats in a production system that others depend on."]},"ethics":{"considerations":["Precision shortcuts can produce wrong results in systems people trust."],"affectedParties":["Users of computed results","Engineers","People affected by automated decisions"]},"owners":{"steward":"Nobody owns it; it is defined by a public standard.","roles":[],"masterSystems":[]},"relations":[{"target":"Q449270","type":"parent","note":"registry parent class"}],"interaction":{"identity":{"applicability":"required","items":["Vercy registry: vr.tr.half-precision-floating-point-format","Wikidata: Q1994657 (https://www.wikidata.org/wiki/Q1994657)"]},"properties":{"applicability":"not-applicable","items":["Format profile: IEEE binary16 | documented alternative half format | unresolved","Specification authority: Governing specification, edition, clause, and implementation binding","Field allocation: Bits per sign, exponent, and fraction field; binary16 reference: 1, 5, 10","Finite range: Binary16 reference: largest finite magnitude 65504; smallest positive normal 2^-14; smallest positive subnormal 2^-24","Local representable spacing: Difference between adjacent representable values at a specified magnitude and direction","Exceptional value class: Positive zero | negative zero | subnormal | normal | infinity | NaN, subject to profile","Execution binding: Language type, operation, operand format, intermediate precision, accumulator precision, and result format","Conversion policy: Declared rounding direction, overflow response, subnormal handling, and NaN handling","Implementation verification state: Unverified | documented | tested for named cases | conflicting evidence"]},"recognition":{"applicability":"not-applicable","items":[]},"capabilities":{"applicability":"required","items":["Resolve an ambiguous half or FP16 label to a documented format profile.","Decode and classify raw encodings under the selected profile.","Determine whether a value is exactly representable and quantify conversion error.","Select a conversion policy or require wider storage when numerical tolerances are exceeded.","Check whether two producers and consumers preserve required values and bit patterns.","Construct boundary tests for rounding, subnormals, overflow, and exceptional values."]},"hazards":{"applicability":"required","items":["Values above about 65,504 overflow to infinity.","Small values lose precision or flush to zero, corrupting accumulated sums."]},"interfaces":{"applicability":"required","items":["IEEE 754-2019, Standard for Floating-Point Arithmetic, Institute of Electrical and Electronics Engineers."]},"context":{"applicability":"required","items":["Half precision formats are used in numerical computing, graphics and machine learning to reduce storage and data transfer requirements.","They are suitable where their limited precision and numerical range meet the application's error tolerance.","Interpreting stored values requires the exact encoding because different 16 bit floating point formats have different representations."]}},"sources":[{"title":"Wikidata item Q1994657: half-precision floating-point format","url":"https://www.wikidata.org/wiki/Q1994657","note":"identity and sense of the item"},{"title":"Wikipedia: Half-precision floating-point format","url":"https://en.wikipedia.org/wiki/Half-precision_floating-point_format","note":"general description of the item"}],"openQuestions":["Does the registry intend half precision to mean IEEE binary16 exclusively, or should documented historical alternatives remain profiles within this entry?","Which exact standard edition and clauses should anchor the published model's encoding, rounding, and exception claims?","Which implementation bindings must be researched to establish promotion, accumulation, subnormal, and NaN behavior for intended users?","Which neighbouring registry entries already own bfloat16 and other 16-bit formats, and what explicit cross-references prevent duplicate coverage?","Which representative workloads and acceptance tolerances should govern decisions to retain half precision, rescale values, or widen precision?"],"resources":{"spec":"/models/things/publications/thing-q1994657/spec.json"},"provenance":{"origin":"thing registry research (pass 2)","builtFrom":["models/things/publications/thing-q1994657/spec.json"],"providers":["Codex"],"researchStatus":"unreviewed","generatedAt":"2026-09-12T10:10:59Z","builder":"tools/build_cards.py@1.0.0"},"completeness":{"sections":{"classifiers":"filled","whatItIs":"filled","purpose":"filled","distinguishingFeatures":"filled","structure":"filled","agentConduct":"filled","ethics":"filled","owners":"filled","relations":"filled","interaction.identity":"filled","interaction.properties":"not-applicable","interaction.recognition":"not-applicable","interaction.capabilities":"filled","interaction.hazards":"filled","interaction.interfaces":"filled","interaction.context":"filled","sources":"filled"},"notes":{"_gate":"Published through the thing publication gate 1.0 on 2026-10-07T10:10:28+00:00: completeness 1.00; sense: Wikidata description; 2 live sources; review by codex: pass","interaction.properties":"Plane XCT: no invented physical properties.","interaction.recognition":"A floating point format is an abstract encoding whose identity cannot be established from visual appearance alone."},"score":1.0}}