* f
* This method implements the function logic of the CAL function Cal.Core.Prelude.if
*/
public final RTValue f(final RTResultFunction $rootNode, final RTExecutionContext $ec) throws CALExecutorException {
// Arguments
RTValue $else = $rootNode.getArgValue();
RTValue $currentRootNode;
RTValue $then = ($currentRootNode = $rootNode.prevArg()).getArgValue();
RTValue $cond$L = $currentRootNode.prevArg().getArgValue();
// Release the fields in the root node to open them to garbage collection
$rootNode.clearMembers();
return
f3S(
$cond$L.evaluate($ec).getBooleanValue(),
RTValue.lastRef($then, $then = null),
RTValue.lastRef($else, $else = null),
$ec);
}