code: def test_tanh_expr():
      expr = ast.TanhExpr(ast.NumVal(2.0))
  
      expected_code = """
  import 'dart:math';
  double score(List<double> input) {
      return tanh(2.0);
  }
  double tanh(double x) {
      // Implementation is taken from
      // https://github.com/golang/go/blob/master/src/math/tanh.go
      double z;
      z = x.abs();
      if (z > 0.440148459655565271479942397125e+2) {
          if (x < 0) {
              return -1.0;
          }
          return 1.0;
      }
      if (z >= 0.625) {
          z = 1 - 2 / (exp(2 * z) + 1);
          if (x < 0) {
              z = -z;
          }
          return z;
      }
      if (x == 0) {
          return 0.0;
      }
      double s;
      s = x * x;
      z = x + x * s
          * ((-0.964399179425052238628e+0 * s + -0.992877231001918586564e+2)
          * s + -0.161468768441708447952e+4) / (((s + 0.112811678491632931402e+3)
          * s + 0.223548839060100448583e+4) * s + 0.484406305325125486048e+4);
      return z;
  }
  """
  
      interpreter = DartInterpreter()
      assert_code_equal(interpreter.interpret(expr), expected_code)
  
imports: from itertools import product
  import pytest
  from m2cgen import ast
  from m2cgen.interpreters import DartInterpreter
  from tests.utils import assert_code_equal
label_desc: Use image node_id 19 for calling a global function with example usage: test_tanh_expr() without return types