diff --git a/src/muqsit/arithmexp/expression/optimizer/OperatorStrengthReductionExpressionOptimizer.php b/src/muqsit/arithmexp/expression/optimizer/OperatorStrengthReductionExpressionOptimizer.php index 7e297a9..a366bfa 100644 --- a/src/muqsit/arithmexp/expression/optimizer/OperatorStrengthReductionExpressionOptimizer.php +++ b/src/muqsit/arithmexp/expression/optimizer/OperatorStrengthReductionExpressionOptimizer.php @@ -240,6 +240,7 @@ private function processBinaryExpression(Parser $parser, Expression $expression, new FunctionCallExpressionToken(Util::positionContainingExpressionTokens($right), $m_op->getSymbol(), 2, $m_op->getOperator(), $m_op->isDeterministic(), $m_op->isCommutative(), new BinaryOperatorToken($token->getPos(), $m_op->getSymbol())) ], $this->valueEquals($right, 0) => $left, + $this->valueIsNan($left), $this->valueIsNan($right) => [new NumericLiteralExpressionToken(Util::positionContainingExpressionTokens([...$left, ...$right]), NAN)], default => $this->processSubtraction($parser, $operator_token, $left, $right) }, default => null