my $op = $op->first;
my ($r1, $l1) = $self->inspect($op);
- return $r1, $l1 if $r1 and zero $l1;
+ return $r1, $l1 if defined $r1 and zero $l1;
my $c = count $l1;
$op = $op->sibling;
$op = $op->first->sibling;
my ($r2, $l2) = $self->inspect($op->sibling);
- return $r2, $l2 if $r2 and zero $l2;
+ return $r2, $l2 if defined $r2 and zero $l2;
my $c2 = count $l2; # First one to happen
my ($r1, $l1) = $self->inspect($op);
- return (add $r2, scale $c2, $r1), undef if $r1 and zero $l1 and not zero $l2;
+ return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
+ and not zero $l2;
diag Dumper [ [ $r1, $l1 ], [ $r2, $l2 ] ] if $DEBUG;
my $c1 = count $l1;
$op = $op->first->sibling;
my ($r2, $l2) = $self->inspect($op->sibling);
- return $r2, $l2 if $r2 and zero $l2;
+ return $r2, $l2 if defined $r2 and zero $l2;
my $c2 = count $l2; # First one to happen
my ($r1, $l1) = $self->inspect($op);
- return (add $r2, scale $c2, $r1), undef if $r1 and zero $l1 and not zero $l2;
+ return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
+ and not zero $l2;
diag Dumper [ [ $r1, $l1 ], [ $r2, $l2 ] ] if $DEBUG;
my $c1 = count $l1;