code: def from_man_exp(man, exp, prec=None, rnd=round_fast):
      """Create raw mpf from (man, exp) pair. The mantissa may be signed.
      If no precision is specified, the mantissa is stored exactly."""
      man = MPZ(man)
      sign = 0
      if man < 0:
          sign = 1
          man = -man
      if man < 1024:
          bc = bctable[int(man)]
      else:
          bc = bitcount(man)
      if not prec:
          if not man:
              return fzero
          if not man & 1:
              if man & 2:
                  return (sign, man >> 1, exp + 1, bc - 1)
              t = trailtable[int(man & 255)]
              if not t:
                  while not man & 255:
                      man >>= 8
                      exp += 8
                      bc -= 8
                  t = trailtable[int(man & 255)]
              man >>= t
              exp += t
              bc -= t
          return (sign, man, exp, bc)
      return normalize(sign, man, exp, bc, prec, rnd)
  
imports: import math
  from bisect import bisect
  import sys
  from .backend import MPZ, MPZ_TYPE, MPZ_ZERO, MPZ_ONE, MPZ_TWO, MPZ_FIVE, BACKEND, STRICT, HASH_MODULUS, HASH_BITS, gmpy, sage, sage_utils
  from .libintmath import giant_steps, trailtable, bctable, lshift, rshift, bitcount, trailing, sqrt_fixed, numeral, isqrt, isqrt_fast, sqrtrem, bin_to_radix
label_desc: Use image node_id 10 for calling a global function with example usage: from_man_exp(man, exp, prec, rnd) and returns: normalize, sign,  man,  exp,  bc, fzero, sign,  unknown,  unknown,  unknown