Ah. Well looking at the values further it looks like there are 10bits per component instead of 8. They didn’t end up being spaced out every 10 bits but I came up with this.
Basically if the color is negative you can get the colors back with this. Internally each component can have 1024 values.
If the color is positive then my previous answer should apply. But only the old rgb() expression should do that.
G=int(-color/2^26)%1024*255/1023 B=int(-color/2^10)%1024*255/1023 A=(-color)%1024*255/1023
It doesn’t give the exact value but it should be spot on if you round it. Unless I made a mistake somewhere.