docs: def Miller_bend_unimpeded_correction(Kb, Di, L_unimpeded):
      '''Limitations as follows:
      * Ratio not over 30
      * If ratio under 0.01, tabulated values are used near the limits 
        (discontinuity in graph anyway)
      * If ratio for a tried curve larger than max value, max value is used
        instead of calculating it
      * Kb limited to between 0.1 and 1.0
      * When between two Kb curves, interpolate linearly after evaluating both
        splines appropriately
      '''
      if Kb < 0.1:
          Kb_C_o = 0.1
      elif Kb > 1:
          Kb_C_o = 1.0
      else:
          Kb_C_o = Kb
  
      L_unimpeded_ratio = L_unimpeded/Di
      if L_unimpeded_ratio > 30:
          L_unimpeded_ratio = 30.0
          
      for i in range(len(bend_rounded_Miller_C_o_Kbs)):        
          Kb_low, Kb_high = bend_rounded_Miller_C_o_Kbs[i], bend_rounded_Miller_C_o_Kbs[i+1]
          if Kb_low <= Kb_C_o <= Kb_high:
              if L_unimpeded_ratio >= bend_rounded_Miller_C_o_limits[i]:
                  Co_low = 1.0
              elif L_unimpeded_ratio <= 0.01:
                  Co_low = bend_rounded_Miller_C_o_limit_0_01[i]
              else:
                  Co_low = splev(L_unimpeded_ratio, tck_bend_rounded_Miller_C_os[i])
              if L_unimpeded_ratio >= bend_rounded_Miller_C_o_limits[i+1]:
                  Co_high = 1.0
              elif L_unimpeded_ratio <= 0.01:
                  Co_high = bend_rounded_Miller_C_o_limit_0_01[i+1]
              else:
                  Co_high = splev(L_unimpeded_ratio, tck_bend_rounded_Miller_C_os[i+1])
              C_o = Co_low + (Kb_C_o - Kb_low)*(Co_high - Co_low)/(Kb_high - Kb_low)
              return C_o