code: def test_hyper_as_trig():
      from sympy.simplify.fu import _osborne, _osbornei
  
      eq = sinh(x) ** 2 + cosh(x) ** 2
      t, f = hyper_as_trig(eq)
      assert f(fu(t)) == cosh(2 * x)
      e, f = hyper_as_trig(tanh(x + y))
      assert f(TR12(e)) == (tanh(x) + tanh(y)) / (tanh(x) * tanh(y) + 1)
  
      d = Dummy()
      assert _osborne(sinh(x), d) == I * sin(x * d)
      assert _osborne(tanh(x), d) == I * tan(x * d)
      assert _osborne(coth(x), d) == cot(x * d) / I
      assert _osborne(cosh(x), d) == cos(x * d)
      assert _osborne(sech(x), d) == sec(x * d)
      assert _osborne(csch(x), d) == csc(x * d) / I
      for func in (sinh, cosh, tanh, coth, sech, csch):
          h = func(pi)
          assert _osbornei(_osborne(h, d), d) == h
      # /!\ the _osborne functions are not meant to work
      # in the o(i(trig, d), d) direction so we just check
      # that they work as they are supposed to work
      assert _osbornei(cos(x * y + z), y) == cosh(x + z * I)
      assert _osbornei(sin(x * y + z), y) == sinh(x + z * I) / I
      assert _osbornei(tan(x * y + z), y) == tanh(x + z * I) / I
      assert _osbornei(cot(x * y + z), y) == coth(x + z * I) * I
      assert _osbornei(sec(x * y + z), y) == sech(x + z * I)
      assert _osbornei(csc(x * y + z), y) == csch(x + z * I) * I
  
imports: from sympy.core.add import Add
  from sympy.core.mul import Mul
  from sympy.core.numbers import I, Rational, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy, Symbol, symbols
  from sympy.functions.elementary.hyperbolic import cosh, coth, csch, sech, sinh, tanh
  from sympy.functions.elementary.miscellaneous import root, sqrt
  from sympy.functions.elementary.trigonometric import cos, cot, csc, sec, sin, tan
  from sympy.simplify.powsimp import powsimp
  from sympy.simplify.fu import L, TR1, TR10, TR10i, TR11, _TR11, TR12, TR12i, TR13, TR14, TR15, TR16, TR111, TR2, TR2i, TR3, TR5, TR6, TR7, TR8, TR9, TRmorrie, _TR56, TRpower, hyper_as_trig, fu, process_common_addends, trig_split, as_f_sign_1
  from sympy.core.random import verify_numerically
  from sympy.abc import a, b, c, x, y, z
label_desc: Use image node_id 24 for calling a global function with example usage: test_hyper_as_trig() without return types