code: def test_bin_vector_expr():
      expr = ast.BinVectorExpr(
          ast.VectorVal([ast.NumVal(1), ast.NumVal(2)]),
          ast.VectorVal([ast.NumVal(3), ast.NumVal(4)]),
          ast.BinNumOpType.ADD,
      )
  
      expected_code = """
  def score(input)
      add_vectors([1.0, 2.0], [3.0, 4.0])
  end
  def add_vectors(v1, v2)
      v1.zip(v2).map { |x, y| x + y }
  end
  def mul_vector_number(v1, num)
      v1.map { |i| i * num }
  end
  """
  
      interpreter = RubyInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import RubyInterpreter
  from tests.utils import assert_code_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_bin_vector_expr() without return types