In a similar vein, this is an encoding I designed specifically for 256 bit keys; my design includes checksumming and some consideration to consistent verbalization:
I have been using a technique that's almost identical to this for years, based simply on observing that the roots are symmetric around the min/maximum: differentiate, set to zero, then difference of squares.
https://github.com/tomgibara/keycode