| line | true | false | branch | 
 
| 16 | 0 | 0 | if defined $$self{'op'} | 
 
| 17 | 0 | 0 | if defined $$self{'rhs'} | 
 
| 29 | 0 | 0 | if (defined $$self{'op'}) { } | 
 
| 47 | 0 | 0 | if (/^or$/) | 
 
| 50 | 0 | 0 | if (/^and$/) | 
 
| 53 | 0 | 0 | if (/^=$/) | 
 
| 56 | 0 | 0 | if (/^!=$/) | 
 
| 59 | 0 | 0 | if (/^<=$/) | 
 
| 62 | 0 | 0 | if (/^>=$/) | 
 
| 65 | 0 | 0 | if (/^>$/) | 
 
| 68 | 0 | 0 | if (/^<$/) | 
 
| 71 | 0 | 0 | if (/^\+$/) | 
 
| 74 | 0 | 0 | if (/^-$/) | 
 
| 77 | 0 | 0 | if (/^div$/) | 
 
| 80 | 0 | 0 | if (/^mod$/) | 
 
| 83 | 0 | 0 | if (/^\*$/) | 
 
| 86 | 0 | 0 | if (/^\|$/) | 
 
| 113 | 0 | 2 | if @{$$self{'predicates'};} | 
 
| 133 | 134 | 369 | if ($$self{'op'}) { } | 
 
| 134 | 0 | 134 | unless $$self{'rhs'} | 
 
| 141 | 2 | 495 | if (my(@predicates) = @{$$self{'predicates'};}) | 
 
| 142 | 0 | 2 | unless ($results->isa('XML::XPathEngine::NodeSet')) | 
 
| 162 | 5 | 129 | if (/^or$/) | 
 
| 165 | 10 | 119 | if (/^and$/) | 
 
| 168 | 47 | 72 | if (/^=~$/) | 
 
| 171 | 0 | 72 | if (/^!~$/) | 
 
| 174 | 71 | 1 | if (/^=$/) | 
 
| 177 | 0 | 1 | if (/^!=$/) | 
 
| 180 | 0 | 1 | if (/^<=$/) | 
 
| 183 | 0 | 1 | if (/^>=$/) | 
 
| 186 | 1 | 0 | if (/^>$/) | 
 
| 189 | 0 | 0 | if (/^<$/) | 
 
| 192 | 0 | 0 | if (/^\+$/) | 
 
| 195 | 0 | 0 | if (/^-$/) | 
 
| 198 | 0 | 0 | if (/^div$/) | 
 
| 201 | 0 | 0 | if (/^mod$/) | 
 
| 204 | 0 | 0 | if (/^\*$/) | 
 
| 207 | 0 | 0 | if (/^\|$/) | 
 
| 221 | 5 | 0 | if ($lhs->evaluate($node)->to_boolean->value) { } | 
 
| 231 | 0 | 10 | if (not $lhs->evaluate($node)->to_boolean->value) { } | 
 
| 246 | 47 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 248 | 12 | 9 | if ($lhnode->string_value =~ /$rh_value/) | 
 
| 254 | 0 | 0 | $lh_results->string_value =~ /$rh_value/ ? : | 
 
| 266 | 0 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 268 | 0 | 0 | unless ($lhnode->string_value =~ /$rh_value/) | 
 
| 274 | 0 | 0 | !($lh_results->string_value =~ /$rh_value/) ? : | 
 
