a=torch.tensor([1., 1.+1e-7, 1.+1e-6, 1.+1e-5, 1.5])
explvl=torch.tensor([20]) #threshold 1/(2**20) ~= 1e-6
a.ldexp(explvl).round().unique().ldexp(-explvl).tolist()
: [1.0, 1.000_0009536743164, 1.000_009536743164, 1.5]