Ah my previous debugging was confused, feraiseexcept is not being reached and the issue is that the algorithm depends on signed overflow at https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ieee754/ldbl-128ibm/s_llroundl.c;h=d85154e73ac062e6c9ed403fe3cfc3889726ff72;hb=2b274fd8c9c776cf70fcdb8356e678ada522a7b0#l86 which is of course undefined behaviour. I don't completely understand the algorithm so don't really know how to fix this (or, honestly, how much I care about edge cases in ldbl-128ibm arithmetic...)
Ah my previous debugging was confused, feraiseexcept is not being reached and the issue is that the algorithm depends on signed overflow at https:/ /sourceware. org/git/ ?p=glibc. git;a=blob; f=sysdeps/ ieee754/ ldbl-128ibm/ s_llroundl. c;h=d85154e73ac 062e6c9ed403fe3 cfc3889726ff72; hb=2b274fd8c9c7 76cf70fcdb8356e 678ada522a7b0# l86 which is of course undefined behaviour. I don't completely understand the algorithm so don't really know how to fix this (or, honestly, how much I care about edge cases in ldbl-128ibm arithmetic...)