There's much more math functions in C-runtime.
Sure, but if the point of this patch series is to share code with ntdll, then "delegate what we can to ntdll and leave everything else in msvcrt" seems like it'd avoid any duplication.
In some functions there are differences regarding error handling.
But then we can't share the function implementation anyway, can we?
Also, all of the functions this patch series touches don't seem to have any error handling. Maybe that's just oversight, though?
We also had some bugs when functions were forwarded to ntdll.
Are those bugs specific to forwards? E.g. could -import be used instead? Or explicitly importing in the code, which might allow more flexibility in error handling as well.