Cycles seems to use precomputed directional-albedo LUTs to compensate for the missing energy in microfacet BSDFs.
For dielectrics, the data of those LUTs (3D LUT: roughness, cos theta, IOR) is precomputed with the classic dielectric fresnel reflection term i.e. you evaluate the directional albedo of the BSDF with a standard dielectric fresnel term. That directional albedo is then used to compensate for the energy loss in a dielectric microfacet BSDF that also uses a “standard dielectric fresnel reflection term”.
But thin-film interferences are implemented by replacing the fresnel term of the BSDF. The precomputed LUT fresnel term doesn’t match the BSDF fresnel term (dielectric fresnel vs. thin-film fresnel) anymore and so energy compensation should be broken?
Yet Cycles doesn’t seem to have any issues with energy compensation on a BSDF with thin-film interferences. How is it done?