code: def test_softmax_expr():
      expr = ast.SoftmaxExpr([ast.NumVal(2.0), ast.NumVal(3.0)])
  
      expected_code = """
  let private softmax x =
      let maxElem = List.reduce max x
      let exps = List.map (fun i -> exp (i - maxElem)) x
      let sumExps = List.sum exps
      List.map (fun i -> i / sumExps) exps
  let score (input : double list) =
      softmax ([2.0; 3.0])
  """
  
      interpreter = FSharpInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import FSharpInterpreter
  from tests.utils import assert_code_equal
label_desc: Use image node_id 23 for calling a global function with example usage: test_softmax_expr() without return types