| 286 | 0 | 68 | if ($lh_results->isa('XML::XPathEngine::NodeSet') and $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
|  | 61 | 7 | elsif ($lh_results->isa('XML::XPathEngine::NodeSet') || $rh_results->isa('XML::XPathEngine::NodeSet') and not $lh_results->isa('XML::XPathEngine::NodeSet') && $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 294 | 0 | 0 | if ($lhnode->string_value eq $rhnode->string_value) | 
 
| 308 | 61 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 321 | 5 | 56 | if ($other->isa('XML::XPathEngine::Number')) { } | 
 
|  | 56 | 0 | elsif ($other->isa('XML::XPathEngine::Literal')) { } | 
 
|  | 0 | 0 | elsif ($other->isa('XML::XPathEngine::Boolean')) { } | 
 
| 323 | 3 | 2 | if ($node->string_value == $other->value) | 
 
| 330 | 29 | 21 | if ($node->string_value eq $other->value) | 
 
| 336 | 0 | 0 | if ($nodeset->to_boolean->value == $other->value) | 
 
| 344 | 0 | 7 | if ($lh_results->isa('XML::XPathEngine::Boolean') or $rh_results->isa('XML::XPathEngine::Boolean')) { } | 
 
|  | 7 | 0 | elsif ($lh_results->isa('XML::XPathEngine::Number') or $rh_results->isa('XML::XPathEngine::Number')) { } | 
 
| 347 | 0 | 0 | if ($lh_results->to_boolean->value == $rh_results->to_boolean->value) | 
 
| 356 | 3 | 4 | if ($lh_results->to_number->value == $rh_results->to_number->value) | 
 
| 362 | 0 | 0 | if ($lh_results->to_literal->value eq $rh_results->to_literal->value) | 
 
| 372 | 0 | 0 | if (op_equals($node, $lhs, $rhs)->value) | 
 
| 389 | 0 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet') and $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
|  | 0 | 0 | elsif ($lh_results->isa('XML::XPathEngine::NodeSet') || $rh_results->isa('XML::XPathEngine::NodeSet') and not $lh_results->isa('XML::XPathEngine::NodeSet') && $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 396 | 0 | 0 | if ($lhNum->value >= $rhNum->value) | 
 
| 409 | 0 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 411 | 0 | 0 | if ($node->to_number->value >= $rh_results->to_number->value) | 
 
| 418 | 0 | 0 | if ($lh_results->to_number->value >= $node->to_number->value) | 
 
| 426 | 0 | 0 | if ($lh_results->isa('XML::XPathEngine::Boolean') or $rh_results->isa('XML::XPathEngine::Boolean')) { } | 
 
| 429 | 0 | 0 | if ($lh_results->to_boolean->to_number->value >= $rh_results->to_boolean->to_number->value) | 
 
| 435 | 0 | 0 | if ($lh_results->to_number->value >= $rh_results->to_number->value) | 
 
| 449 | 0 | 1 | if ($lh_results->isa('XML::XPathEngine::NodeSet') and $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
|  | 0 | 1 | elsif ($lh_results->isa('XML::XPathEngine::NodeSet') || $rh_results->isa('XML::XPathEngine::NodeSet') and not $lh_results->isa('XML::XPathEngine::NodeSet') && $rh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 456 | 0 | 0 | if ($lhNum->value > $rhNum->value) | 
 
| 469 | 0 | 0 | if ($lh_results->isa('XML::XPathEngine::NodeSet')) { } | 
 
| 471 | 0 | 0 | if ($node->to_number->value > $rh_results->to_number->value) | 
 
| 478 | 0 | 0 | if ($lh_results->to_number->value > $node->to_number->value) | 
 
| 486 | 0 | 1 | if ($lh_results->isa('XML::XPathEngine::Boolean') or $rh_results->isa('XML::XPathEngine::Boolean')) { } | 
 
| 489 | 0 | 0 | if ($lh_results->to_boolean->value > $rh_results->to_boolean->value) | 
 
| 494 | 0 | 1 | if ($lh_results->to_number->value > $rh_results->to_number->value) | 
 
| 544 | 0 | 0 | if ($@) | 
 
| 584 | 0 | 0 | if ($lh_result->isa('XML::XPathEngine::NodeSet') and $rh_result->isa('XML::XPathEngine::NodeSet')) | 
 
| 593 | 0 | 0 | unless exists $found{"$rhnode"} | 
 
| 612 | 0 | 2 | unless (ref $nodeset) | 
 
| 625 | 0 | 18 | if ($result->isa('XML::XPathEngine::Boolean')) { } | 
 
|  | 18 | 0 | elsif ($result->isa('XML::XPathEngine::Number')) { } | 
 
| 626 | 0 | 0 | if ($result->value) | 
 
| 631 | 2 | 16 | if ($result->value == $i) | 
 
| 636 | 0 | 0 | if ($result->to_boolean->value) |