code: def _lerp_data_helper(draw):
      mixed_fn_compos = draw(st.booleans())
      is_torch_backend = ivy.current_backend_str() == "torch"
  
      kwargs = {
          "shared_dtype": True,
          "large_abs_safety_factor": 2.5,
          "small_abs_safety_factor": 2.5,
          "safety_factor_scale": "log",
          "allow_nan": False,
          "allow_inf": False,
      }
  
      if is_torch_backend and not mixed_fn_compos:
          dtype1, start_end = draw(
              helpers.dtype_and_values(
                  available_dtypes=(
                      helpers.get_dtypes(
                          "numeric", mixed_fn_compos=mixed_fn_compos
                      )
                  ),
                  num_arrays=2,
                  **kwargs,
              )
          )
          dtype2, weight = draw(
              helpers.dtype_and_values(
                  available_dtypes=helpers.get_dtypes(
                      "integer", mixed_fn_compos=mixed_fn_compos
                  ),
                  num_arrays=1,
                  **kwargs,
              )
          )
          input_dtypes = dtype1 + dtype2
          inputs = start_end + weight
      else:
          input_dtypes, inputs = draw(
              helpers.dtype_and_values(
                  available_dtypes=helpers.get_dtypes(
                      "valid", mixed_fn_compos=mixed_fn_compos
                  ),
                  num_arrays=3,
                  **kwargs,
              )
          )
  
      return input_dtypes, inputs[0], inputs[1], inputs[2]
  
imports: from hypothesis import strategies
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test
label_desc: Use image node_id 4 for calling a global function with example usage: _lerp_data_helper(draw) and returns: input_dtypes,  inputs,  inputs,  inputs