Relational Floating-Point Arithmetic
summary
Implements a minimal relational floating‑point system (comparisons, addition/subtraction, multiplication/division) in miniKanren, using olekislya's relational natural number helpers, 8‑bit biased exponents, precision 2–16, chopping rounding and no denormals. Relations like fppluso and fpmalto produce correct results and fast queries for many inputs, but multiplication performance shows an exponential cost tied to the number and position of ones in the mantissa (queries ~0.0s up to ~9.5s), and quadratic/golden‑ratio searches blow up with higher precision (no solution at p=7).
AI-written summary · about
chapters (7)
- 0:00Introduction
- 0:20FloatingPoint Numbers
- 2:40Comparison Relations
- 4:08Floating Point Addition
- 7:33Floating Point Multiplication
- 13:32Quadratic Equations
- 17:05Learning Points
related talks
58mPortable floating-point calculations
26mCommitting to the bit: Relational programming with semiring arrays and SAT solving
22mOne Polynomial Approximation to Produce Correctly Rounded Results of an Elementa
26mGenerating Correctly Rounded Math Libraries for New Floating Point Variants
14mdxo: A System for Relational Algebra and Differentiation
16mMulti-stage Relational Programming
24mAll for one and none forall: Compiling polymorphic relations without(…)
17mMiniFloat-NN: A RISC-V ISA Extension for Low-Precision NN Training
