A taylor series is an approximation that gets better with the number of terms.
Why do you think you can improve accuracy by going from DBL to SGL? That makes no sense!
As a first step, make the code scalable so the number of terms is adjustable. You should also wrap the input into the range of one turn.
Here is one of my old implementations. Maybe it can give you some ideas. (originally posted here)
If you are only interested in very few digits, you can change the display format of the indicators.