diff --git a/src/bytecode/builtin_functions/MultiplyFunction.cpp b/src/bytecode/builtin_functions/MultiplyFunction.cpp index 3fafee9..c2a89e7 100644 --- a/src/bytecode/builtin_functions/MultiplyFunction.cpp +++ b/src/bytecode/builtin_functions/MultiplyFunction.cpp @@ -40,6 +40,17 @@ namespace Bytecode::BuiltinFunctions { }}}); return; } + if (((TokenNode *) args[0])->token.type == Token::Symbol && + ((TokenNode *) args[1])->token.type == Token::Symbol && + segment->find_variable(((TokenNode *) args[1])->getName()) != -1) { + instructions.push_back(new (Instruction){ + Instruction::MultiplyRR, + {.rr_params = { + segment->find_variable(((TokenNode *) args[0])->getName()), + segment->find_variable(((TokenNode *) args[1])->getName()), + }}}); + return; + } } args[0]->compile(segment, program, instructions);