code: def test_binary_cross_entropy(
      dtype_and_true,
      dtype_and_pred,
      dtype_and_pos,
      from_logits,
      reduction,
      axis,
      epsilon,
      test_flags,
      backend_fw,
      fn_name,
      on_device,
  ):
      dtype_true, true = dtype_and_true
      dtype_pred, pred = dtype_and_pred
      dtype_pos_weight, pos_weight = dtype_and_pos
  
      if from_logits:
          helpers.test_function(
              input_dtypes=dtype_true + dtype_pred + dtype_pos_weight,
              test_flags=test_flags,
              backend_to_test=backend_fw,
              fn_name=fn_name,
              on_device=on_device,
              rtol_=1e-02,
              atol_=1e-02,
              true=true[0],
              pred=pred[0],
              axis=axis,
              epsilon=epsilon,
              reduction=reduction,
              from_logits=from_logits,
              pos_weight=pos_weight[0],
          )
      else:
          helpers.test_function(
              input_dtypes=dtype_true + dtype_pred,
              test_flags=test_flags,
              backend_to_test=backend_fw,
              fn_name=fn_name,
              on_device=on_device,
              rtol_=1e-02,
              atol_=1e-02,
              true=true[0],
              pred=pred[0],
              axis=axis,
              epsilon=epsilon,
              reduction=reduction,
              from_logits=from_logits,
          )
  
imports: from hypothesis import strategies
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test
label_desc: Use image node_id 1 for calling a global function with example usage: test_binary_cross_entropy(dtype_and_true, dtype_and_pred, dtype_and_pos, from_logits, reduction, axis, epsilon, test_flags, backend_fw, fn_name, on_device) without return types