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 = """
  Module Model
  Function Score(ByRef inputVector() As Double) As Double()
      Dim var0(1) As Double
      var0(0) = 1.0
      var0(1) = 2.0
      Dim var1(1) As Double
      var1(0) = 3.0
      var1(1) = 4.0
      Score = AddVectors(var0, var1)
  End Function
  Function AddVectors(ByRef v1() As Double, ByRef v2() As Double) As Double()
      Dim resLength As Integer
      resLength = UBound(v1) - LBound(v1)
      Dim result() As Double
      ReDim result(resLength)
  
      Dim i As Integer
      For i = LBound(v1) To UBound(v1)
          result(i) = v1(i) + v2(i)
      Next i
  
      AddVectors = result
  End Function
  Function MulVectorNumber(ByRef v1() As Double, ByVal num As Double) As Double()
      Dim resLength As Integer
      resLength = UBound(v1) - LBound(v1)
      Dim result() As Double
      ReDim result(resLength)
  
      Dim i As Integer
      For i = LBound(v1) To UBound(v1)
          result(i) = v1(i) * num
      Next i
  
      MulVectorNumber = result
  End Function
  End Module
  """
  
      interpreter = VisualBasicInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import VisualBasicInterpreter
  from tests.utils import assert_code_equal
label_desc: Use image node_id 9 for calling a global function with example usage: test_bin_vector_expr() without return types