code: def test_bin_vector_num_expr():
      expr = ast.BinVectorNumExpr(
          ast.VectorVal([ast.NumVal(1), ast.NumVal(2)]),
          ast.NumVal(1),
          ast.BinNumOpType.MUL,
      )
  
      expected_code = """
  defmodule Model do
      @compile {:inline, read: 2}
      defp read(bin, pos) do
          <<_::size(pos)-unit(64)-binary, value::float, _::binary>> = bin
          value
      end
      defp list_to_binary(list) do
          for i <- list, into: <<>>, do: <<i::float>>
      end
      def score(input) do
          input = list_to_binary(input)
          mul_vector_number([1.0, 2.0], 1.0)
      end
  defp add_vectors(v1_list, v2_list) do
    for {a,b} <- Enum.zip(v1_list, v2_list), do: a+b
  end
  
  defp mul_vector_number(v1, num) do
    for i <- v1, do: i * num
  end
  end
  """
  
      interpreter = ElixirInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import ElixirInterpreter
  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_num_expr() without return types