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 = """
  func score(input []float64) []float64 {
      return addVectors([]float64{1.0, 2.0}, []float64{3.0, 4.0})
  }
  func addVectors(v1, v2 []float64) []float64 {
      result := make([]float64, len(v1))
      for i := 0; i < len(v1); i++ {
          result[i] = v1[i] + v2[i]
      }
      return result
  }
  func mulVectorNumber(v1 []float64, num float64) []float64 {
      result := make([]float64, len(v1))
      for i := 0; i < len(v1); i++ {
          result[i] = v1[i] * num
      }
      return result
  }
  """
  
      interpreter = GoInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import GoInterpreter
  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