Faster than the old implementation and fixes the missing quad precision sqrt. sqrtf was tested on all inputs, sqrt and sqrtl was tested on random inputs and on near half way cases. code size should be similar to the old implementation, but rodata is increased by a 256 byte lookup table (shared between sqrt, sqrtf and sqrtl). Szabolcs Nagy (4): math: new software sqrt math: new software sqrtf math: add __math_invalidl math: new software sqrtl src/internal/libm.h | 3 + src/math/__math_invalidl.c | 9 ++ src/math/sqrt.c | 320 +++++++++++++++++-------------------- src/math/sqrt_data.c | 19 +++ src/math/sqrt_data.h | 13 ++ src/math/sqrtf.c | 140 ++++++++-------- src/math/sqrtl.c | 254 ++++++++++++++++++++++++++++- 7 files changed, 514 insertions(+), 244 deletions(-) create mode 100644 src/math/__math_invalidl.c create mode 100644 src/math/sqrt_data.c create mode 100644 src/math/sqrt_data.h -- 2.27.0