Think there is a flaw in the code as the ratio between 3500 and 5393 is almost exactly the ratio between 2150 and 3500
the current flowing through the system is +> A = (Vin-Vout) / R.top
this current also flows through Rbottom resulting in Vout => A * Rbottom = Vout
or Rbottom = Vout / A;
combining these ==> Rbottom = Vout / ( (Vin-Vout) / Rtop) = Vout * Rtop / (Vin-Vout);
==> float Rbottom = Vout * Rtop / (Vin - Vout);
testing with the values: 1.97 * 3500 / ( 5 - 1.97) = 2275 just 1% above the 2150