15. A non-transitory computer-readable storage medium embodying instructions that, when executed by a processing device, will cause the processing device to perform operations comprising: compiling, by a rule engine running on the processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.
15. A non-transitory computer-readable storage medium embodying instructions that, when executed by a processing device, will cause the processing device to perform operations comprising: compiling, by a rule engine running on the processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node. 18. The computer-readable storage medium of claim 15 , wherein the operations further comprise: performing, by the rule engine, the multiple calculations on the facts at the multi-result set calculation node.