code: def dot_general_with_precision_jvp(
      dimension_numbers,
      precision,
      preferred_element_type,
      primals,
      tangents,
  ):
      lhs, rhs = primals
      lhs_dot, rhs_dot = tangents
  
      out = lax.dot_general(
          lhs, rhs, dimension_numbers, precision=lax.Precision.DEFAULT
      )
      grad_out = lax.dot_general(
          lhs_dot,
          rhs,
          dimension_numbers,
          precision=lax.Precision.HIGHEST,
      ) + lax.dot_general(
          lhs,
          rhs_dot,
          dimension_numbers,
          precision=lax.Precision.HIGHEST,
      )
      return out, grad_out
  
imports: import warnings
  from functools import partial
  from jax import custom_jvp, custom_vjp, lax, random
  from jax import numpy
  from flax.linen import initializers, module
label_desc: Use image node_id 15 for calling a global function with example usage: dot_general_with_precision_jvp(dimension_numbers, precision, preferred_element_type, primals, tangents) and returns: out,  grad_out