docs: def _transform_i(self, x, i):
          """return transform of x in component i"""
          x = self._shift_or_mirror_into_invertible_i(x, i)
          lb = self._lb[self._index(i)]
          ub = self._ub[self._index(i)]
          al = self._al[self._index(i)]
          au = self._au[self._index(i)]
          if x < lb + al:
              return lb + (x - (lb - al))**2 / 4 / al
          elif x < ub - au:
              return x
          elif x < ub + 3 * au:
              return ub - (x - (ub + au))**2 / 4 / au
          else:
              assert False  # shift removes this case
              return ub + au - (x - (ub + au))