code: def borehole_function(x, z, max_val):
      """Computes the Bore Hole function."""
      # pylint: disable=bad-whitespace
      rw = x[0]
      r = x[1]
      Tu = x[2]
      Hu = x[3]
      Tl = x[4]
      Hl = x[5]
      L = x[6]
      Kw = x[7]
      # Compute high fidelity function
      frac2 = 2 * L * Tu / (np.log(r / rw) * rw**2 * Kw)
      f2 = min(
          max_val,
          2
          * np.pi
          * Tu
          * (Hu - Hl)
          / (np.log(r / rw) * (1 + frac2 + Tu / Tl)),
      )
      # Compute low fidelity function
      f1 = (
          5
          * Tu
          * (Hu - Hl)
          / (np.log(r / rw) * (1.5 + frac2 + Tu / Tl))
      )
      # Compute final output
      return float(f2 * z + f1 * (1 - z))
  
imports: from __future__ import division
  import numpy
  from .general_utils import map_to_cube
  from ..exd.experiment_caller import EuclideanFunctionCaller
label_desc: Use image node_id 9 for calling a global function with example usage: borehole_function(x, z, max_val) and returns: float