Support Floating-Point Arithmetic in Dirigo

Develop support for floating-point arithmetic in Dirigo's SMT-based equivalence-checking framework so that it can reason about floating-point behavior, including non-associativity and bugs caused by insufficient precision, rather than modeling floating-point values exclusively as real numbers.

Background

Dirigo currently models floating-point values as mathematical reals. This abstraction simplifies SMT-based equivalence checking but masks floating-point phenomena such as non-associativity and prevents the system from detecting bugs that arise from insufficient numerical precision. The paper identifies extending the framework to support floating-point arithmetic as an unresolved problem, motivated in part by the difficulty of distinguishing acceptable approximation from numerical error using global absolute and relative tolerances in KernelBench.

References

Supporting floating-point arithmetic is beyond the scope of this work but an interesting open problem: work on hardening KernelBench shows that global absolute and relative tolerances cannot separate acceptable approximation from numerical error.

— The Output-Space Hypothesis: Enumerative Equivalence Checking for Tensor Programs  (2609.19611 - Biberstein et al., 17 Sep 2026) in Section 5.1, “Modeling Gaps and Limitations” (subsection label sec:impl-limitations)

Furthermore, the circuit checks a fixed-point representation of the invariants whose strict equivalence to floating-point constraints is argued and not proven.

— Physics-Attested Federated Learning: Securing Collaborative Anomaly Detection in Critical Water Infrastructure  (2609.34804 - Nijsse et al., 28 Sep 2026) in Section 6, Limitations