code: def test_softmax_expr():
      expr = ast.SoftmaxExpr([ast.NumVal(2.0), ast.NumVal(3.0)])
  
      expected_code = """
  softmax <- function (x) {
      m <- max(x)
      exps <- exp(x - m)
      s <- sum(exps)
      return(exps / s)
  }
  score <- function(input) {
      return(softmax(c(2.0, 3.0)))
  }
  """
  
      interpreter = RInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import RInterpreter
  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