code: def test_regression_with_negative_values():
      estimator = lgb.LGBMRegressor(
          n_estimators=3, random_state=1, max_depth=1
      )
      utils.get_regression_w_missing_values_model_trainer()(estimator)
  
      assembler = LightGBMModelAssembler(estimator)
      actual = assembler.assemble()
  
      expected = ast.BinNumExpr(
          ast.BinNumExpr(
              ast.IfExpr(
                  ast.CompExpr(
                      ast.FeatureRef(8),
                      ast.NumVal(0.0),
                      ast.CompOpType.GT,
                  ),
                  ast.NumVal(156.64462853604854),
                  ast.NumVal(148.40956590509697),
              ),
              ast.IfExpr(
                  ast.CompExpr(
                      ast.FeatureRef(2),
                      ast.NumVal(0.00780560282464346),
                      ast.CompOpType.GT,
                  ),
                  ast.NumVal(4.996373375352607),
                  ast.NumVal(-3.1063596100284814),
              ),
              ast.BinNumOpType.ADD,
          ),
          ast.IfExpr(
              ast.CompExpr(
                  ast.FeatureRef(8),
                  ast.NumVal(-0.0010539205031971832),
                  ast.CompOpType.LTE,
              ),
              ast.NumVal(-3.5131100858883424),
              ast.NumVal(3.6285643795846214),
          ),
          ast.BinNumOpType.ADD,
      )
  
      assert utils.cmp_exprs(actual, expected)
  
file_path: m2cgen/tests/assemblers/test_boosting_lightgbm.py
imports: import lightgbm
  import numpy
  import pytest
  from m2cgen import ast
  from m2cgen.assemblers import LightGBMModelAssembler
  from tests import utils
label_desc: Use image node_id 5 for calling a global function with example usage: test_regression_with_negative_values() without return types