code: def test_softmax_expr():
      expr = ast.SoftmaxExpr([ast.NumVal(2.0), ast.NumVal(3.0)])
  
      expected_code = """
  import math
  def softmax(x):
      m = max(x)
      exps = [math.exp(i - m) for i in x]
      s = sum(exps)
      for idx, _ in enumerate(exps):
          exps[idx] /= s
      return exps
  def score(input):
      return softmax([2.0, 3.0])
  """
  
      interpreter = PythonInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import PythonInterpreter
  from tests.utils import assert_code_equal
label_desc: Use image node_id 24 for calling a global function with example usage: test_softmax_expr() without return types