Not sure I’m understanding this correctly. The shadow_rolloff parameter was not intended to “fix” negative values in the noise floor. It was intended to fix very subtle invertibility issues due to the asymptoting compression curve when dealing with large distance values in shadow grain.
I attempted to explain that clearly in this post if it’s helpful to resurrect this thread again