code: def get_abs(expr: "Expr", prec: int, options: OPT_DICT) -> TMP_RES:
      result = evalf(expr, prec + 2, options)
      if result is S.ComplexInfinity:
          return finf, None, prec, None
      re, im, re_acc, im_acc = result
      if not re:
          re, re_acc, im, im_acc = im, im_acc, re, re_acc
      if im:
          if expr.is_number:
              abs_expr, _, acc, _ = evalf(
                  abs(N(expr, prec + 2)), prec + 2, options
              )
              return abs_expr, None, acc, None
          else:
              if "subs" in options:
                  return (
                      libmp.mpc_abs((re, im), prec),
                      None,
                      re_acc,
                      None,
                  )
              return abs(expr), None, prec, None
      elif re:
          return mpf_abs(re), None, re_acc, None
      else:
          return None, None, None, None
  
imports: from __future__ import annotations
  from typing import Tuple, Optional, Union, Callable, List, Dict, Type, TYPE_CHECKING, Any, overload
  import math
  import mpmath.libmp
  from mpmath import make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc, workprec
  from mpmath import inf
  from mpmath.libmp import from_int, from_man_exp, from_rational, fhalf, fnan, finf, fninf, fnone, fone, fzero, mpf_abs, mpf_add, mpf_atan, mpf_atan2, mpf_cmp, mpf_cos, mpf_e, mpf_exp, mpf_log, mpf_lt, mpf_mul, mpf_neg, mpf_pi, mpf_pow, mpf_pow_int, mpf_shift, mpf_sin, mpf_sqrt, normalize, round_nearest, to_int, to_str
  from mpmath.libmp import bitcount
  from mpmath.libmp.backend import MPZ
  from mpmath.libmp.libmpc import _infs_nan
  from mpmath.libmp.libmpf import dps_to_prec, prec_to_dps
  from .sympify import sympify
  from .singleton import S
  from sympy.external.gmpy import SYMPY_INTS
  from sympy.utilities.iterables import is_sequence
  from sympy.utilities.lambdify import lambdify
  from sympy.utilities.misc import as_int
label_desc: Use image node_id 9 for calling a global function with example usage: get_abs(expr, prec, options) and returns: finf,  None,  prec,  None, abs_expr,  None,  acc,  None, abs,  None,  prec,  None, mpf_abs,  None,  re_acc,  None, None,  None,  None,  None, libmp,  None,  re_acc,  None