Skip to content

test(EDyadicFloat): conformance vs FastFloat at matching (e,s,mode)#793

Open
bollu wants to merge 1 commit into
edyadicfloat-conformance-nativefrom
edyadicfloat-conformance-fastfloat
Open

test(EDyadicFloat): conformance vs FastFloat at matching (e,s,mode)#793
bollu wants to merge 1 commit into
edyadicfloat-conformance-nativefrom
edyadicfloat-conformance-fastfloat

Conversation

@bollu

@bollu bollu commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

What

Adds UnitTest/FP/EDyadicFloat/ConformanceFastFloat.lean. Both EDyadicFloat and FastFloat are correctly rounded, so for matching (e, s, mode) they agree:

  • Double width (11, 52): FastFloat's internal Float is a double, so both equal native double arithmetic — agreement on all inputs including division (no internal double-rounding possible).
  • Single width (8, 23): FastFloat rounds a double result down to single (can double-round on division), so we compare on the same golden inputs the FastFloat suite already pins against native Float32, narrowing both back to Float32.

Stack

Part of full-precision-floats-edyadic (patch 6/6, final). Base: #792.

🤖 Generated with Claude Code

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VeIR Benchmarks

Details
Benchmark suite Current: 60ded2f Previous: eb0390c Ratio
add-fold-worklist/create 1860000 ns (± 82428) 2198000 ns (± 109413) 0.85
add-fold-worklist/rewrite 3336000 ns (± 38833) 3733000 ns (± 84672) 0.89
add-fold-worklist-local/create 1835000 ns (± 67266) 2191000 ns (± 99246) 0.84
add-fold-worklist-local/rewrite 2856000 ns (± 59848) 3011000 ns (± 27372) 0.95
add-zero-worklist/create 1845000 ns (± 75967) 2140500 ns (± 109777) 0.86
add-zero-worklist/rewrite 2104000 ns (± 33538) 2383000 ns (± 53970) 0.88
add-zero-reuse-worklist/create 1619000 ns (± 75281) 1798000 ns (± 63295) 0.90
add-zero-reuse-worklist/rewrite 1779000 ns (± 67389) 1965000 ns (± 30368) 0.91
mul-two-worklist/create 1854000 ns (± 67592) 2191000 ns (± 103104) 0.85
mul-two-worklist/rewrite 4750000 ns (± 152730) 5176000 ns (± 80037) 0.92
add-fold-forwards/create 1898000 ns (± 247338) 2174500 ns (± 97824) 0.87
add-fold-forwards/rewrite 2722000 ns (± 311824) 2967500 ns (± 35897) 0.92
add-zero-forwards/create 1899000 ns (± 94207) 2115000 ns (± 33441) 0.90
add-zero-forwards/rewrite 1767000 ns (± 52823) 1903000 ns (± 16300) 0.93
add-zero-reuse-forwards/create 1531000 ns (± 74469) 1832000 ns (± 91568) 0.84
add-zero-reuse-forwards/rewrite 1462000 ns (± 107058) 1555000 ns (± 50375) 0.94
mul-two-forwards/create 1861000 ns (± 71376) 2126000 ns (± 70864) 0.88
mul-two-forwards/rewrite 3252000 ns (± 125105) 3520000 ns (± 48872) 0.92
add-zero-reuse-first/create 1534000 ns (± 46597) 1827500 ns (± 94828) 0.84
add-zero-reuse-first/rewrite 10000 ns (± 1995) 8000 ns (± 1592) 1.25
add-zero-lots-of-reuse-first/create 1508000 ns (± 48247) 1773000 ns (± 69739) 0.85
add-zero-lots-of-reuse-first/rewrite 776000 ns (± 29670) 759000 ns (± 9407) 1.02

This comment was automatically generated by workflow using github-action-benchmark.

@bollu bollu force-pushed the edyadicfloat-conformance-fastfloat branch from 3e94d15 to 60ded2f Compare June 8, 2026 17:28
@bollu bollu force-pushed the edyadicfloat-conformance-native branch from 4090469 to 5da6715 Compare June 8, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant