This function was very wrong, now it's just wrong. (It does not sanitize the input properly. Some bad input may have unexpected effects on the nrUE.) It needs a serious rewrite. I just wanted to "fix" it so that it processes correctly some correct input data.