code: def test_composite_clone_float32(self):
      def has_f16(comp):
          if any(v.type == float16 for v in comp.fgraph.variables):
              return True
          return False
  
      w = int8()
      x = float16()
      y = float32()
      cz = Composite([x, y], [tanh(x + cast(y, "float16"))])
      c = Composite(
          [w, x, y],
          [
              cz(x, y)
              - cz(x, y) ** 2
              + cast(x, "int16")
              + cast(x, "float32")
              + cast(w, "float16")
              - constant(np.float16(1.0))
          ],
      )
      assert has_f16(c)
      nc = c.clone_float32()
      assert not has_f16(nc)
  
      v = uint8()
      w = float16()
      x = float16()
      y = float16()
      z = float16()
  
      c = Composite([v, w, x, y, z], [switch(v, mul(w, x, y), z)])
  
      assert has_f16(c)
      nc = c.clone_float32()
      assert not has_f16(nc)
  
imports: import numpy
  import pytest
  import pytensor
  import pytensor.tensor
  import tests.unittest_tools
  from pytensor.compile.mode import Mode
  from pytensor.graph.fg import FunctionGraph
  from pytensor.link.c.basic import DualLinker
  from pytensor.scalar.basic import ComplexError, Composite, InRange, ScalarType, add, and_, arccos, arccosh, arcsin, arcsinh, arctan, arctan2, arctanh, cast, complex64, constant, cos, cosh, deg2rad, eq, exp, exp2, expm1, float16, float32, floats, int8, int32, ints, invert, log, log1p, log2, log10, mean, mul, neq, rad2deg, reciprocal, sin, sinh, sqrt, switch, tan, tanh, true_div, uint8
  from pytensor.tensor.type import fscalar, imatrix, iscalar, matrix
  from tests.link.test_link import make_function
label_desc: Use image node_id 1 for calling the TestComposite obj's underlying member method code with example usage: obj.test_composite_clone_float32() and returns: False, True