Convert all Perl build tools to Python and remove Perl build dependency.
[pspp] / tests / data / data-out.at
index 8b2b4195776585ce166bd48ca48b3460b0d66718..9ed4a980d0145045b56165fe2a5a19b5084fdfcc 100644 (file)
@@ -1,16 +1,16 @@
 dnl PSPP - a program for statistical analysis.
 dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl 
+dnl
 dnl This program is free software: you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl the Free Software Foundation, either version 3 of the License, or
 dnl (at your option) any later version.
-dnl 
+dnl
 dnl This program is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
-dnl 
+dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl
@@ -18,221 +18,233 @@ AT_BANNER([data output (data-out)])
 
 AT_SETUP([numeric format output])
 AT_KEYWORDS([data-out slow])
-AT_DATA([num-out.pl],
-[[use strict;
-use warnings 'all';
+AT_DATA([num-out.py],
+[[print("""\
+SET CCA=',,,'.
+SET CCB='-,[[[,]]],-'.
+SET CCC='((,[,],))'.
+SET CCD=',XXX,,-'.
+SET CCE=',,YYY,-'.
+INPUT PROGRAM.
+STRING EXPR(A16).""")
 
-my @values = qw(0 2 9.5 27 271 999.95 2718 9999.995 27182 271828
+values = """0 2 9.5 27 271 999.95 2718 9999.995 27182 271828
 2718281 2**39 2**333 2**-21 -2 -9.5 -27 -271 -999.95 -2718 -9999.995
 -27182 -271828 -2718281 -2**39 -2**333 -2**-21 -0 3.125 31.25 314.125
 3141.5 31415.875 314159.25 3141592.625 31415926.5 271828182.25
 3214567890.5 31415926535.875 -3.125 -31.375 -314.125 -3141.5
 -31415.875 -314159.25 -3141592.625 -31415926.5 -271828182.25
--3214567890.5 -31415926535.875);
+-3214567890.5 -31415926535.875""".split()
+for value in values:
+    print("""COMPUTE NUM=%s.
+COMPUTE EXPR='%s'.
+END CASE.""" % (value, value))
+
+print("""\
+END FILE.
+END INPUT PROGRAM.""")
 
-print "SET CCA=',,,'.\n";
-print "SET CCB='-,[[[,]]],-'.\n";
-print "SET CCC='((,[,],))'.\n";
-print "SET CCD=',XXX,,-'.\n";
-print "SET CCE=',,YYY,-'.\n";
-print "INPUT PROGRAM.\n";
-print "STRING EXPR(A16).\n";
-print map ("COMPUTE NUM=$_.\nCOMPUTE EXPR='$_'.\nEND CASE.\n", @values);
-print "END FILE.\n";
-print "END INPUT PROGRAM.\n";
+print("PRINT OUTFILE='output.txt'/EXPR.")
+for format in 'F COMMA DOT DOLLAR PCT E CCA CCB CCC CCD CCE N Z'.split():
+    for d in range(17):
+        if format != 'E':
+            min_w = d + 1
+            if format in ('DOLLAR', 'PCT'):
+                min_w += 1 
+            if min_w == 1 and format.startswith('CC'):
+                min_w = 2
+        else:
+            min_w = d + 7
 
-print "PRINT OUTFILE='output.txt'/EXPR.\n";
-for my $format (qw (F COMMA DOT DOLLAR PCT E CCA CCB CCC CCD CCE N Z)) {
-    for my $d (0...16) {
-       my ($min_w);
-       if ($format ne 'E') {
-           $min_w = $d + 1;
-           $min_w++ if $format eq 'DOLLAR' || $format eq 'PCT';
-           $min_w = 2 if $min_w == 1 && ($format =~ /^CC/);
-       } else {
-           $min_w = $d + 7;
-       }
-       for my $w ($min_w...40) {
-           my ($f) = "$format$w.$d";
-           print "PRINT OUTFILE='output.txt'/'$f: \"' NUM($f) '\"'.\n";
-       }
-    }
-    print "PRINT SPACE OUTFILE='output.txt'.\n";
-}
-print "EXECUTE.\n";
+        for w in range(min_w, 41):
+            f = "%s%s.%s" % (format, w, d)
+            print("PRINT OUTFILE='output.txt'/'%s: \"' NUM(%s) '\"'." % (f, f))
+    print("PRINT SPACE OUTFILE='output.txt'.")
+print("EXECUTE.")
 ]])
-AT_CHECK([$PERL num-out.pl > num-out.sps])
+AT_CHECK([$PYTHON3 num-out.py > num-out.sps])
 AT_CHECK([pspp -O format=csv num-out.sps])
 AT_CHECK([inexactify < output.txt > output.inexact])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/num-out.expected.cmp.gz > expout.cmp])
-AT_DATA([num-out-decmp.pl],
-[[use strict;
-use warnings 'all';
+AT_DATA([num-out-decmp.py],
+[[#! /usr/bin/python3
 
-my (@line);
-while (<>) {
-    if (my ($n) = /^\*(\d+)$/) {
-       for (1...$n) {
-           $line[1]++;
-           $line[3] = " $line[3]";
-           print ' ', join ('', @line), "\n";
-       }
-    } elsif (my ($suffix) = /^\$(.*)$/) {
-       for my $c (split ('', $suffix)) {
-           $line[1]++;
-           $line[4] .= $c;
-           print ' ', join ('', @line), "\n";
-       }
-    } elsif (my ($prefix) = /^\^(.*)$/) {
-       for my $c (split ('', $prefix)) {
-           $line[1]++;
-           $line[4] = "$c$line[4]";
-           print ' ', join ('', @line), "\n";
-       }
-    } else {
-       @line = /^([A-Z]+)(\d+)([^"]+")( *)([^%"]*)(%?")$/;
-       print " $_";
-    }
-}
+import re
+import sys
+
+state = []
+for line in sys.stdin:
+    line = line.rstrip('\r\n')
+    if line.startswith('*'):
+        n = int(line[1:])
+        for i in range(n):
+            state[1] = "%s" % (int(state[1]) + 1)
+            state[3] = ' ' + state[3]
+            print(' ' + ''.join(state))
+    elif line.startswith('$'):
+        for c in line[1:]:
+            state[1] = "%s" % (int(state[1]) + 1)
+            state[4] += c
+            print(' ' + ''.join(state))
+    elif line.startswith('^'):
+        for c in line[1:]:
+            state[1] = "%s" % (int(state[1]) + 1)
+            state[4] = c + state[4]
+            print(' ' + ''.join(state))
+    else:
+        m = re.match(r'^([A-Z]+)(\d+)([^"]+")( *)([^%"]*)(%?")$', line)
+        if m:
+            state = list(m.groups())
+        print(' ' + line)
 ]])
-AT_CHECK([$PERL num-out-decmp.pl < expout.cmp > expout.exact])
+AT_CHECK([$PYTHON3 num-out-decmp.py < expout.cmp > expout.exact])
 AT_CHECK([[inexactify < expout.exact > expout.inexact]])
-AT_DATA([num-out-compare.pl],
-[[#! /usr/bin/perl -w
+AT_DATA([num-out-compare.py],
+[[#! /usr/bin/python3
+
+import getopt
+import itertools
+import re
+import sys
+
+def usage():
+    print("""\
+%s: compare expected and actual numeric formatting output
+usage: %s [OPTION...] EXPECTED ACTUAL
+where EXPECTED is the file containing expected output
+and ACTUAL is the file containing actual output.
+Options:
+  -e, --exact: Require numbers to be exactly equal.
+               (By default, small differences are permitted.)
+  -s, --spss: Ignore most SPSS formatting bugs in EXPECTED.
+              (A few differences are not compensated)
+  -v, --verbose: Use once to summarize errors and differences.
+                 Use twice for details of differences."""
+          % (sys.argv[0], sys.argv[0]))
+    sys.exit(0)
 
-use strict;
-use warnings 'all';
-use Getopt::Long;
+exact = 0
+spss = 0
+verbose = 0
 
-my $exact = 0;
-my $spss = 0;
-my $verbose = 0;
-Getopt::Long::Configure ("bundling");
-GetOptions ("e|exact!" => \$exact,
-           "s|spss!" => \$spss,
-           "v|verbose+" => \$verbose,
-           "h|help" => sub { usage (0) })
-  or usage (1);
+options, args = getopt.gnu_getopt(sys.argv[1:], 'esvh',
+                                  ['exact', 'spss', 'verbose', 'help'])
+for key, value in options:
+    if key in ['-e', '--exact']:
+        exact = True
+    elif key in ['-s', '--spss']:
+        spss = True
+    elif key in ['-v', '--verbose']:
+        verbose += 1
+    elif key in ['-h', '--help']:
+        usage()
+    else:
+        assert False
+if len(args) != 2:
+    sys.stderr.write("%s\n" % len(args))
+    sys.stderr.write("exactly two nonoption arguments are required "
+                     "(use --help for help)\n")
+    sys.exit(1)
 
-sub usage {
-    print "$0: compare expected and actual numeric formatting output\n";
-    print "usage: $0 [OPTION...] EXPECTED ACTUAL\n";
-    print "where EXPECTED is the file containing expected output\n";
-    print "and ACTUAL is the file containing actual output.\n";
-    print "Options:\n";
-    print "  -e, --exact: Require numbers to be exactly equal.\n";
-    print "               (By default, small differences are permitted.)\n";
-    print "  -s, --spss: Ignore most SPSS formatting bugs in EXPECTED.\n";
-    print "              (A few differences are not compensated)\n";
-    print "  -v, --verbose: Use once to summarize errors and differences.\n";
-    print "                 Use twice for details of differences.\n";
-    exit (@_);
-}
+def increment(n):
+    """Returns 'n' incremented by one unit in its final decimal place.
+    """
 
-open (EXPECTED, '<', $ARGV[0]) or die "$ARGV[0]: open: $!\n";
-open (ACTUAL, '<', $ARGV[1]) or die "$ARGV[1]: open: $!\n";
-my ($expr);
-my ($bad_round) = 0;
-my ($approximate) = 0;
-my ($spss_wtf1) = 0;
-my ($spss_wtf2) = 0;
-my ($lost_sign) = 0;
-my ($errors) = 0;
-while (defined (my $a = <EXPECTED>) && defined (my $b = <ACTUAL>)) {
-    chomp $a;
-    chomp $b;
-    if ($a eq $b) {
-       if ($a !~ /^\s*$/ && $a !~ /:/) {
-           $expr = $a;
-           $expr =~ s/\s*$//;
-           $expr =~ s/^\s*//;
-       }
-    } else {
-       my ($fmt, $a_out) = $a =~ /^ (.*): "(.*)"$/ or die;
-       my ($b_fmt, $b_out) = $b =~ /^ (.*): "(.*)"$/ or die;
-       die if $fmt ne $b_fmt;
-       die if $a_out eq $b_out;
+    last_digit = None
+    for i, c in enumerate(n):
+        if c == 'E':
+            break
+        if c.isdigit():
+            last_digit = i
+    if last_digit is None:
+        return n
 
-       if (!$exact) {
-           if (increment ($a_out) eq $b_out || increment ($b_out) eq $a_out) {
-               $approximate++;
-               next;
-           }
-       }
-       if ($spss) {
-           if ($a_out =~ /0.*0/ && $a_out !~ /[1-9]/) {
-               $bad_round++;
-               next;
-           } elsif ($a_out =~ /\*/ && $a_out !~ /^\*+$/) {
-               $spss_wtf1++;
-               next;
-           } elsif ($expr =~ /^-/
-                    && $a_out =~ /^\*+$/
-                    && $b_out =~ /-\d(\.\d*#*)?E[-+]\d\d\d/
-                    && $fmt =~ /^E/) {
-               $spss_wtf2++;
-               next;
-           } elsif ($expr =~ /^-/
-                    && (($a_out !~ /-/ && $a_out =~ /[1-9]/ && $b_out =~ /-/)
-                        || ($a_out =~ /^[0-9]+$/ && $b_out =~ /^\*+$/))) {
-               $lost_sign++;
-               next;
-           }
-       }
-       print "$.: $expr in $fmt: expected \"$a_out\", got \"$b_out\"\n"
-         if $verbose > 1;
-       $errors++;
-    }
-}
-while (<EXPECTED>) {
-    print "Extra lines in $ARGV[0]\n";
-    $errors++;
-    last;
-}
-while (<ACTUAL>) {
-    print "Extra lines in $ARGV[1]\n";
-    $errors++;
-    last;
-}
-if ($verbose) {
-    print "$errors errors\n";
-    if (!$exact) {
-       print "$approximate approximate matches\n";
-    }
-    if ($spss) {
-       print "$bad_round bad rounds\n";
-       print "$spss_wtf1 SPSS WTF 1\n";
-       print "$spss_wtf2 SPSS WTF 2\n";
-       print "$lost_sign lost signs\n";
-    }
-}
-exit ($errors > 0);
+    for i in range(last_digit, -1, -1):
+        c = n[i]
+        if c == '9':
+            n[i] = '0'
+        elif c in '012345678':
+            n[i] = chr(ord(c) + 1)
+            break
+    if i < 0:
+        n = '1' + n
+    return n
 
-# Returns the argument value incremented by one unit in its final
-# decimal place.
-sub increment {
-    local ($_) = @_;
-    my ($last_digit, $i);
-    for ($i = 0; $i < length $_; $i++) {
-       my ($c) = substr ($_, $i, 1);
-       last if ($c eq 'E');
-       $last_digit = $i if $c =~ /[0-9]/;
-    }
-    return $_ if !defined $last_digit;
-    for ($i = $last_digit; $i >= 0; $i--) {
-       my ($c) = substr ($_, $i, 1);
-       if ($c eq '9') {
-           substr ($_, $i, 1) = '0';
-       } elsif ($c =~ /[0-8]/) {
-           substr ($_, $i, 1) = chr (ord ($c) + 1);
-           last;
-       }
-    }
-    $_ = "1$_" if $i < 0;
-    return $_;
-}
+n_exact = 0
+bad_round = 0
+approximate = 0
+spss_wtf1 = 0
+spss_wtf2 = 0
+lost_sign = 0
+errors = 0
+line_number = 0
+for a, b in itertools.zip_longest(open(args[0], 'r'),
+                                  open(args[1], 'r')):
+    line_number += 1
+    if not b:
+        print("Extra lines in %s" % args[0])
+        errors += 1
+        break
+    if not a:
+        print("Extra lines in %s" % args[1])
+        errors += 1
+        break
+
+    a = a.rstrip('\r\n')
+    b = b.rstrip('\r\n')
+    if a == b:
+        n_exact += 1
+        if not a.isspace() and ':' not in a:
+            expr = a.strip()
+    else:
+        fmt, a_out = re.match(r'^ (.*): "(.*)"$', a).groups()
+        b_fmt, b_out = re.match(r'^ (.*): "(.*)"$', b).groups()
+        assert fmt == b_fmt
+        assert a_out != b_out
+
+        if not exact:
+            if increment(a_out) == b_out or increment(b_out) == a_out:
+                approximate += 1
+                continue
+        if spss:
+            if re.search(r'0.*0', a_out) and not re.search(r'[1-9]', a_out):
+                bad_round += 1
+                continue
+            elif '*' in a_out and len(a_out.strip('*')):
+                spss_wtf1 += 1
+                continue
+            elif (expr.startswith('-')
+                  and re.fullmatch(r'\*+', a_out)
+                  and re.match(r'-\d(\.\d*#*)?E[-+]\d\d\d', b_out)
+                  and fmt.startswith('E')):
+                spss_wtf2 += 1
+                continue
+            elif (expr.startswith('-')
+                  and (('-' not in a_out
+                        and re.search(r'[1-9]', a_out)
+                        and '-' in b_out)
+                       or (a_out.isdigit()
+                           and re.fullmatch(r'\*+', b_out)))):
+                lost_sign += 1
+                continue
+
+        if verbose > 1:
+            print('%s: %s in %s: expected "%s", got "%s'
+                  % (line_number, expr, fmt, a_out, b_out))
+        errors += 1
+if verbose:
+    print("%s exact matches" % n_exact)
+    print("%s errors" % errors)
+    if not exact:
+        print('%s approximate matches' %approximate)
+    if spss:
+        print("%s bad rounds" % bad_round)
+        print("%s SPSS WTF 1" % spss_wtf1)
+        print("%s SPSS WTF 2" % spss_wtf2)
+        print("%s lost signs" % lost_sign)
+sys.exit(1 if errors else 0)
 ]])
-AT_CHECK([$PERL num-out-compare.pl $PSPP_NUM_OUT_COMPARE_FLAGS expout.inexact output.inexact])
+AT_CHECK([$PYTHON3 num-out-compare.py $PSPP_NUM_OUT_COMPARE_FLAGS expout.inexact output.inexact])
 AT_CLEANUP
 
 AT_SETUP([non-ASCII custom currency formats])
@@ -1509,26 +1521,26 @@ execute.
 ])
 AT_CHECK([pspp -O format=csv time-out.sps])
 AT_CHECK([cat time5.out], [0], [dnl
 0:00
 4:50
00:00
04:50
  12:31
  12:47
 1:26
01:26
  20:58
 7:36
07:36
  15:43
 4:25
 6:49
 2:57
04:25
06:49
02:57
  16:45
  21:30
 4:25
 6:49
 2:57
04:25
06:49
02:57
  16:45
  21:30
  22:30
 1:56
01:56
  24:00
  28:50
  36:31
@@ -1609,26 +1621,26 @@ AT_CHECK([cat time5.out], [0], [dnl
  *****
  *****
  *****
-  0:00
- -4:50
+ 00:00
+ *****
+ *****
+ *****
+ *****
+ *****
+ *****
+ *****
+ *****
+ *****
+ *****
  *****
  *****
- -1:26
  *****
- -7:36
  *****
- -4:25
- -6:49
- -2:57
  *****
  *****
- -4:25
- -6:49
- -2:57
  *****
  *****
  *****
- -1:56
  *****
  *****
  *****
@@ -1711,26 +1723,26 @@ AT_CHECK([cat time5.out], [0], [dnl
  *****
 ])
 AT_CHECK([cat time6.out], [0], [dnl
-   0:00
-   4:50
+  00:00
+  04:50
   12:31
   12:47
-   1:26
+  01:26
   20:58
-   7:36
+  07:36
   15:43
-   4:25
-   6:49
-   2:57
+  04:25
+  06:49
+  02:57
   16:45
   21:30
-   4:25
-   6:49
-   2:57
+  04:25
+  06:49
+  02:57
   16:45
   21:30
   22:30
-   1:56
+  01:56
   24:00
   28:50
   36:31
@@ -1811,26 +1823,26 @@ AT_CHECK([cat time6.out], [0], [dnl
  ******
  ******
  ******
-   0:00
 -4:50
+  00:00
-04:50
  -12:31
  -12:47
 -1:26
-01:26
  -20:58
 -7:36
-07:36
  -15:43
 -4:25
 -6:49
 -2:57
-04:25
-06:49
-02:57
  -16:45
  -21:30
 -4:25
 -6:49
 -2:57
-04:25
-06:49
-02:57
  -16:45
  -21:30
  -22:30
 -1:56
-01:56
  -24:00
  -28:50
  -36:31
@@ -1913,26 +1925,26 @@ AT_CHECK([cat time6.out], [0], [dnl
  ******
 ])
 AT_CHECK([cat time7.out], [0], [dnl
0:00:00
- 4:50:38
  00:00
+   04:50
    12:31
    12:47
- 1:26:00
+   01:26
    20:58
- 7:36:05
+   07:36
    15:43
- 4:25:09
- 6:49:27
- 2:57:52
+   04:25
+   06:49
+   02:57
    16:45
    21:30
- 4:25:09
- 6:49:27
- 2:57:52
+   04:25
+   06:49
+   02:57
    16:45
    21:30
    22:30
- 1:56:51
+   01:56
    24:00
    28:50
    36:31
@@ -2013,26 +2025,26 @@ AT_CHECK([cat time7.out], [0], [dnl
  *******
  *******
  *******
0:00:00
-   -4:50
  00:00
+  -04:50
   -12:31
   -12:47
-   -1:26
+  -01:26
   -20:58
-   -7:36
+  -07:36
   -15:43
-   -4:25
-   -6:49
-   -2:57
+  -04:25
+  -06:49
+  -02:57
   -16:45
   -21:30
-   -4:25
-   -6:49
-   -2:57
+  -04:25
+  -06:49
+  -02:57
   -16:45
   -21:30
   -22:30
-   -1:56
+  -01:56
   -24:00
   -28:50
   -36:31
@@ -2115,26 +2127,26 @@ AT_CHECK([cat time7.out], [0], [dnl
  *******
 ])
 AT_CHECK([cat time8.out], [0], [dnl
 0:00:00
 4:50:38
00:00:00
04:50:38
  12:31:35
  12:47:53
 1:26:00
01:26:00
  20:58:11
 7:36:05
07:36:05
  15:43:49
 4:25:09
 6:49:27
 2:57:52
04:25:09
06:49:27
02:57:52
  16:45:44
  21:30:57
 4:25:09
 6:49:27
 2:57:52
04:25:09
06:49:27
02:57:52
  16:45:44
  21:30:57
  22:30:04
 1:56:51
01:56:51
  24:00:00
  28:50:38
  36:31:35
@@ -2215,26 +2227,26 @@ AT_CHECK([cat time8.out], [0], [dnl
  16365:30
  16366:30
  16345:56
 0:00:00
- -4:50:38
00:00:00
+   -04:50
    -12:31
    -12:47
- -1:26:00
+   -01:26
    -20:58
- -7:36:05
+   -07:36
    -15:43
- -4:25:09
- -6:49:27
- -2:57:52
+   -04:25
+   -06:49
+   -02:57
    -16:45
    -21:30
- -4:25:09
- -6:49:27
- -2:57:52
+   -04:25
+   -06:49
+   -02:57
    -16:45
    -21:30
    -22:30
- -1:56:51
+   -01:56
    -24:00
    -28:50
    -36:31
@@ -2317,26 +2329,26 @@ AT_CHECK([cat time8.out], [0], [dnl
  ********
 ])
 AT_CHECK([cat time9.out], [0], [dnl
-   0:00:00
-   4:50:38
+  00:00:00
+  04:50:38
   12:31:35
   12:47:53
-   1:26:00
+  01:26:00
   20:58:11
-   7:36:05
+  07:36:05
   15:43:49
-   4:25:09
-   6:49:27
-   2:57:52
+  04:25:09
+  06:49:27
+  02:57:52
   16:45:44
   21:30:57
-   4:25:09
-   6:49:27
-   2:57:52
+  04:25:09
+  06:49:27
+  02:57:52
   16:45:44
   21:30:57
   22:30:04
-   1:56:51
+  01:56:51
   24:00:00
   28:50:38
   36:31:35
@@ -2417,26 +2429,26 @@ AT_CHECK([cat time9.out], [0], [dnl
   16365:30
   16366:30
   16345:56
-   0:00:00
 -4:50:38
+  00:00:00
-04:50:38
  -12:31:35
  -12:47:53
 -1:26:00
-01:26:00
  -20:58:11
 -7:36:05
-07:36:05
  -15:43:49
 -4:25:09
 -6:49:27
 -2:57:52
-04:25:09
-06:49:27
-02:57:52
  -16:45:44
  -21:30:57
 -4:25:09
 -6:49:27
 -2:57:52
-04:25:09
-06:49:27
-02:57:52
  -16:45:44
  -21:30:57
  -22:30:04
 -1:56:51
-01:56:51
  -24:00:00
  -28:50:38
  -36:31:35
@@ -2519,26 +2531,26 @@ AT_CHECK([cat time9.out], [0], [dnl
  -16345:56
 ])
 AT_CHECK([cat time10.out], [0], [dnl
-    0:00:00
-    4:50:38
+   00:00:00
+   04:50:38
    12:31:35
    12:47:53
-    1:26:00
+   01:26:00
    20:58:11
-    7:36:05
+   07:36:05
    15:43:49
-    4:25:09
-    6:49:27
-    2:57:52
+   04:25:09
+   06:49:27
+   02:57:52
    16:45:44
    21:30:57
-    4:25:09
-    6:49:27
-    2:57:52
+   04:25:09
+   06:49:27
+   02:57:52
    16:45:44
    21:30:57
    22:30:04
-    1:56:51
+   01:56:51
    24:00:00
    28:50:38
    36:31:35
@@ -2619,26 +2631,26 @@ AT_CHECK([cat time10.out], [0], [dnl
    16365:30
    16366:30
    16345:56
-    0:00:00
-   -4:50:38
+   00:00:00
+  -04:50:38
   -12:31:35
   -12:47:53
-   -1:26:00
+  -01:26:00
   -20:58:11
-   -7:36:05
+  -07:36:05
   -15:43:49
-   -4:25:09
-   -6:49:27
-   -2:57:52
+  -04:25:09
+  -06:49:27
+  -02:57:52
   -16:45:44
   -21:30:57
-   -4:25:09
-   -6:49:27
-   -2:57:52
+  -04:25:09
+  -06:49:27
+  -02:57:52
   -16:45:44
   -21:30:57
   -22:30:04
-   -1:56:51
+  -01:56:51
   -24:00:00
   -28:50:38
   -36:31:35
@@ -2721,26 +2733,26 @@ AT_CHECK([cat time10.out], [0], [dnl
   -16345:56
 ])
 AT_CHECK([cat time10.1.out], [0], [dnl
 0:00:00.0
 4:50:38.1
00:00:00.0
04:50:38.1
  12:31:35.2
  12:47:53.3
 1:26:00.5
01:26:00.5
  20:58:11.6
 7:36:05.2
07:36:05.2
  15:43:49.8
 4:25:09.0
 6:49:27.5
 2:57:52.0
04:25:09.0
06:49:27.5
02:57:52.0
  16:45:44.9
  21:30:57.8
 4:25:09.2
 6:49:27.1
 2:57:52.5
04:25:09.2
06:49:27.1
02:57:52.5
  16:45:44.7
  21:30:57.6
  22:30:04.2
 1:56:51.6
01:56:51.6
  24:00:00.0
  28:50:38.1
  36:31:35.2
@@ -2821,26 +2833,26 @@ AT_CHECK([cat time10.1.out], [0], [dnl
    16365:30
    16366:30
    16345:56
 0:00:00.0
- -4:50:38.1
00:00:00.0
+  -04:50:38
   -12:31:35
   -12:47:53
- -1:26:00.5
+  -01:26:00
   -20:58:11
- -7:36:05.2
+  -07:36:05
   -15:43:49
- -4:25:09.0
- -6:49:27.5
- -2:57:52.0
+  -04:25:09
+  -06:49:27
+  -02:57:52
   -16:45:44
   -21:30:57
- -4:25:09.2
- -6:49:27.1
- -2:57:52.5
+  -04:25:09
+  -06:49:27
+  -02:57:52
   -16:45:44
   -21:30:57
   -22:30:04
- -1:56:51.6
+  -01:56:51
   -24:00:00
   -28:50:38
   -36:31:35
@@ -2923,26 +2935,26 @@ AT_CHECK([cat time10.1.out], [0], [dnl
   -16345:56
 ])
 AT_CHECK([cat time11.out], [0], [dnl
-     0:00:00
-     4:50:38
+    00:00:00
+    04:50:38
     12:31:35
     12:47:53
-     1:26:00
+    01:26:00
     20:58:11
-     7:36:05
+    07:36:05
     15:43:49
-     4:25:09
-     6:49:27
-     2:57:52
+    04:25:09
+    06:49:27
+    02:57:52
     16:45:44
     21:30:57
-     4:25:09
-     6:49:27
-     2:57:52
+    04:25:09
+    06:49:27
+    02:57:52
     16:45:44
     21:30:57
     22:30:04
-     1:56:51
+    01:56:51
     24:00:00
     28:50:38
     36:31:35
@@ -3023,26 +3035,26 @@ AT_CHECK([cat time11.out], [0], [dnl
  16365:30:57
  16366:30:04
  16345:56:51
-     0:00:00
-    -4:50:38
+    00:00:00
+   -04:50:38
    -12:31:35
    -12:47:53
-    -1:26:00
+   -01:26:00
    -20:58:11
-    -7:36:05
+   -07:36:05
    -15:43:49
-    -4:25:09
-    -6:49:27
-    -2:57:52
+   -04:25:09
+   -06:49:27
+   -02:57:52
    -16:45:44
    -21:30:57
-    -4:25:09
-    -6:49:27
-    -2:57:52
+   -04:25:09
+   -06:49:27
+   -02:57:52
    -16:45:44
    -21:30:57
    -22:30:04
-    -1:56:51
+   -01:56:51
    -24:00:00
    -28:50:38
    -36:31:35
@@ -3125,26 +3137,26 @@ AT_CHECK([cat time11.out], [0], [dnl
    -16345:56
 ])
 AT_CHECK([cat time11.1.out], [0], [dnl
-   0:00:00.0
-   4:50:38.1
+  00:00:00.0
+  04:50:38.1
   12:31:35.2
   12:47:53.3
-   1:26:00.5
+  01:26:00.5
   20:58:11.6
-   7:36:05.2
+  07:36:05.2
   15:43:49.8
-   4:25:09.0
-   6:49:27.5
-   2:57:52.0
+  04:25:09.0
+  06:49:27.5
+  02:57:52.0
   16:45:44.9
   21:30:57.8
-   4:25:09.2
-   6:49:27.1
-   2:57:52.5
+  04:25:09.2
+  06:49:27.1
+  02:57:52.5
   16:45:44.7
   21:30:57.6
   22:30:04.2
-   1:56:51.6
+  01:56:51.6
   24:00:00.0
   28:50:38.1
   36:31:35.2
@@ -3225,26 +3237,26 @@ AT_CHECK([cat time11.1.out], [0], [dnl
  16365:30:57
  16366:30:04
  16345:56:51
-   0:00:00.0
 -4:50:38.1
+  00:00:00.0
-04:50:38.1
  -12:31:35.2
  -12:47:53.3
 -1:26:00.5
-01:26:00.5
  -20:58:11.6
 -7:36:05.2
-07:36:05.2
  -15:43:49.8
 -4:25:09.0
 -6:49:27.5
 -2:57:52.0
-04:25:09.0
-06:49:27.5
-02:57:52.0
  -16:45:44.9
  -21:30:57.8
 -4:25:09.2
 -6:49:27.1
 -2:57:52.5
-04:25:09.2
-06:49:27.1
-02:57:52.5
  -16:45:44.7
  -21:30:57.6
  -22:30:04.2
 -1:56:51.6
-01:56:51.6
  -24:00:00.0
  -28:50:38.1
  -36:31:35.2
@@ -3327,26 +3339,26 @@ AT_CHECK([cat time11.1.out], [0], [dnl
    -16345:56
 ])
 AT_CHECK([cat time11.2.out], [0], [dnl
 0:00:00.00
 4:50:38.12
00:00:00.00
04:50:38.12
  12:31:35.23
  12:47:53.35
 1:26:00.46
01:26:00.46
  20:58:11.57
 7:36:05.19
07:36:05.19
  15:43:49.83
 4:25:09.01
 6:49:27.52
 2:57:52.02
04:25:09.01
06:49:27.52
02:57:52.02
  16:45:44.87
  21:30:57.82
 4:25:09.15
 6:49:27.11
 2:57:52.48
04:25:09.15
06:49:27.11
02:57:52.48
  16:45:44.66
  21:30:57.58
  22:30:04.18
 1:56:51.59
01:56:51.59
  24:00:00.00
  28:50:38.12
  36:31:35.23
@@ -3427,26 +3439,26 @@ AT_CHECK([cat time11.2.out], [0], [dnl
  16365:30:57
  16366:30:04
  16345:56:51
 0:00:00.00
- -4:50:38.12
00:00:00.00
+ -04:50:38.1
  -12:31:35.2
  -12:47:53.3
- -1:26:00.46
+ -01:26:00.5
  -20:58:11.6
- -7:36:05.19
+ -07:36:05.2
  -15:43:49.8
- -4:25:09.01
- -6:49:27.52
- -2:57:52.02
+ -04:25:09.0
+ -06:49:27.5
+ -02:57:52.0
  -16:45:44.9
  -21:30:57.8
- -4:25:09.15
- -6:49:27.11
- -2:57:52.48
+ -04:25:09.2
+ -06:49:27.1
+ -02:57:52.5
  -16:45:44.7
  -21:30:57.6
  -22:30:04.2
- -1:56:51.59
+ -01:56:51.6
  -24:00:00.0
  -28:50:38.1
  -36:31:35.2
@@ -3529,26 +3541,26 @@ AT_CHECK([cat time11.2.out], [0], [dnl
    -16345:56
 ])
 AT_CHECK([cat time12.out], [0], [dnl
-      0:00:00
-      4:50:38
+     00:00:00
+     04:50:38
      12:31:35
      12:47:53
-      1:26:00
+     01:26:00
      20:58:11
-      7:36:05
+     07:36:05
      15:43:49
-      4:25:09
-      6:49:27
-      2:57:52
+     04:25:09
+     06:49:27
+     02:57:52
      16:45:44
      21:30:57
-      4:25:09
-      6:49:27
-      2:57:52
+     04:25:09
+     06:49:27
+     02:57:52
      16:45:44
      21:30:57
      22:30:04
-      1:56:51
+     01:56:51
      24:00:00
      28:50:38
      36:31:35
@@ -3629,26 +3641,26 @@ AT_CHECK([cat time12.out], [0], [dnl
   16365:30:57
   16366:30:04
   16345:56:51
-      0:00:00
-     -4:50:38
+     00:00:00
+    -04:50:38
     -12:31:35
     -12:47:53
-     -1:26:00
+    -01:26:00
     -20:58:11
-     -7:36:05
+    -07:36:05
     -15:43:49
-     -4:25:09
-     -6:49:27
-     -2:57:52
+    -04:25:09
+    -06:49:27
+    -02:57:52
     -16:45:44
     -21:30:57
-     -4:25:09
-     -6:49:27
-     -2:57:52
+    -04:25:09
+    -06:49:27
+    -02:57:52
     -16:45:44
     -21:30:57
     -22:30:04
-     -1:56:51
+    -01:56:51
     -24:00:00
     -28:50:38
     -36:31:35
@@ -3731,26 +3743,26 @@ AT_CHECK([cat time12.out], [0], [dnl
  -16345:56:51
 ])
 AT_CHECK([cat time12.1.out], [0], [dnl
-    0:00:00.0
-    4:50:38.1
+   00:00:00.0
+   04:50:38.1
    12:31:35.2
    12:47:53.3
-    1:26:00.5
+   01:26:00.5
    20:58:11.6
-    7:36:05.2
+   07:36:05.2
    15:43:49.8
-    4:25:09.0
-    6:49:27.5
-    2:57:52.0
+   04:25:09.0
+   06:49:27.5
+   02:57:52.0
    16:45:44.9
    21:30:57.8
-    4:25:09.2
-    6:49:27.1
-    2:57:52.5
+   04:25:09.2
+   06:49:27.1
+   02:57:52.5
    16:45:44.7
    21:30:57.6
    22:30:04.2
-    1:56:51.6
+   01:56:51.6
    24:00:00.0
    28:50:38.1
    36:31:35.2
@@ -3831,26 +3843,26 @@ AT_CHECK([cat time12.1.out], [0], [dnl
   16365:30:57
   16366:30:04
   16345:56:51
-    0:00:00.0
-   -4:50:38.1
+   00:00:00.0
+  -04:50:38.1
   -12:31:35.2
   -12:47:53.3
-   -1:26:00.5
+  -01:26:00.5
   -20:58:11.6
-   -7:36:05.2
+  -07:36:05.2
   -15:43:49.8
-   -4:25:09.0
-   -6:49:27.5
-   -2:57:52.0
+  -04:25:09.0
+  -06:49:27.5
+  -02:57:52.0
   -16:45:44.9
   -21:30:57.8
-   -4:25:09.2
-   -6:49:27.1
-   -2:57:52.5
+  -04:25:09.2
+  -06:49:27.1
+  -02:57:52.5
   -16:45:44.7
   -21:30:57.6
   -22:30:04.2
-   -1:56:51.6
+  -01:56:51.6
   -24:00:00.0
   -28:50:38.1
   -36:31:35.2
@@ -3933,26 +3945,26 @@ AT_CHECK([cat time12.1.out], [0], [dnl
  -16345:56:51
 ])
 AT_CHECK([cat time12.2.out], [0], [dnl
-   0:00:00.00
-   4:50:38.12
+  00:00:00.00
+  04:50:38.12
   12:31:35.23
   12:47:53.35
-   1:26:00.46
+  01:26:00.46
   20:58:11.57
-   7:36:05.19
+  07:36:05.19
   15:43:49.83
-   4:25:09.01
-   6:49:27.52
-   2:57:52.02
+  04:25:09.01
+  06:49:27.52
+  02:57:52.02
   16:45:44.87
   21:30:57.82
-   4:25:09.15
-   6:49:27.11
-   2:57:52.48
+  04:25:09.15
+  06:49:27.11
+  02:57:52.48
   16:45:44.66
   21:30:57.58
   22:30:04.18
-   1:56:51.59
+  01:56:51.59
   24:00:00.00
   28:50:38.12
   36:31:35.23
@@ -4033,26 +4045,26 @@ AT_CHECK([cat time12.2.out], [0], [dnl
   16365:30:57
   16366:30:04
   16345:56:51
-   0:00:00.00
 -4:50:38.12
+  00:00:00.00
-04:50:38.12
  -12:31:35.23
  -12:47:53.35
 -1:26:00.46
-01:26:00.46
  -20:58:11.57
 -7:36:05.19
-07:36:05.19
  -15:43:49.83
 -4:25:09.01
 -6:49:27.52
 -2:57:52.02
-04:25:09.01
-06:49:27.52
-02:57:52.02
  -16:45:44.87
  -21:30:57.82
 -4:25:09.15
 -6:49:27.11
 -2:57:52.48
-04:25:09.15
-06:49:27.11
-02:57:52.48
  -16:45:44.66
  -21:30:57.58
  -22:30:04.18
 -1:56:51.59
-01:56:51.59
  -24:00:00.00
  -28:50:38.12
  -36:31:35.23
@@ -4135,26 +4147,26 @@ AT_CHECK([cat time12.2.out], [0], [dnl
  -16345:56:51
 ])
 AT_CHECK([cat time12.3.out], [0], [dnl
 0:00:00.000
 4:50:38.123
00:00:00.000
04:50:38.123
  12:31:35.235
  12:47:53.345
 1:26:00.456
01:26:00.456
  20:58:11.567
 7:36:05.190
07:36:05.190
  15:43:49.831
 4:25:09.013
 6:49:27.524
 2:57:52.016
04:25:09.013
06:49:27.524
02:57:52.016
  16:45:44.865
  21:30:57.820
 4:25:09.154
 6:49:27.105
 2:57:52.482
04:25:09.154
06:49:27.105
02:57:52.482
  16:45:44.658
  21:30:57.582
  22:30:04.183
 1:56:51.593
01:56:51.593
  24:00:00.000
  28:50:38.123
  36:31:35.235
@@ -4235,26 +4247,26 @@ AT_CHECK([cat time12.3.out], [0], [dnl
   16365:30:57
   16366:30:04
   16345:56:51
 0:00:00.000
- -4:50:38.123
00:00:00.000
+ -04:50:38.12
  -12:31:35.23
  -12:47:53.35
- -1:26:00.456
+ -01:26:00.46
  -20:58:11.57
- -7:36:05.190
+ -07:36:05.19
  -15:43:49.83
- -4:25:09.013
- -6:49:27.524
- -2:57:52.016
+ -04:25:09.01
+ -06:49:27.52
+ -02:57:52.02
  -16:45:44.87
  -21:30:57.82
- -4:25:09.154
- -6:49:27.105
- -2:57:52.482
+ -04:25:09.15
+ -06:49:27.11
+ -02:57:52.48
  -16:45:44.66
  -21:30:57.58
  -22:30:04.18
- -1:56:51.593
+ -01:56:51.59
  -24:00:00.00
  -28:50:38.12
  -36:31:35.23
@@ -4337,26 +4349,26 @@ AT_CHECK([cat time12.3.out], [0], [dnl
  -16345:56:51
 ])
 AT_CHECK([cat time13.out], [0], [dnl
-       0:00:00
-       4:50:38
+      00:00:00
+      04:50:38
       12:31:35
       12:47:53
-       1:26:00
+      01:26:00
       20:58:11
-       7:36:05
+      07:36:05
       15:43:49
-       4:25:09
-       6:49:27
-       2:57:52
+      04:25:09
+      06:49:27
+      02:57:52
       16:45:44
       21:30:57
-       4:25:09
-       6:49:27
-       2:57:52
+      04:25:09
+      06:49:27
+      02:57:52
       16:45:44
       21:30:57
       22:30:04
-       1:56:51
+      01:56:51
       24:00:00
       28:50:38
       36:31:35
@@ -4437,26 +4449,26 @@ AT_CHECK([cat time13.out], [0], [dnl
    16365:30:57
    16366:30:04
    16345:56:51
-       0:00:00
-      -4:50:38
+      00:00:00
+     -04:50:38
      -12:31:35
      -12:47:53
-      -1:26:00
+     -01:26:00
      -20:58:11
-      -7:36:05
+     -07:36:05
      -15:43:49
-      -4:25:09
-      -6:49:27
-      -2:57:52
+     -04:25:09
+     -06:49:27
+     -02:57:52
      -16:45:44
      -21:30:57
-      -4:25:09
-      -6:49:27
-      -2:57:52
+     -04:25:09
+     -06:49:27
+     -02:57:52
      -16:45:44
      -21:30:57
      -22:30:04
-      -1:56:51
+     -01:56:51
      -24:00:00
      -28:50:38
      -36:31:35
@@ -4539,26 +4551,26 @@ AT_CHECK([cat time13.out], [0], [dnl
   -16345:56:51
 ])
 AT_CHECK([cat time13.1.out], [0], [dnl
-     0:00:00.0
-     4:50:38.1
+    00:00:00.0
+    04:50:38.1
     12:31:35.2
     12:47:53.3
-     1:26:00.5
+    01:26:00.5
     20:58:11.6
-     7:36:05.2
+    07:36:05.2
     15:43:49.8
-     4:25:09.0
-     6:49:27.5
-     2:57:52.0
+    04:25:09.0
+    06:49:27.5
+    02:57:52.0
     16:45:44.9
     21:30:57.8
-     4:25:09.2
-     6:49:27.1
-     2:57:52.5
+    04:25:09.2
+    06:49:27.1
+    02:57:52.5
     16:45:44.7
     21:30:57.6
     22:30:04.2
-     1:56:51.6
+    01:56:51.6
     24:00:00.0
     28:50:38.1
     36:31:35.2
@@ -4639,26 +4651,26 @@ AT_CHECK([cat time13.1.out], [0], [dnl
  16365:30:57.6
  16366:30:04.2
  16345:56:51.6
-     0:00:00.0
-    -4:50:38.1
+    00:00:00.0
+   -04:50:38.1
    -12:31:35.2
    -12:47:53.3
-    -1:26:00.5
+   -01:26:00.5
    -20:58:11.6
-    -7:36:05.2
+   -07:36:05.2
    -15:43:49.8
-    -4:25:09.0
-    -6:49:27.5
-    -2:57:52.0
+   -04:25:09.0
+   -06:49:27.5
+   -02:57:52.0
    -16:45:44.9
    -21:30:57.8
-    -4:25:09.2
-    -6:49:27.1
-    -2:57:52.5
+   -04:25:09.2
+   -06:49:27.1
+   -02:57:52.5
    -16:45:44.7
    -21:30:57.6
    -22:30:04.2
-    -1:56:51.6
+   -01:56:51.6
    -24:00:00.0
    -28:50:38.1
    -36:31:35.2
@@ -4741,26 +4753,26 @@ AT_CHECK([cat time13.1.out], [0], [dnl
   -16345:56:51
 ])
 AT_CHECK([cat time13.2.out], [0], [dnl
-    0:00:00.00
-    4:50:38.12
+   00:00:00.00
+   04:50:38.12
    12:31:35.23
    12:47:53.35
-    1:26:00.46
+   01:26:00.46
    20:58:11.57
-    7:36:05.19
+   07:36:05.19
    15:43:49.83
-    4:25:09.01
-    6:49:27.52
-    2:57:52.02
+   04:25:09.01
+   06:49:27.52
+   02:57:52.02
    16:45:44.87
    21:30:57.82
-    4:25:09.15
-    6:49:27.11
-    2:57:52.48
+   04:25:09.15
+   06:49:27.11
+   02:57:52.48
    16:45:44.66
    21:30:57.58
    22:30:04.18
-    1:56:51.59
+   01:56:51.59
    24:00:00.00
    28:50:38.12
    36:31:35.23
@@ -4841,26 +4853,26 @@ AT_CHECK([cat time13.2.out], [0], [dnl
  16365:30:57.6
  16366:30:04.2
  16345:56:51.6
-    0:00:00.00
-   -4:50:38.12
+   00:00:00.00
+  -04:50:38.12
   -12:31:35.23
   -12:47:53.35
-   -1:26:00.46
+  -01:26:00.46
   -20:58:11.57
-   -7:36:05.19
+  -07:36:05.19
   -15:43:49.83
-   -4:25:09.01
-   -6:49:27.52
-   -2:57:52.02
+  -04:25:09.01
+  -06:49:27.52
+  -02:57:52.02
   -16:45:44.87
   -21:30:57.82
-   -4:25:09.15
-   -6:49:27.11
-   -2:57:52.48
+  -04:25:09.15
+  -06:49:27.11
+  -02:57:52.48
   -16:45:44.66
   -21:30:57.58
   -22:30:04.18
-   -1:56:51.59
+  -01:56:51.59
   -24:00:00.00
   -28:50:38.12
   -36:31:35.23
@@ -4943,26 +4955,26 @@ AT_CHECK([cat time13.2.out], [0], [dnl
   -16345:56:51
 ])
 AT_CHECK([cat time13.3.out], [0], [dnl
-   0:00:00.000
-   4:50:38.123
+  00:00:00.000
+  04:50:38.123
   12:31:35.235
   12:47:53.345
-   1:26:00.456
+  01:26:00.456
   20:58:11.567
-   7:36:05.190
+  07:36:05.190
   15:43:49.831
-   4:25:09.013
-   6:49:27.524
-   2:57:52.016
+  04:25:09.013
+  06:49:27.524
+  02:57:52.016
   16:45:44.865
   21:30:57.820
-   4:25:09.154
-   6:49:27.105
-   2:57:52.482
+  04:25:09.154
+  06:49:27.105
+  02:57:52.482
   16:45:44.658
   21:30:57.582
   22:30:04.183
-   1:56:51.593
+  01:56:51.593
   24:00:00.000
   28:50:38.123
   36:31:35.235
@@ -5043,26 +5055,26 @@ AT_CHECK([cat time13.3.out], [0], [dnl
  16365:30:57.6
  16366:30:04.2
  16345:56:51.6
-   0:00:00.000
 -4:50:38.123
+  00:00:00.000
-04:50:38.123
  -12:31:35.235
  -12:47:53.345
 -1:26:00.456
-01:26:00.456
  -20:58:11.567
 -7:36:05.190
-07:36:05.190
  -15:43:49.831
 -4:25:09.013
 -6:49:27.524
 -2:57:52.016
-04:25:09.013
-06:49:27.524
-02:57:52.016
  -16:45:44.865
  -21:30:57.820
 -4:25:09.154
 -6:49:27.105
 -2:57:52.482
-04:25:09.154
-06:49:27.105
-02:57:52.482
  -16:45:44.658
  -21:30:57.582
  -22:30:04.183
 -1:56:51.593
-01:56:51.593
  -24:00:00.000
  -28:50:38.123
  -36:31:35.235
@@ -5145,26 +5157,26 @@ AT_CHECK([cat time13.3.out], [0], [dnl
   -16345:56:51
 ])
 AT_CHECK([cat time13.4.out], [0], [dnl
 0:00:00.0000
 4:50:38.1230
00:00:00.0000
04:50:38.1230
  12:31:35.2345
  12:47:53.3451
 1:26:00.4561
01:26:00.4561
  20:58:11.5668
 7:36:05.1896
07:36:05.1896
  15:43:49.8313
 4:25:09.0129
 6:49:27.5238
 2:57:52.0156
04:25:09.0129
06:49:27.5238
02:57:52.0156
  16:45:44.8653
  21:30:57.8205
 4:25:09.1539
 6:49:27.1053
 2:57:52.4823
04:25:09.1539
06:49:27.1053
02:57:52.4823
  16:45:44.6583
  21:30:57.5822
  22:30:04.1835
 1:56:51.5932
01:56:51.5932
  24:00:00.0000
  28:50:38.1230
  36:31:35.2345
@@ -5245,26 +5257,26 @@ AT_CHECK([cat time13.4.out], [0], [dnl
  16365:30:57.6
  16366:30:04.2
  16345:56:51.6
 0:00:00.0000
- -4:50:38.1230
00:00:00.0000
+ -04:50:38.123
  -12:31:35.235
  -12:47:53.345
- -1:26:00.4561
+ -01:26:00.456
  -20:58:11.567
- -7:36:05.1896
+ -07:36:05.190
  -15:43:49.831
- -4:25:09.0129
- -6:49:27.5238
- -2:57:52.0156
+ -04:25:09.013
+ -06:49:27.524
+ -02:57:52.016
  -16:45:44.865
  -21:30:57.820
- -4:25:09.1539
- -6:49:27.1053
- -2:57:52.4823
+ -04:25:09.154
+ -06:49:27.105
+ -02:57:52.482
  -16:45:44.658
  -21:30:57.582
  -22:30:04.183
- -1:56:51.5932
+ -01:56:51.593
  -24:00:00.000
  -28:50:38.123
  -36:31:35.235
@@ -5347,26 +5359,26 @@ AT_CHECK([cat time13.4.out], [0], [dnl
   -16345:56:51
 ])
 AT_CHECK([cat time14.out], [0], [dnl
-        0:00:00
-        4:50:38
+       00:00:00
+       04:50:38
        12:31:35
        12:47:53
-        1:26:00
+       01:26:00
        20:58:11
-        7:36:05
+       07:36:05
        15:43:49
-        4:25:09
-        6:49:27
-        2:57:52
+       04:25:09
+       06:49:27
+       02:57:52
        16:45:44
        21:30:57
-        4:25:09
-        6:49:27
-        2:57:52
+       04:25:09
+       06:49:27
+       02:57:52
        16:45:44
        21:30:57
        22:30:04
-        1:56:51
+       01:56:51
        24:00:00
        28:50:38
        36:31:35
@@ -5447,26 +5459,26 @@ AT_CHECK([cat time14.out], [0], [dnl
     16365:30:57
     16366:30:04
     16345:56:51
-        0:00:00
-       -4:50:38
+       00:00:00
+      -04:50:38
       -12:31:35
       -12:47:53
-       -1:26:00
+      -01:26:00
       -20:58:11
-       -7:36:05
+      -07:36:05
       -15:43:49
-       -4:25:09
-       -6:49:27
-       -2:57:52
+      -04:25:09
+      -06:49:27
+      -02:57:52
       -16:45:44
       -21:30:57
-       -4:25:09
-       -6:49:27
-       -2:57:52
+      -04:25:09
+      -06:49:27
+      -02:57:52
       -16:45:44
       -21:30:57
       -22:30:04
-       -1:56:51
+      -01:56:51
       -24:00:00
       -28:50:38
       -36:31:35
@@ -5549,26 +5561,26 @@ AT_CHECK([cat time14.out], [0], [dnl
    -16345:56:51
 ])
 AT_CHECK([cat time14.1.out], [0], [dnl
-      0:00:00.0
-      4:50:38.1
+     00:00:00.0
+     04:50:38.1
      12:31:35.2
      12:47:53.3
-      1:26:00.5
+     01:26:00.5
      20:58:11.6
-      7:36:05.2
+     07:36:05.2
      15:43:49.8
-      4:25:09.0
-      6:49:27.5
-      2:57:52.0
+     04:25:09.0
+     06:49:27.5
+     02:57:52.0
      16:45:44.9
      21:30:57.8
-      4:25:09.2
-      6:49:27.1
-      2:57:52.5
+     04:25:09.2
+     06:49:27.1
+     02:57:52.5
      16:45:44.7
      21:30:57.6
      22:30:04.2
-      1:56:51.6
+     01:56:51.6
      24:00:00.0
      28:50:38.1
      36:31:35.2
@@ -5649,26 +5661,26 @@ AT_CHECK([cat time14.1.out], [0], [dnl
   16365:30:57.6
   16366:30:04.2
   16345:56:51.6
-      0:00:00.0
-     -4:50:38.1
+     00:00:00.0
+    -04:50:38.1
     -12:31:35.2
     -12:47:53.3
-     -1:26:00.5
+    -01:26:00.5
     -20:58:11.6
-     -7:36:05.2
+    -07:36:05.2
     -15:43:49.8
-     -4:25:09.0
-     -6:49:27.5
-     -2:57:52.0
+    -04:25:09.0
+    -06:49:27.5
+    -02:57:52.0
     -16:45:44.9
     -21:30:57.8
-     -4:25:09.2
-     -6:49:27.1
-     -2:57:52.5
+    -04:25:09.2
+    -06:49:27.1
+    -02:57:52.5
     -16:45:44.7
     -21:30:57.6
     -22:30:04.2
-     -1:56:51.6
+    -01:56:51.6
     -24:00:00.0
     -28:50:38.1
     -36:31:35.2
@@ -5751,26 +5763,26 @@ AT_CHECK([cat time14.1.out], [0], [dnl
  -16345:56:51.6
 ])
 AT_CHECK([cat time14.2.out], [0], [dnl
-     0:00:00.00
-     4:50:38.12
+    00:00:00.00
+    04:50:38.12
     12:31:35.23
     12:47:53.35
-     1:26:00.46
+    01:26:00.46
     20:58:11.57
-     7:36:05.19
+    07:36:05.19
     15:43:49.83
-     4:25:09.01
-     6:49:27.52
-     2:57:52.02
+    04:25:09.01
+    06:49:27.52
+    02:57:52.02
     16:45:44.87
     21:30:57.82
-     4:25:09.15
-     6:49:27.11
-     2:57:52.48
+    04:25:09.15
+    06:49:27.11
+    02:57:52.48
     16:45:44.66
     21:30:57.58
     22:30:04.18
-     1:56:51.59
+    01:56:51.59
     24:00:00.00
     28:50:38.12
     36:31:35.23
@@ -5851,26 +5863,26 @@ AT_CHECK([cat time14.2.out], [0], [dnl
  16365:30:57.58
  16366:30:04.18
  16345:56:51.59
-     0:00:00.00
-    -4:50:38.12
+    00:00:00.00
+   -04:50:38.12
    -12:31:35.23
    -12:47:53.35
-    -1:26:00.46
+   -01:26:00.46
    -20:58:11.57
-    -7:36:05.19
+   -07:36:05.19
    -15:43:49.83
-    -4:25:09.01
-    -6:49:27.52
-    -2:57:52.02
+   -04:25:09.01
+   -06:49:27.52
+   -02:57:52.02
    -16:45:44.87
    -21:30:57.82
-    -4:25:09.15
-    -6:49:27.11
-    -2:57:52.48
+   -04:25:09.15
+   -06:49:27.11
+   -02:57:52.48
    -16:45:44.66
    -21:30:57.58
    -22:30:04.18
-    -1:56:51.59
+   -01:56:51.59
    -24:00:00.00
    -28:50:38.12
    -36:31:35.23
@@ -5953,26 +5965,26 @@ AT_CHECK([cat time14.2.out], [0], [dnl
  -16345:56:51.6
 ])
 AT_CHECK([cat time14.3.out], [0], [dnl
-    0:00:00.000
-    4:50:38.123
+   00:00:00.000
+   04:50:38.123
    12:31:35.235
    12:47:53.345
-    1:26:00.456
+   01:26:00.456
    20:58:11.567
-    7:36:05.190
+   07:36:05.190
    15:43:49.831
-    4:25:09.013
-    6:49:27.524
-    2:57:52.016
+   04:25:09.013
+   06:49:27.524
+   02:57:52.016
    16:45:44.865
    21:30:57.820
-    4:25:09.154
-    6:49:27.105
-    2:57:52.482
+   04:25:09.154
+   06:49:27.105
+   02:57:52.482
    16:45:44.658
    21:30:57.582
    22:30:04.183
-    1:56:51.593
+   01:56:51.593
    24:00:00.000
    28:50:38.123
    36:31:35.235
@@ -6053,26 +6065,26 @@ AT_CHECK([cat time14.3.out], [0], [dnl
  16365:30:57.58
  16366:30:04.18
  16345:56:51.59
-    0:00:00.000
-   -4:50:38.123
+   00:00:00.000
+  -04:50:38.123
   -12:31:35.235
   -12:47:53.345
-   -1:26:00.456
+  -01:26:00.456
   -20:58:11.567
-   -7:36:05.190
+  -07:36:05.190
   -15:43:49.831
-   -4:25:09.013
-   -6:49:27.524
-   -2:57:52.016
+  -04:25:09.013
+  -06:49:27.524
+  -02:57:52.016
   -16:45:44.865
   -21:30:57.820
-   -4:25:09.154
-   -6:49:27.105
-   -2:57:52.482
+  -04:25:09.154
+  -06:49:27.105
+  -02:57:52.482
   -16:45:44.658
   -21:30:57.582
   -22:30:04.183
-   -1:56:51.593
+  -01:56:51.593
   -24:00:00.000
   -28:50:38.123
   -36:31:35.235
@@ -6155,26 +6167,26 @@ AT_CHECK([cat time14.3.out], [0], [dnl
  -16345:56:51.6
 ])
 AT_CHECK([cat time14.4.out], [0], [dnl
-   0:00:00.0000
-   4:50:38.1230
+  00:00:00.0000
+  04:50:38.1230
   12:31:35.2345
   12:47:53.3451
-   1:26:00.4561
+  01:26:00.4561
   20:58:11.5668
-   7:36:05.1896
+  07:36:05.1896
   15:43:49.8313
-   4:25:09.0129
-   6:49:27.5238
-   2:57:52.0156
+  04:25:09.0129
+  06:49:27.5238
+  02:57:52.0156
   16:45:44.8653
   21:30:57.8205
-   4:25:09.1539
-   6:49:27.1053
-   2:57:52.4823
+  04:25:09.1539
+  06:49:27.1053
+  02:57:52.4823
   16:45:44.6583
   21:30:57.5822
   22:30:04.1835
-   1:56:51.5932
+  01:56:51.5932
   24:00:00.0000
   28:50:38.1230
   36:31:35.2345
@@ -6255,26 +6267,26 @@ AT_CHECK([cat time14.4.out], [0], [dnl
  16365:30:57.58
  16366:30:04.18
  16345:56:51.59
-   0:00:00.0000
 -4:50:38.1230
+  00:00:00.0000
-04:50:38.1230
  -12:31:35.2345
  -12:47:53.3451
 -1:26:00.4561
-01:26:00.4561
  -20:58:11.5668
 -7:36:05.1896
-07:36:05.1896
  -15:43:49.8313
 -4:25:09.0129
 -6:49:27.5238
 -2:57:52.0156
-04:25:09.0129
-06:49:27.5238
-02:57:52.0156
  -16:45:44.8653
  -21:30:57.8205
 -4:25:09.1539
 -6:49:27.1053
 -2:57:52.4823
-04:25:09.1539
-06:49:27.1053
-02:57:52.4823
  -16:45:44.6583
  -21:30:57.5822
  -22:30:04.1835
 -1:56:51.5932
-01:56:51.5932
  -24:00:00.0000
  -28:50:38.1230
  -36:31:35.2345
@@ -6357,26 +6369,26 @@ AT_CHECK([cat time14.4.out], [0], [dnl
  -16345:56:51.6
 ])
 AT_CHECK([cat time14.5.out], [0], [dnl
 0:00:00.00000
 4:50:38.12301
00:00:00.00000
04:50:38.12301
  12:31:35.23453
  12:47:53.34505
 1:26:00.45615
01:26:00.45615
  20:58:11.56677
 7:36:05.18964
07:36:05.18964
  15:43:49.83132
 4:25:09.01293
 6:49:27.52375
 2:57:52.01565
04:25:09.01293
06:49:27.52375
02:57:52.01565
  16:45:44.86529
  21:30:57.82047
 4:25:09.15395
 6:49:27.10533
 2:57:52.48229
04:25:09.15395
06:49:27.10533
02:57:52.48229
  16:45:44.65827
  21:30:57.58219
  22:30:04.18347
 1:56:51.59319
01:56:51.59319
  24:00:00.00000
  28:50:38.12301
  36:31:35.23453
@@ -6457,26 +6469,26 @@ AT_CHECK([cat time14.5.out], [0], [dnl
  16365:30:57.58
  16366:30:04.18
  16345:56:51.59
 0:00:00.00000
- -4:50:38.12301
00:00:00.00000
+ -04:50:38.1230
  -12:31:35.2345
  -12:47:53.3451
- -1:26:00.45615
+ -01:26:00.4561
  -20:58:11.5668
- -7:36:05.18964
+ -07:36:05.1896
  -15:43:49.8313
- -4:25:09.01293
- -6:49:27.52375
- -2:57:52.01565
+ -04:25:09.0129
+ -06:49:27.5238
+ -02:57:52.0156
  -16:45:44.8653
  -21:30:57.8205
- -4:25:09.15395
- -6:49:27.10533
- -2:57:52.48229
+ -04:25:09.1539
+ -06:49:27.1053
+ -02:57:52.4823
  -16:45:44.6583
  -21:30:57.5822
  -22:30:04.1835
- -1:56:51.59319
+ -01:56:51.5932
  -24:00:00.0000
  -28:50:38.1230
  -36:31:35.2345
@@ -6559,26 +6571,26 @@ AT_CHECK([cat time14.5.out], [0], [dnl
  -16345:56:51.6
 ])
 AT_CHECK([cat time15.out], [0], [dnl
-         0:00:00
-         4:50:38
+        00:00:00
+        04:50:38
         12:31:35
         12:47:53
-         1:26:00
+        01:26:00
         20:58:11
-         7:36:05
+        07:36:05
         15:43:49
-         4:25:09
-         6:49:27
-         2:57:52
+        04:25:09
+        06:49:27
+        02:57:52
         16:45:44
         21:30:57
-         4:25:09
-         6:49:27
-         2:57:52
+        04:25:09
+        06:49:27
+        02:57:52
         16:45:44
         21:30:57
         22:30:04
-         1:56:51
+        01:56:51
         24:00:00
         28:50:38
         36:31:35
@@ -6659,26 +6671,26 @@ AT_CHECK([cat time15.out], [0], [dnl
      16365:30:57
      16366:30:04
      16345:56:51
-         0:00:00
-        -4:50:38
+        00:00:00
+       -04:50:38
        -12:31:35
        -12:47:53
-        -1:26:00
+       -01:26:00
        -20:58:11
-        -7:36:05
+       -07:36:05
        -15:43:49
-        -4:25:09
-        -6:49:27
-        -2:57:52
+       -04:25:09
+       -06:49:27
+       -02:57:52
        -16:45:44
        -21:30:57
-        -4:25:09
-        -6:49:27
-        -2:57:52
+       -04:25:09
+       -06:49:27
+       -02:57:52
        -16:45:44
        -21:30:57
        -22:30:04
-        -1:56:51
+       -01:56:51
        -24:00:00
        -28:50:38
        -36:31:35
@@ -6761,26 +6773,26 @@ AT_CHECK([cat time15.out], [0], [dnl
     -16345:56:51
 ])
 AT_CHECK([cat time15.1.out], [0], [dnl
-       0:00:00.0
-       4:50:38.1
+      00:00:00.0
+      04:50:38.1
       12:31:35.2
       12:47:53.3
-       1:26:00.5
+      01:26:00.5
       20:58:11.6
-       7:36:05.2
+      07:36:05.2
       15:43:49.8
-       4:25:09.0
-       6:49:27.5
-       2:57:52.0
+      04:25:09.0
+      06:49:27.5
+      02:57:52.0
       16:45:44.9
       21:30:57.8
-       4:25:09.2
-       6:49:27.1
-       2:57:52.5
+      04:25:09.2
+      06:49:27.1
+      02:57:52.5
       16:45:44.7
       21:30:57.6
       22:30:04.2
-       1:56:51.6
+      01:56:51.6
       24:00:00.0
       28:50:38.1
       36:31:35.2
@@ -6861,26 +6873,26 @@ AT_CHECK([cat time15.1.out], [0], [dnl
    16365:30:57.6
    16366:30:04.2
    16345:56:51.6
-       0:00:00.0
-      -4:50:38.1
+      00:00:00.0
+     -04:50:38.1
      -12:31:35.2
      -12:47:53.3
-      -1:26:00.5
+     -01:26:00.5
      -20:58:11.6
-      -7:36:05.2
+     -07:36:05.2
      -15:43:49.8
-      -4:25:09.0
-      -6:49:27.5
-      -2:57:52.0
+     -04:25:09.0
+     -06:49:27.5
+     -02:57:52.0
      -16:45:44.9
      -21:30:57.8
-      -4:25:09.2
-      -6:49:27.1
-      -2:57:52.5
+     -04:25:09.2
+     -06:49:27.1
+     -02:57:52.5
      -16:45:44.7
      -21:30:57.6
      -22:30:04.2
-      -1:56:51.6
+     -01:56:51.6
      -24:00:00.0
      -28:50:38.1
      -36:31:35.2
@@ -6963,26 +6975,26 @@ AT_CHECK([cat time15.1.out], [0], [dnl
   -16345:56:51.6
 ])
 AT_CHECK([cat time15.2.out], [0], [dnl
-      0:00:00.00
-      4:50:38.12
+     00:00:00.00
+     04:50:38.12
      12:31:35.23
      12:47:53.35
-      1:26:00.46
+     01:26:00.46
      20:58:11.57
-      7:36:05.19
+     07:36:05.19
      15:43:49.83
-      4:25:09.01
-      6:49:27.52
-      2:57:52.02
+     04:25:09.01
+     06:49:27.52
+     02:57:52.02
      16:45:44.87
      21:30:57.82
-      4:25:09.15
-      6:49:27.11
-      2:57:52.48
+     04:25:09.15
+     06:49:27.11
+     02:57:52.48
      16:45:44.66
      21:30:57.58
      22:30:04.18
-      1:56:51.59
+     01:56:51.59
      24:00:00.00
      28:50:38.12
      36:31:35.23
@@ -7063,26 +7075,26 @@ AT_CHECK([cat time15.2.out], [0], [dnl
   16365:30:57.58
   16366:30:04.18
   16345:56:51.59
-      0:00:00.00
-     -4:50:38.12
+     00:00:00.00
+    -04:50:38.12
     -12:31:35.23
     -12:47:53.35
-     -1:26:00.46
+    -01:26:00.46
     -20:58:11.57
-     -7:36:05.19
+    -07:36:05.19
     -15:43:49.83
-     -4:25:09.01
-     -6:49:27.52
-     -2:57:52.02
+    -04:25:09.01
+    -06:49:27.52
+    -02:57:52.02
     -16:45:44.87
     -21:30:57.82
-     -4:25:09.15
-     -6:49:27.11
-     -2:57:52.48
+    -04:25:09.15
+    -06:49:27.11
+    -02:57:52.48
     -16:45:44.66
     -21:30:57.58
     -22:30:04.18
-     -1:56:51.59
+    -01:56:51.59
     -24:00:00.00
     -28:50:38.12
     -36:31:35.23
@@ -7165,26 +7177,26 @@ AT_CHECK([cat time15.2.out], [0], [dnl
  -16345:56:51.59
 ])
 AT_CHECK([cat time15.3.out], [0], [dnl
-     0:00:00.000
-     4:50:38.123
+    00:00:00.000
+    04:50:38.123
     12:31:35.235
     12:47:53.345
-     1:26:00.456
+    01:26:00.456
     20:58:11.567
-     7:36:05.190
+    07:36:05.190
     15:43:49.831
-     4:25:09.013
-     6:49:27.524
-     2:57:52.016
+    04:25:09.013
+    06:49:27.524
+    02:57:52.016
     16:45:44.865
     21:30:57.820
-     4:25:09.154
-     6:49:27.105
-     2:57:52.482
+    04:25:09.154
+    06:49:27.105
+    02:57:52.482
     16:45:44.658
     21:30:57.582
     22:30:04.183
-     1:56:51.593
+    01:56:51.593
     24:00:00.000
     28:50:38.123
     36:31:35.235
@@ -7265,26 +7277,26 @@ AT_CHECK([cat time15.3.out], [0], [dnl
  16365:30:57.582
  16366:30:04.183
  16345:56:51.593
-     0:00:00.000
-    -4:50:38.123
+    00:00:00.000
+   -04:50:38.123
    -12:31:35.235
    -12:47:53.345
-    -1:26:00.456
+   -01:26:00.456
    -20:58:11.567
-    -7:36:05.190
+   -07:36:05.190
    -15:43:49.831
-    -4:25:09.013
-    -6:49:27.524
-    -2:57:52.016
+   -04:25:09.013
+   -06:49:27.524
+   -02:57:52.016
    -16:45:44.865
    -21:30:57.820
-    -4:25:09.154
-    -6:49:27.105
-    -2:57:52.482
+   -04:25:09.154
+   -06:49:27.105
+   -02:57:52.482
    -16:45:44.658
    -21:30:57.582
    -22:30:04.183
-    -1:56:51.593
+   -01:56:51.593
    -24:00:00.000
    -28:50:38.123
    -36:31:35.235
@@ -7367,26 +7379,26 @@ AT_CHECK([cat time15.3.out], [0], [dnl
  -16345:56:51.59
 ])
 AT_CHECK([cat time15.4.out], [0], [dnl
-    0:00:00.0000
-    4:50:38.1230
+   00:00:00.0000
+   04:50:38.1230
    12:31:35.2345
    12:47:53.3451
-    1:26:00.4561
+   01:26:00.4561
    20:58:11.5668
-    7:36:05.1896
+   07:36:05.1896
    15:43:49.8313
-    4:25:09.0129
-    6:49:27.5238
-    2:57:52.0156
+   04:25:09.0129
+   06:49:27.5238
+   02:57:52.0156
    16:45:44.8653
    21:30:57.8205
-    4:25:09.1539
-    6:49:27.1053
-    2:57:52.4823
+   04:25:09.1539
+   06:49:27.1053
+   02:57:52.4823
    16:45:44.6583
    21:30:57.5822
    22:30:04.1835
-    1:56:51.5932
+   01:56:51.5932
    24:00:00.0000
    28:50:38.1230
    36:31:35.2345
@@ -7467,26 +7479,26 @@ AT_CHECK([cat time15.4.out], [0], [dnl
  16365:30:57.582
  16366:30:04.183
  16345:56:51.593
-    0:00:00.0000
-   -4:50:38.1230
+   00:00:00.0000
+  -04:50:38.1230
   -12:31:35.2345
   -12:47:53.3451
-   -1:26:00.4561
+  -01:26:00.4561
   -20:58:11.5668
-   -7:36:05.1896
+  -07:36:05.1896
   -15:43:49.8313
-   -4:25:09.0129
-   -6:49:27.5238
-   -2:57:52.0156
+  -04:25:09.0129
+  -06:49:27.5238
+  -02:57:52.0156
   -16:45:44.8653
   -21:30:57.8205
-   -4:25:09.1539
-   -6:49:27.1053
-   -2:57:52.4823
+  -04:25:09.1539
+  -06:49:27.1053
+  -02:57:52.4823
   -16:45:44.6583
   -21:30:57.5822
   -22:30:04.1835
-   -1:56:51.5932
+  -01:56:51.5932
   -24:00:00.0000
   -28:50:38.1230
   -36:31:35.2345
@@ -7569,26 +7581,26 @@ AT_CHECK([cat time15.4.out], [0], [dnl
  -16345:56:51.59
 ])
 AT_CHECK([cat time15.5.out], [0], [dnl
-   0:00:00.00000
-   4:50:38.12301
+  00:00:00.00000
+  04:50:38.12301
   12:31:35.23453
   12:47:53.34505
-   1:26:00.45615
+  01:26:00.45615
   20:58:11.56677
-   7:36:05.18964
+  07:36:05.18964
   15:43:49.83132
-   4:25:09.01293
-   6:49:27.52375
-   2:57:52.01565
+  04:25:09.01293
+  06:49:27.52375
+  02:57:52.01565
   16:45:44.86529
   21:30:57.82047
-   4:25:09.15395
-   6:49:27.10533
-   2:57:52.48229
+  04:25:09.15395
+  06:49:27.10533
+  02:57:52.48229
   16:45:44.65827
   21:30:57.58219
   22:30:04.18347
-   1:56:51.59319
+  01:56:51.59319
   24:00:00.00000
   28:50:38.12301
   36:31:35.23453
@@ -7669,26 +7681,26 @@ AT_CHECK([cat time15.5.out], [0], [dnl
  16365:30:57.582
  16366:30:04.183
  16345:56:51.593
-   0:00:00.00000
 -4:50:38.12301
+  00:00:00.00000
-04:50:38.12301
  -12:31:35.23453
  -12:47:53.34505
 -1:26:00.45615
-01:26:00.45615
  -20:58:11.56677
 -7:36:05.18964
-07:36:05.18964
  -15:43:49.83132
 -4:25:09.01293
 -6:49:27.52375
 -2:57:52.01565
-04:25:09.01293
-06:49:27.52375
-02:57:52.01565
  -16:45:44.86529
  -21:30:57.82047
 -4:25:09.15395
 -6:49:27.10533
 -2:57:52.48229
-04:25:09.15395
-06:49:27.10533
-02:57:52.48229
  -16:45:44.65827
  -21:30:57.58219
  -22:30:04.18347
 -1:56:51.59319
-01:56:51.59319
  -24:00:00.00000
  -28:50:38.12301
  -36:31:35.23453
@@ -7771,26 +7783,26 @@ AT_CHECK([cat time15.5.out], [0], [dnl
  -16345:56:51.59
 ])
 AT_CHECK([cat time15.6.out], [0], [dnl
 0:00:00.000000
 4:50:38.123010
00:00:00.000000
04:50:38.123010
  12:31:35.234530
  12:47:53.345050
 1:26:00.456150
01:26:00.456150
  20:58:11.566770
 7:36:05.189640
07:36:05.189640
  15:43:49.831320
 4:25:09.012930
 6:49:27.523750
 2:57:52.015650
04:25:09.012930
06:49:27.523750
02:57:52.015650
  16:45:44.865290
  21:30:57.820470
 4:25:09.153950
 6:49:27.105330
 2:57:52.482290
04:25:09.153950
06:49:27.105330
02:57:52.482290
  16:45:44.658270
  21:30:57.582190
  22:30:04.183470
 1:56:51.593190
01:56:51.593190
  24:00:00.000000
  28:50:38.123010
  36:31:35.234530
@@ -7871,26 +7883,26 @@ AT_CHECK([cat time15.6.out], [0], [dnl
  16365:30:57.582
  16366:30:04.183
  16345:56:51.593
 0:00:00.000000
- -4:50:38.123010
00:00:00.000000
+ -04:50:38.12301
  -12:31:35.23453
  -12:47:53.34505
- -1:26:00.456150
+ -01:26:00.45615
  -20:58:11.56677
- -7:36:05.189640
+ -07:36:05.18964
  -15:43:49.83132
- -4:25:09.012930
- -6:49:27.523750
- -2:57:52.015650
+ -04:25:09.01293
+ -06:49:27.52375
+ -02:57:52.01565
  -16:45:44.86529
  -21:30:57.82047
- -4:25:09.153950
- -6:49:27.105330
- -2:57:52.482290
+ -04:25:09.15395
+ -06:49:27.10533
+ -02:57:52.48229
  -16:45:44.65827
  -21:30:57.58219
  -22:30:04.18347
- -1:56:51.593190
+ -01:56:51.59319
  -24:00:00.00000
  -28:50:38.12301
  -36:31:35.23453