Work around issue with truncated Float32 representation of lwork in
sgesdd by using nextfloat. Now with comments and test so this commit
supersedes ad59ceb6398114b6ee49756ed14f493d9d28485c
See
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4587&p=11036&hilit=sgesdd#p11036
and
scipy/scipy#5401
Fixes #15784
(cherry picked from commit b6988df6959a00c879a5a090310d8f3d5c6d9e11)
ref #15824