On Thu, 23 May 2024 10:28:52 +0200 Jeroen Ploemen <j...@debian.org> wrote:
Package: gpscorrelate
Severity: normal
Control: found -1 2.1-1

hi Shriram,

it seems the recent upload of gpscorrelate has issues preventing
migration to testing [1]: the autopkgtest fails for all architectures
except amd64 and i386.


I tried to collect some more informations about this issue.
I could reproduce it inside a Unstable qemu arm64 VM
(running on amd64 hardware).


First it looks like the package build never uses valgrind (-m) [1],
therefore this issue appears just in the autopkgtest, as this always
uses the (-m) [2]. Cannot say if this intentional.

There was a patch pushed to git [3] which explicitly lists valgrind archs.
I stepped over a package valgrind-if-available [4].
Maybe depending on this might be of some help here?


And the issue itself manifests at arm64 in following instruction
with the same input producing a result in register $w5 of
- without valgrind 323,
- with valgrind  322

    <ConvertToRational+104>:   fcvtas  w5, d8

Unfortunately I don't know why this happens, maybe some
floating point initialisation is done in valgrind?

See attached file for complete gdb sessions without and with valgrind.
At the bottom is also a minimal reproducer which showed the difference
with and without valgrind to me.


Kind regards,
Bernhard


[1]
./Makefile:13:CHECK_OPTIONS=
./Makefile-60-check: gpscorrelate$(EXEEXT)
./Makefile:61:  (cd tests && ./testsuite $(CHECK_OPTIONS))

[2]
./debian/tests/upstream-suite:14:./testsuite -m

[3]
https://salsa.debian.org/debian/gpscorrelate/-/commit/818f924c401fcaac4873ff3acb99b614065afc10

[4]
https://packages.debian.org/sid/valgrind-if-available
# Trixie/unstable arm64 qemu VM 2024-06-23

apt build-dep gpscorrelate
apt install mc valgrind gpscorrelate gpscorrelate-dbgsym



mkdir /home/benutzer/source/gpscorrelate/orig -p
cd    /home/benutzer/source/gpscorrelate/orig
apt source gpscorrelate

mkdir /home/benutzer/source/glibc/orig -p
cd    /home/benutzer/source/glibc/orig
apt source glibc

mkdir /home/benutzer/source/valgrind/orig -p
cd    /home/benutzer/source/valgrind/orig
apt source valgrind

mkdir /home/benutzer/source/exiv2/orig -p
cd    /home/benutzer/source/exiv2/orig
apt source exiv2

mkdir /home/benutzer/source/libxml2/orig -p
cd    /home/benutzer/source/libxml2/orig
apt source libxml2




# tests/data/test167.param

cd /home/benutzer/source/gpscorrelate/try1/gpscorrelate-2.1
cat tests/staging/point1-2.jpg > /tmp/test.jpg
/usr/bin/gpscorrelate --heading --max-heading 90 -O -45 -z 0 -g 
tests/staging/track13.gpx /tmp/test.jpg > /tmp/outfile
exiv2 -pv pr /tmp/test.jpg >> /tmp/outfile

cd /home/benutzer/source/gpscorrelate/try1/gpscorrelate-2.1
cat tests/staging/point1-2.jpg > /tmp/test-valgrind.jpg
valgrind --error-exitcode=126 --tool=memcheck --leak-check=yes --num-callers=30 
--log-file=/tmp/test167-valgrind.log /usr/bin/gpscorrelate --heading 
--max-heading 90 -O -45 -z 0 -g tests/staging/track13.gpx 
/tmp/test-valgrind.jpg > /tmp/outfile-valgrind
exiv2 -pv pr /tmp/test-valgrind.jpg >> /tmp/outfile-valgrind

$ diff -Nurp /tmp/outfile /tmp/outfile-valgrind
--- /tmp/outfile        2024-06-23 13:25:35.872000000 +0000
+++ /tmp/outfile-valgrind       2024-06-23 13:26:13.640000000 +0000
@@ -32,6 +32,6 @@ Failed:      0 (0 Not matched, 0 Write f
 0x0006 GPSInfo      GPSAltitude                 Rational    1  4234/10
 0x0007 GPSInfo      GPSTimeStamp                Rational    3  12/1 34/1 35/1
 0x000e GPSInfo      GPSTrackRef                 Ascii       2  T
-0x000f GPSInfo      GPSTrack                    Rational    1  323/1
+0x000f GPSInfo      GPSTrack                    Rational    1  322/1
 0x0012 GPSInfo      GPSMapDatum                 Ascii       7  WGS-84
 0x001d GPSInfo      GPSDateStamp                Ascii      11  2012:11:22
$ 













































# Just debugging with GDB


cd /home/benutzer/source/gpscorrelate/orig/gpscorrelate-2.1
cat tests/staging/point1-2.jpg > /tmp/test.jpg
gdb -q --args /usr/bin/gpscorrelate --heading --max-heading 90 -O -45 -z 0 -g 
tests/staging/track13.gpx /tmp/test.jpg
set width 0
set pagination off
b WriteGPSData
run
b 625
cont
b *(ConvertToRational+104)
display/i $pc
cont
print $d8
stepi
print $w5
bt
up
print Point->MoveHeading


benutzer@debian:~/source/gpscorrelate/try1/gpscorrelate-2.1$ cd 
/home/benutzer/source/gpscorrelate/orig/gpscorrelate-2.1
benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ cat 
tests/staging/point1-2.jpg > /tmp/test.jpg
benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ gdb -q --args 
/usr/bin/gpscorrelate --heading --max-heading 90 -O -45 -z 0 -g 
tests/staging/track13.gpx /tmp/test.jpg
Reading symbols from /usr/bin/gpscorrelate...
Reading symbols from 
/usr/lib/debug/.build-id/05/6a4b627d6a584d22788080e79d2e7defc8c4fd.debug...
(gdb) set width 0
(gdb) set pagination off
(gdb) b WriteGPSData
Breakpoint 1 at 0x6324: file ./exif-gps.cpp, line 467.
(gdb) run
Starting program: /usr/bin/gpscorrelate --heading --max-heading 90 -O -45 -z 0 
-g tests/staging/track13.gpx /tmp/test.jpg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Reading GPS Data...
Legend: . = Ok, / = Interpolated, < = Rounded, - = No match, ^ = Too far
        w = Write Fail, ? = No EXIF date, ! = GPS already present


Breakpoint 1, WriteGPSData (File=File@entry=0xfffffffff702 "/tmp/test.jpg", 
Point=Point@entry=0xaaaaaaae2830, Datum=0xaaaaaaae0480 "WGS-84", 
NoChangeMtime=0, DegMinSecs=1) at ./exif-gps.cpp:467
467     {
(gdb) b 625
Breakpoint 2 at 0xaaaaaaaa6ea8: file ./exif-gps.cpp, line 625.
(gdb) cont
Continuing.

Breakpoint 2, WriteGPSData (File=File@entry=0xfffffffff702 "/tmp/test.jpg", 
Point=Point@entry=0xaaaaaaae2830, Datum=<optimized out>, NoChangeMtime=0, 
DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
625                     ConvertToRational(Point->MoveHeading, 0, ScratchBuf, 
sizeof(ScratchBuf));
(gdb) b *(ConvertToRational+104)
Breakpoint 3 at 0xaaaaaaaa4948: file 
/usr/include/aarch64-linux-gnu/bits/stdio2.h, line 54.
(gdb) display/i $pc
1: x/i $pc
=> 0xaaaaaaaa6ea8 <WriteGPSData(char const*, GPSPoint const*, char const*, int, 
int)+2948>:     ldr     d0, [x23, #48]
(gdb) cont
Continuing.

Breakpoint 3, 0x0000aaaaaaaa4948 in snprintf (__fmt=<optimized out>, 
__n=<optimized out>, __s=<optimized out>) at 
/usr/include/aarch64-linux-gnu/bits/stdio2.h:54
warning: Source file is more recent than executable.
54        return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
1: x/i $pc
=> 0xaaaaaaaa4948 <ConvertToRational(double, int, char*, int)+104>:     fcvtas  
w5, d8
(gdb) print $d8
$1 = {f = 322.5, u = 4644381096190935040, s = 4644381096190935040}
(gdb) stepi
0x0000aaaaaaaa494c in ConvertToRational (Number=<optimized out>, 
Decimals=Decimals@entry=0, Buf=Buf@entry=0xffffffffef10 "35/1 23/1 598/10", 
BufSize=100) at ./exif-gps.cpp:419
419     }
1: x/i $pc
=> 0xaaaaaaaa494c <ConvertToRational(double, int, char*, int)+108>:     ldr     
d8, [sp, #32]
(gdb) print $w5
$2 = 323
(gdb) bt
#0  0x0000aaaaaaaa494c in ConvertToRational (Number=<optimized out>, 
Decimals=Decimals@entry=0, Buf=Buf@entry=0xffffffffef10 "35/1 23/1 598/10", 
BufSize=100) at ./exif-gps.cpp:419
#1  0x0000aaaaaaaa6eb8 in WriteGPSData (File=File@entry=0xfffffffff702 
"/tmp/test.jpg", Point=Point@entry=0xaaaaaaae2830, Datum=<optimized out>, 
NoChangeMtime=0, DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
#2  0x0000aaaaaaaa4514 in CorrelatePhoto 
(Filename=Filename@entry=0xfffffffff702 "/tmp/test.jpg", 
Options=Options@entry=0xfffffffff0d0) at ./correlate.c:295
#3  0x0000aaaaaaaa2b84 in main (argc=11, argv=0xfffffffff418) at 
./main-command.c:762
(gdb) up
#1  0x0000aaaaaaaa6eb8 in WriteGPSData (File=File@entry=0xfffffffff702 
"/tmp/test.jpg", Point=Point@entry=0xaaaaaaae2830, Datum=<optimized out>, 
NoChangeMtime=0, DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
625                     ConvertToRational(Point->MoveHeading, 0, ScratchBuf, 
sizeof(ScratchBuf));
(gdb) print Point->MoveHeading
$3 = 322.5
(gdb) info reg all
x0             0xffffffffef10      281474976706320
x1             0xfff0000000000000  -4503599627370496
x2             0x0                 0
x3             0x0                 0
x4             0xaaaaaaaa9000      187649984466944
x5             0x143               323
x6             0x1                 1
x7             0x2e46511f833f40f   208402610618889231
x8             0x4024000000000000  4621819117588971520
x9             0x50                80
x10            0x0                 0
x11            0x0                 0
x12            0xfffff7ff7c30      281474842459184
x13            0x1a                26
x14            0x1                 1
x15            0xc                 12
x16            0xaaaaaaabff68      187649984561000
x17            0xfffff7d92b50      281474839948112
x18            0xd                 13
x19            0xffffffffeea0      281474976706208
x20            0xffffffffede0      281474976706016
x21            0xffffffffee90      281474976706192
x22            0xaaaaaaae0f80      187649984696192
x23            0xaaaaaaae2830      187649984702512
x24            0xffffffffef10      281474976706320
x25            0xaaaaaaae0f70      187649984696176
x26            0xaaaaaaae0920      187649984694560
x27            0xffffffffedf0      281474976706032
x28            0xffffffffee00      281474976706048
x29            0xffffffffef80      281474976706432
x30            0xaaaaaaaa6eb8      187649984458424
sp             0xffffffffed90      0xffffffffed90
pc             0xaaaaaaaa6eb8      0xaaaaaaaa6eb8 <WriteGPSData(char const*, 
GPSPoint const*, char const*, int, int)+2964>
cpsr           0x20200000          [ EL=0 BTYPE=0 SS C ]
v0             {d = {f = {0x3ff0000000000000, 0x0}, u = {0x3ff0000000000000, 
0x0}, s = {0x3ff0000000000000, 0x0}}, s = {f = {0x0, 0x3ff00000, 0x0, 0x0}, u = 
{0x0, 0x3ff00000, 0x0, 0x0}, s = {0x0, 0x3ff00000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x3ff0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 
0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3ff0000000000000}, s = {0x3ff0000000000000}}}
v1             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v2             {d = {f = {0x4024000000000000, 0x0}, u = {0x4024000000000000, 
0x0}, s = {0x4024000000000000, 0x0}}, s = {f = {0x0, 0x40240000, 0x0, 0x0}, u = 
{0x0, 0x40240000, 0x0, 0x0}, s = {0x0, 0x40240000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x4024, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x4024, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x4024, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x4024, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x24, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x4024000000000000}, s = {0x4024000000000000}}}
v3             {d = {f = {0x3fdbcb7b1526e50e, 0x0}, u = {0x3fdbcb7b1526e50e, 
0x0}, s = {0x3fdbcb7b1526e50e, 0x0}}, s = {f = {0x1526e50e, 0x3fdbcb7b, 0x0, 
0x0}, u = {0x1526e50e, 0x3fdbcb7b, 0x0, 0x0}, s = {0x1526e50e, 0x3fdbcb7b, 0x0, 
0x0}}, h = {bf = {0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, f = 
{0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, u = {0xe50e, 0x1526, 
0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, s = {0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0xe, 0xe5, 0x26, 0x15, 0x7b, 0xcb, 0xdb, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xe, 0xe5, 0x26, 0x15, 0x7b, 0xcb, 
0xdb, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fdbcb7b1526e50e}, s = {0x3fdbcb7b1526e50e}}}
v4             {d = {f = {0x3ec4197bcffabeb8, 0x0}, u = {0x3ec4197bcffabeb8, 
0x0}, s = {0x3ec4197bcffabeb8, 0x0}}, s = {f = {0xcffabeb8, 0x3ec4197b, 0x0, 
0x0}, u = {0xcffabeb8, 0x3ec4197b, 0x0, 0x0}, s = {0xcffabeb8, 0x3ec4197b, 0x0, 
0x0}}, h = {bf = {0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, f = 
{0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, u = {0xbeb8, 0xcffa, 
0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, s = {0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0xb8, 0xbe, 0xfa, 0xcf, 0x7b, 0x19, 0xc4, 0x3e, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xb8, 0xbe, 0xfa, 0xcf, 0x7b, 0x19, 
0xc4, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3ec4197bcffabeb8}, s = {0x3ec4197bcffabeb8}}}
v5             {d = {f = {0x3fc9913ef2541966, 0x0}, u = {0x3fc9913ef2541966, 
0x0}, s = {0x3fc9913ef2541966, 0x0}}, s = {f = {0xf2541966, 0x3fc9913e, 0x0, 
0x0}, u = {0xf2541966, 0x3fc9913e, 0x0, 0x0}, s = {0xf2541966, 0x3fc9913e, 0x0, 
0x0}}, h = {bf = {0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, f = 
{0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, u = {0x1966, 0xf254, 
0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, s = {0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x66, 0x19, 0x54, 0xf2, 0x3e, 0x91, 0xc9, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x66, 0x19, 0x54, 0xf2, 0x3e, 0x91, 
0xc9, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fc9913ef2541966}, s = {0x3fc9913ef2541966}}}
v6             {d = {f = {0x3fcdf47616893569, 0x0}, u = {0x3fcdf47616893569, 
0x0}, s = {0x3fcdf47616893569, 0x0}}, s = {f = {0x16893569, 0x3fcdf476, 0x0, 
0x0}, u = {0x16893569, 0x3fcdf476, 0x0, 0x0}, s = {0x16893569, 0x3fcdf476, 0x0, 
0x0}}, h = {bf = {0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, f = 
{0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, u = {0x3569, 0x1689, 
0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, s = {0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x69, 0x35, 0x89, 0x16, 0x76, 0xf4, 0xcd, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x69, 0x35, 0x89, 0x16, 0x76, 0xf4, 
0xcd, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fcdf47616893569}, s = {0x3fcdf47616893569}}}
v7             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v8             {d = {f = {0x0, 0xffffffffede0}, u = {0x0, 0xffffffffede0}, s = 
{0x0, 0xffffffffede0}}, s = {f = {0x0, 0x0, 0xffffede0, 0xffff}, u = {0x0, 0x0, 
0xffffede0, 0xffff}, s = {0x0, 0x0, 0xffffede0, 0xffff}}, h = {bf = {0x0, 0x0, 
0x0, 0x0, 0xede0, 0xffff, 0xffff, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0xede0, 
0xffff, 0xffff, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0xede0, 0xffff, 0xffff, 0x0}, s 
= {0x0, 0x0, 0x0, 0x0, 0xede0, 0xffff, 0xffff, 0x0}}, b = {u = {0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xed, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0}, s = 
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xed, 0xff, 0xff, 0xff, 0xff, 
0x0, 0x0}}, q = {u = {0xffffffffede00000000000000000}, s = 
{0xffffffffede00000000000000000}}}
v9             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v10            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v11            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v12            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v13            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v14            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v15            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v16            {d = {f = {0x3e2fdbf21a9c6760, 0x0}, u = {0x3e2fdbf21a9c6760, 
0x0}, s = {0x3e2fdbf21a9c6760, 0x0}}, s = {f = {0x1a9c6760, 0x3e2fdbf2, 0x0, 
0x0}, u = {0x1a9c6760, 0x3e2fdbf2, 0x0, 0x0}, s = {0x1a9c6760, 0x3e2fdbf2, 0x0, 
0x0}}, h = {bf = {0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, f = 
{0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, u = {0x6760, 0x1a9c, 
0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, s = {0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x60, 0x67, 0x9c, 0x1a, 0xf2, 0xdb, 0x2f, 0x3e, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x60, 0x67, 0x9c, 0x1a, 0xf2, 0xdb, 
0x2f, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3e2fdbf21a9c6760}, s = {0x3e2fdbf21a9c6760}}}
v17            {d = {f = {0xbfe0000000000001, 0x0}, u = {0xbfe0000000000001, 
0x0}, s = {0xbfe0000000000001, 0x0}}, s = {f = {0x1, 0xbfe00000, 0x0, 0x0}, u = 
{0x1, 0xbfe00000, 0x0, 0x0}, s = {0x1, 0xbfe00000, 0x0, 0x0}}, h = {bf = {0x1, 
0x0, 0x0, 0xbfe0, 0x0, 0x0, 0x0, 0x0}, f = {0x1, 0x0, 0x0, 0xbfe0, 0x0, 0x0, 
0x0, 0x0}, u = {0x1, 0x0, 0x0, 0xbfe0, 0x0, 0x0, 0x0, 0x0}, s = {0x1, 0x0, 0x0, 
0xbfe0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 
0xbf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x1, 0x0, 0x0, 0x0, 0x0, 
0x0, 0xe0, 0xbf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0xbfe0000000000001}, s = {0xbfe0000000000001}}}
v18            {d = {f = {0x3d2ef35793c76730, 0x0}, u = {0x3d2ef35793c76730, 
0x0}, s = {0x3d2ef35793c76730, 0x0}}, s = {f = {0x93c76730, 0x3d2ef357, 0x0, 
0x0}, u = {0x93c76730, 0x3d2ef357, 0x0, 0x0}, s = {0x93c76730, 0x3d2ef357, 0x0, 
0x0}}, h = {bf = {0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, f = 
{0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, u = {0x6730, 0x93c7, 
0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, s = {0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 0x2e, 0x3d, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 
0x2e, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3d2ef35793c76730}, s = {0x3d2ef35793c76730}}}
v19            {d = {f = {0x3ff0002b8b263fc3, 0x0}, u = {0x3ff0002b8b263fc3, 
0x0}, s = {0x3ff0002b8b263fc3, 0x0}}, s = {f = {0x8b263fc3, 0x3ff0002b, 0x0, 
0x0}, u = {0x8b263fc3, 0x3ff0002b, 0x0, 0x0}, s = {0x8b263fc3, 0x3ff0002b, 0x0, 
0x0}}, h = {bf = {0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, f = 
{0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, u = {0x3fc3, 0x8b26, 0x2b, 
0x3ff0, 0x0, 0x0, 0x0, 0x0}, s = {0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 
0x0}}, b = {u = {0xc3, 0x3f, 0x26, 0x8b, 0x2b, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xc3, 0x3f, 0x26, 0x8b, 0x2b, 0x0, 0xf0, 0x3f, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x3ff0002b8b263fc3}, s = 
{0x3ff0002b8b263fc3}}}
v20            {d = {f = {0x0, 0x1}, u = {0x0, 0x1}, s = {0x0, 0x1}}, s = {f = 
{0x0, 0x0, 0x1, 0x0}, u = {0x0, 0x0, 0x1, 0x0}, s = {0x0, 0x0, 0x1, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x1, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x10000000000000000}, s = {0x10000000000000000}}}
v21            {d = {f = {0x0, 0x3e8}, u = {0x0, 0x3e8}, s = {0x0, 0x3e8}}, s = 
{f = {0x0, 0x0, 0x3e8, 0x0}, u = {0x0, 0x0, 0x3e8, 0x0}, s = {0x0, 0x0, 0x3e8, 
0x0}}, h = {bf = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 
0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 
0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q 
= {u = {0x3e80000000000000000}, s = {0x3e80000000000000000}}}
v22            {d = {f = {0x4000000000000000, 0x0}, u = {0x4000000000000000, 
0x0}, s = {0x4000000000000000, 0x0}}, s = {f = {0x0, 0x40000000, 0x0, 0x0}, u = 
{0x0, 0x40000000, 0x0, 0x0}, s = {0x0, 0x40000000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x4000, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x4000000000000000}, s = {0x4000000000000000}}}
v23            {d = {f = {0x100, 0x2000}, u = {0x100, 0x2000}, s = {0x100, 
0x2000}}, s = {f = {0x100, 0x0, 0x2000, 0x0}, u = {0x100, 0x0, 0x2000, 0x0}, s 
= {0x100, 0x0, 0x2000, 0x0}}, h = {bf = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 
0x0, 0x0}, f = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 0x0}, u = {0x100, 0x0, 
0x0, 0x0, 0x2000, 0x0, 0x0, 0x0}, s = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 
0x0}}, b = {u = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x20000000000000000100}, s = 
{0x20000000000000000100}}}
v24            {d = {f = {0x100, 0x3e8}, u = {0x100, 0x3e8}, s = {0x100, 
0x3e8}}, s = {f = {0x100, 0x0, 0x3e8, 0x0}, u = {0x100, 0x0, 0x3e8, 0x0}, s = 
{0x100, 0x0, 0x3e8, 0x0}}, h = {bf = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 
0x0}, f = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x100, 0x0, 0x0, 
0x0, 0x3e8, 0x0, 0x0, 0x0}, s = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, 
b = {u = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, s = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x3e80000000000000100}, s = 
{0x3e80000000000000100}}}
v25            {d = {f = {0x640000000a, 0x0}, u = {0x640000000a, 0x0}, s = 
{0x640000000a, 0x0}}, s = {f = {0xa, 0x64, 0x0, 0x0}, u = {0xa, 0x64, 0x0, 
0x0}, s = {0xa, 0x64, 0x0, 0x0}}, h = {bf = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 
0x0, 0x0}, f = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0}, u = {0xa, 0x0, 0x64, 
0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = 
{u = {0xa, 0x0, 0x0, 0x0, 0x64, 0x0 <repeats 11 times>}, s = {0xa, 0x0, 0x0, 
0x0, 0x64, 0x0 <repeats 11 times>}}, q = {u = {0x640000000a}, s = 
{0x640000000a}}}
v26            {d = {f = {0x2710, 0x64}, u = {0x2710, 0x64}, s = {0x2710, 
0x64}}, s = {f = {0x2710, 0x0, 0x64, 0x0}, u = {0x2710, 0x0, 0x64, 0x0}, s = 
{0x2710, 0x0, 0x64, 0x0}}, h = {bf = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 
0x0}, f = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}, u = {0x2710, 0x0, 0x0, 
0x0, 0x64, 0x0, 0x0, 0x0}, s = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, b 
= {u = {0x10, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, s = {0x10, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x640000000000002710}, s = 
{0x640000000000002710}}}
v27            {d = {f = {0x64, 0x3e8}, u = {0x64, 0x3e8}, s = {0x64, 0x3e8}}, 
s = {f = {0x64, 0x0, 0x3e8, 0x0}, u = {0x64, 0x0, 0x3e8, 0x0}, s = {0x64, 0x0, 
0x3e8, 0x0}}, h = {bf = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, f = {0x64, 
0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 
0x0, 0x0}, s = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, b = {u = {0x64, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s 
= {0x64, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0}}, q = {u = {0x3e80000000000000064}, s = {0x3e80000000000000064}}}
v28            {d = {f = {0x4000, 0x40000}, u = {0x4000, 0x40000}, s = {0x4000, 
0x40000}}, s = {f = {0x4000, 0x0, 0x40000, 0x0}, u = {0x4000, 0x0, 0x40000, 
0x0}, s = {0x4000, 0x0, 0x40000, 0x0}}, h = {bf = {0x4000, 0x0, 0x0, 0x0, 0x0, 
0x4, 0x0, 0x0}, f = {0x4000, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0}, u = {0x4000, 
0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0}, s = {0x4000, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 
0x0}}, b = {u = {0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 
0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x4, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x400000000000000004000}, s = 
{0x400000000000000004000}}}
v29            {d = {f = {0x4000000080, 0x0}, u = {0x4000000080, 0x0}, s = 
{0x4000000080, 0x0}}, s = {f = {0x80, 0x40, 0x0, 0x0}, u = {0x80, 0x40, 0x0, 
0x0}, s = {0x80, 0x40, 0x0, 0x0}}, h = {bf = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 
0x0, 0x0}, f = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0}, u = {0x80, 0x0, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 
0x0}}, b = {u = {0x80, 0x0, 0x0, 0x0, 0x40, 0x0 <repeats 11 times>}, s = {0x80, 
0x0, 0x0, 0x0, 0x40, 0x0 <repeats 11 times>}}, q = {u = {0x4000000080}, s = 
{0x4000000080}}}
v30            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v31            {d = {f = {0x6, 0x0}, u = {0x6, 0x0}, s = {0x6, 0x0}}, s = {f = 
{0x6, 0x0, 0x0, 0x0}, u = {0x6, 0x0, 0x0, 0x0}, s = {0x6, 0x0, 0x0, 0x0}}, h = 
{bf = {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x6, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x6, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x6, 0x0 <repeats 15 times>}, s = 
{0x6, 0x0 <repeats 15 times>}}, q = {u = {0x6}, s = {0x6}}}
fpsr           0x10                [ IXC ]
fpcr           0x0                 [ Len=0 Stride=0 RMode=0 ]
tpidr          0xfffff7fead80      0xfffff7fead80
tpidr2         0x0                 0x0
q0             {u = 0x3ff0000000000000, s = 0x3ff0000000000000} {u = 
4607182418800017408, s = 4607182418800017408}
q1             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q2             {u = 0x4024000000000000, s = 0x4024000000000000} {u = 
4621819117588971520, s = 4621819117588971520}
q3             {u = 0x3fdbcb7b1526e50e, s = 0x3fdbcb7b1526e50e} {u = 
4601495173785380110, s = 4601495173785380110}
q4             {u = 0x3ec4197bcffabeb8, s = 0x3ec4197bcffabeb8} {u = 
4522767945347808952, s = 4522767945347808952}
q5             {u = 0x3fc9913ef2541966, s = 0x3fc9913ef2541966} {u = 
4596364594247899494, s = 4596364594247899494}
q6             {u = 0x3fcdf47616893569, s = 0x3fcdf47616893569} {u = 
4597599582636553577, s = 4597599582636553577}
q7             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q8             {u = 0x4074280000000000, s = 0x4074280000000000} {u = 
4644381096190935040, s = 4644381096190935040}
q9             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q10            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q11            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q12            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q13            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q14            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q15            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q16            {u = 0x3e2fdbf21a9c6760, s = 0x3e2fdbf21a9c6760} {u = 
4481041987131959136, s = 4481041987131959136}
q17            {u = 0xbfe0000000000001, s = 0xbfe0000000000001} {u = 
13826050856027422721, s = 13826050856027422721}
q18            {u = 0x3d2ef35793c76730, s = 0x3d2ef35793c76730} {u = 
4408728642709317424, s = 4408728642709317424}
q19            {u = 0x3ff0002b8b263fc3, s = 0x3ff0002b8b263fc3} {u = 
4607182605818150851, s = 4607182605818150851}
q20            {u = 0x10000000000000000, s = 0x10000000000000000} {u = 
18446744073709551616, s = 18446744073709551616}
q21            {u = 0x3e80000000000000000, s = 0x3e80000000000000000} {u = 
18446744073709551616000, s = 18446744073709551616000}
q22            {u = 0x4000000000000000, s = 0x4000000000000000} {u = 
4611686018427387904, s = 4611686018427387904}
q23            {u = 0x20000000000000000100, s = 0x20000000000000000100} {u = 
151115727451828646838528, s = 151115727451828646838528}
q24            {u = 0x3e80000000000000100, s = 0x3e80000000000000100} {u = 
18446744073709551616256, s = 18446744073709551616256}
q25            {u = 0x640000000a, s = 0x640000000a} {u = 429496729610, s = 
429496729610}
q26            {u = 0x640000000000002710, s = 0x640000000000002710} {u = 
1844674407370955171600, s = 1844674407370955171600}
q27            {u = 0x3e80000000000000064, s = 0x3e80000000000000064} {u = 
18446744073709551616100, s = 18446744073709551616100}
q28            {u = 0x400000000000000004000, s = 0x400000000000000004000} {u = 
4835703278458516698841088, s = 4835703278458516698841088}
q29            {u = 0x4000000080, s = 0x4000000080} {u = 274877907072, s = 
274877907072}
q30            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q31            {u = 0x6, s = 0x6}  {u = 6, s = 6}
d0             {f = 0x3ff0000000000000, u = 0x3ff0000000000000, s = 
0x3ff0000000000000} {f = 1, u = 4607182418800017408, s = 4607182418800017408}
d1             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d2             {f = 0x4024000000000000, u = 0x4024000000000000, s = 
0x4024000000000000} {f = 10, u = 4621819117588971520, s = 4621819117588971520}
d3             {f = 0x3fdbcb7b1526e50e, u = 0x3fdbcb7b1526e50e, s = 
0x3fdbcb7b1526e50e} {f = 0.43429448190325182, u = 4601495173785380110, s = 
4601495173785380110}
d4             {f = 0x3ec4197bcffabeb8, u = 0x3ec4197bcffabeb8, s = 
0x3ec4197bcffabeb8} {f = 2.3960525366779893e-06, u = 4522767945347808952, s = 
4522767945347808952}
d5             {f = 0x3fc9913ef2541966, u = 0x3fc9913ef2541966, s = 
0x3fc9913ef2541966} {f = 0.19974505264708425, u = 4596364594247899494, s = 
4596364594247899494}
d6             {f = 0x3fcdf47616893569, u = 0x3fcdf47616893569, s = 
0x3fcdf47616893569} {f = 0.23402286625279636, u = 4597599582636553577, s = 
4597599582636553577}
d7             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d8             {f = 0x4074280000000000, u = 0x4074280000000000, s = 
0x4074280000000000} {f = 322.5, u = 4644381096190935040, s = 
4644381096190935040}
d9             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d10            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d11            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d12            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d13            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d14            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d15            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d16            {f = 0x3e2fdbf21a9c6760, u = 0x3e2fdbf21a9c6760, s = 
0x3e2fdbf21a9c6760} {f = 3.708894709484825e-09, u = 4481041987131959136, s = 
4481041987131959136}
d17            {f = 0xbfe0000000000001, u = 0xbfe0000000000001, s = 
0xbfe0000000000001} {f = -0.50000000000000011, u = 13826050856027422721, s = 
-4620693217682128895}
d18            {f = 0x3d2ef35793c76730, u = 0x3d2ef35793c76730, s = 
0x3d2ef35793c76730} {f = 5.4979230187083712e-14, u = 4408728642709317424, s = 
4408728642709317424}
d19            {f = 0x3ff0002b8b263fc3, u = 0x3ff0002b8b263fc3, s = 
0x3ff0002b8b263fc3} {f = 1.0000415263675542, u = 4607182605818150851, s = 
4607182605818150851}
d20            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d21            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d22            {f = 0x4000000000000000, u = 0x4000000000000000, s = 
0x4000000000000000} {f = 2, u = 4611686018427387904, s = 4611686018427387904}
d23            {f = 0x100, u = 0x100, s = 0x100} {f = 1.2648080533535912e-321, 
u = 256, s = 256}
d24            {f = 0x100, u = 0x100, s = 0x100} {f = 1.2648080533535912e-321, 
u = 256, s = 256}
d25            {f = 0x640000000a, u = 0x640000000a, s = 0x640000000a} {f = 
2.1219957910146789e-312, u = 429496729610, s = 429496729610}
d26            {f = 0x2710, u = 0x2710, s = 0x2710} {f = 
4.9406564584124654e-320, u = 10000, s = 10000}
d27            {f = 0x64, u = 0x64, s = 0x64} {f = 4.9406564584124654e-322, u = 
100, s = 100}
d28            {f = 0x4000, u = 0x4000, s = 0x4000} {f = 
8.0947715414629834e-320, u = 16384, s = 16384}
d29            {f = 0x4000000080, u = 0x4000000080, s = 0x4000000080} {f = 
1.3580773068501783e-312, u = 274877907072, s = 274877907072}
d30            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d31            {f = 0x6, u = 0x6, s = 0x6} {f = 2.9643938750474793e-323, u = 6, 
s = 6}
s0             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s1             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s2             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s3             {f = 0x1526e50e, u = 0x1526e50e, s = 0x1526e50e} {f = 
3.37041253e-26, u = 354870542, s = 354870542}
s4             {f = 0xcffabeb8, u = 0xcffabeb8, s = 0xcffabeb8} {f = 
-8.41360589e+09, u = 3489316536, s = -805650760}
s5             {f = 0xf2541966, u = 0xf2541966, s = 0xf2541966} {f = 
-4.20105772e+30, u = 4065597798, s = -229369498}
s6             {f = 0x16893569, u = 0x16893569, s = 0x16893569} {f = 
2.21672503e-25, u = 378090857, s = 378090857}
s7             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s8             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s9             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s10            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s11            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s12            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s13            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s14            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s15            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s16            {f = 0x1a9c6760, u = 0x1a9c6760, s = 0x1a9c6760} {f = 
6.46870991e-23, u = 446457696, s = 446457696}
s17            {f = 0x1, u = 0x1, s = 0x1} {f = 1.40129846e-45, u = 1, s = 1}
s18            {f = 0x93c76730, u = 0x93c76730, s = 0x93c76730} {f = 
-5.03364132e-27, u = 2479318832, s = -1815648464}
s19            {f = 0x8b263fc3, u = 0x8b263fc3, s = 0x8b263fc3} {f = 
-3.20184061e-32, u = 2334539715, s = -1960427581}
s20            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s21            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s22            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s23            {f = 0x100, u = 0x100, s = 0x100} {f = 3.58732407e-43, u = 256, 
s = 256}
s24            {f = 0x100, u = 0x100, s = 0x100} {f = 3.58732407e-43, u = 256, 
s = 256}
s25            {f = 0xa, u = 0xa, s = 0xa} {f = 1.40129846e-44, u = 10, s = 10}
s26            {f = 0x2710, u = 0x2710, s = 0x2710} {f = 1.40129846e-41, u = 
10000, s = 10000}
s27            {f = 0x64, u = 0x64, s = 0x64} {f = 1.40129846e-43, u = 100, s = 
100}
s28            {f = 0x4000, u = 0x4000, s = 0x4000} {f = 2.2958874e-41, u = 
16384, s = 16384}
s29            {f = 0x80, u = 0x80, s = 0x80} {f = 1.79366203e-43, u = 128, s = 
128}
s30            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s31            {f = 0x6, u = 0x6, s = 0x6} {f = 8.40779079e-45, u = 6, s = 6}
h0             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h1             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h2             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h3             {bf = 0xe50e, f = 0xe50e, u = 0xe50e, s = 0xe50e} {bf = 
-4.191e+22, f = -1294, u = 58638, s = -6898}
h4             {bf = 0xbeb8, f = 0xbeb8, u = 0xbeb8, s = 0xbeb8} {bf = -0.3594, 
f = -1.6797, u = 48824, s = -16712}
h5             {bf = 0x1966, f = 0x1966, u = 0x1966, s = 0x1966} {bf = 
1.189e-23, f = 0.002636, u = 6502, s = 6502}
h6             {bf = 0x3569, f = 0x3569, u = 0x3569, s = 0x3569} {bf = 
8.68e-07, f = 0.33813, u = 13673, s = 13673}
h7             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h8             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h9             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h10            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h11            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h12            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h13            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h14            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h15            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h16            {bf = 0x6760, f = 0x6760, u = 0x6760, s = 0x6760} {bf = 
1.058e+24, f = 1888, u = 26464, s = 26464}
h17            {bf = 0x1, f = 0x1, u = 0x1, s = 0x1} {bf = 9.184e-41, f = 
5.9605e-08, u = 1, s = 1}
h18            {bf = 0x6730, f = 0x6730, u = 0x6730, s = 0x6730} {bf = 
8.311e+23, f = 1840, u = 26416, s = 26416}
h19            {bf = 0x3fc3, f = 0x3fc3, u = 0x3fc3, s = 0x3fc3} {bf = 1.523, f 
= 1.9404, u = 16323, s = 16323}
h20            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h21            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h22            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h23            {bf = 0x100, f = 0x100, u = 0x100, s = 0x100} {bf = 2.351e-38, f 
= 1.5259e-05, u = 256, s = 256}
h24            {bf = 0x100, f = 0x100, u = 0x100, s = 0x100} {bf = 2.351e-38, f 
= 1.5259e-05, u = 256, s = 256}
h25            {bf = 0xa, f = 0xa, u = 0xa, s = 0xa} {bf = 9.184e-40, f = 
5.9605e-07, u = 10, s = 10}
h26            {bf = 0x2710, f = 0x2710, u = 0x2710, s = 0x2710} {bf = 
1.998e-15, f = 0.027588, u = 10000, s = 10000}
h27            {bf = 0x64, f = 0x64, u = 0x64, s = 0x64} {bf = 9.184e-39, f = 
5.9605e-06, u = 100, s = 100}
h28            {bf = 0x4000, f = 0x4000, u = 0x4000, s = 0x4000} {bf = 2, f = 
2, u = 16384, s = 16384}
h29            {bf = 0x80, f = 0x80, u = 0x80, s = 0x80} {bf = 1.175e-38, f = 
7.6294e-06, u = 128, s = 128}
h30            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h31            {bf = 0x6, f = 0x6, u = 0x6, s = 0x6} {bf = 5.51e-40, f = 
3.5763e-07, u = 6, s = 6}
b0             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b1             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b2             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b3             {u = 0xe, s = 0xe}  {u = 14, s = 14}
b4             {u = 0xb8, s = 0xb8} {u = 184, s = -72}
b5             {u = 0x66, s = 0x66} {u = 102, s = 102}
b6             {u = 0x69, s = 0x69} {u = 105, s = 105}
b7             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b8             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b9             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b10            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b11            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b12            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b13            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b14            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b15            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b16            {u = 0x60, s = 0x60} {u = 96, s = 96}
b17            {u = 0x1, s = 0x1}  {u = 1, s = 1}
b18            {u = 0x30, s = 0x30} {u = 48, s = 48}
b19            {u = 0xc3, s = 0xc3} {u = 195, s = -61}
b20            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b21            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b22            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b23            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b24            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b25            {u = 0xa, s = 0xa}  {u = 10, s = 10}
b26            {u = 0x10, s = 0x10} {u = 16, s = 16}
b27            {u = 0x64, s = 0x64} {u = 100, s = 100}
b28            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b29            {u = 0x80, s = 0x80} {u = 128, s = -128}
b30            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b31            {u = 0x6, s = 0x6}  {u = 6, s = 6}
w0             0xffffef10          4294962960
w1             0x0                 0
w2             0x0                 0
w3             0x0                 0
w4             0xaaaa9000          2863304704
w5             0x143               323
w6             0x1                 1
w7             0xf833f40f          4164154383
w8             0x0                 0
w9             0x50                80
w10            0x0                 0
w11            0x0                 0
w12            0xf7ff7c30          4160715824
w13            0x1a                26
w14            0x1                 1
w15            0xc                 12
w16            0xaaabff68          2863398760
w17            0xf7d92b50          4158204752
w18            0xd                 13
w19            0xffffeea0          4294962848
w20            0xffffede0          4294962656
w21            0xffffee90          4294962832
w22            0xaaae0f80          2863533952
w23            0xaaae2830          2863540272
w24            0xffffef10          4294962960
w25            0xaaae0f70          2863533936
w26            0xaaae0920          2863532320
w27            0xffffedf0          4294962672
w28            0xffffee00          4294962688
w29            0xffffed60          4294962528
w30            0xaaaa4934          2863286580
(gdb) 











































Valgrind + GDB:

cd /home/benutzer/source/gpscorrelate/orig/gpscorrelate-2.1
cat tests/staging/point1-2.jpg > /tmp/test-valgrind.jpg
valgrind --vgdb=yes --vgdb-error=0 --error-exitcode=126 --tool=memcheck 
--leak-check=yes --num-callers=30 --log-file=/tmp/test167-valgrind.log 
/usr/bin/gpscorrelate --heading --max-heading 90 -O -45 -z 0 -g 
tests/staging/track13.gpx /tmp/test-valgrind.jpg &
gdb -q /usr/bin/gpscorrelate
set width 0
set pagination off
target remote | vgdb
b WriteGPSData
cont
b 625
cont
b *(ConvertToRational+104)
display/i $pc
cont
print $d8
stepi
print $w5
bt
up
print Point->MoveHeading



benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ cd 
/home/benutzer/source/gpscorrelate/orig/gpscorrelate-2.1
benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ cat 
tests/staging/point1-2.jpg > /tmp/test-valgrind.jpg
benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ valgrind 
--vgdb=yes --vgdb-error=0 --error-exitcode=126 --tool=memcheck --leak-check=yes 
--num-callers=30 --log-file=/tmp/test167-valgrind.log /usr/bin/gpscorrelate 
--heading --max-heading 90 -O -45 -z 0 -g tests/staging/track13.gpx 
/tmp/test-valgrind.jpg &
[1] 13943
benutzer@debian:~/source/gpscorrelate/orig/gpscorrelate-2.1$ gdb -q 
/usr/bin/gpscorrelate
Reading symbols from /usr/bin/gpscorrelate...
Reading symbols from 
/usr/lib/debug/.build-id/05/6a4b627d6a584d22788080e79d2e7defc8c4fd.debug...
(gdb) set width 0
(gdb) set pagination off
(gdb) target remote | vgdb
Remote debugging using | vgdb
relaying data between gdb and process 13943
warning: remote target does not support file transfer, attempting to access 
files from local filesystem.
Reading symbols from /lib/ld-linux-aarch64.so.1...
Reading symbols from 
/usr/lib/debug/.build-id/d4/b1c3240e11ff4cac943c8fc58d8677f1f47654.debug...
_start () at ../sysdeps/aarch64/dl-start.S:22
22      ../sysdeps/aarch64/dl-start.S: Datei oder Verzeichnis nicht gefunden.
(gdb) b WriteGPSData
Breakpoint 1 at 0x10e324: file ./exif-gps.cpp, line 467.
(gdb) cont
Continuing.
Reading GPS Data...
Legend: . = Ok, / = Interpolated, < = Rounded, - = No match, ^ = Too far
        w = Write Fail, ? = No EXIF date, ! = GPS already present


Breakpoint 1, WriteGPSData (File=File@entry=0x1fff000639 
"/tmp/test-valgrind.jpg", Point=Point@entry=0x73bf5d0, Datum=0x73b1a50 
"WGS-84", NoChangeMtime=0, DegMinSecs=1) at ./exif-gps.cpp:467
467     {
(gdb) b 625
Breakpoint 2 at 0x10eea8: file ./exif-gps.cpp, line 625.
(gdb) cont
Continuing.

Breakpoint 2, WriteGPSData (File=File@entry=0x1fff000639 
"/tmp/test-valgrind.jpg", Point=Point@entry=0x73bf5d0, Datum=<optimized out>, 
NoChangeMtime=0, DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
625                     ConvertToRational(Point->MoveHeading, 0, ScratchBuf, 
sizeof(ScratchBuf));
(gdb) b *(ConvertToRational+104)
Breakpoint 3 at 0x10c948: file /usr/include/aarch64-linux-gnu/bits/stdio2.h, 
line 54.
(gdb) display/i $pc
1: x/i $pc
=> 0x10eea8 <WriteGPSData(char const*, GPSPoint const*, char const*, int, 
int)+2948>:   ldr     d0, [x23, #48]
(gdb) cont
Continuing.

Breakpoint 3, 0x000000000010c948 in snprintf (__fmt=<optimized out>, 
__n=<optimized out>, __s=<optimized out>) at 
/usr/include/aarch64-linux-gnu/bits/stdio2.h:54
warning: Source file is more recent than executable.
54        return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
1: x/i $pc
=> 0x10c948 <ConvertToRational(double, int, char*, int)+104>:   fcvtas  w5, d8
(gdb) print $d8
$1 = {f = 322.5, u = 4644381096190935040, s = 4644381096190935040}
(gdb) stepi
0x000000000010c94c in ConvertToRational (Number=<optimized out>, 
Decimals=Decimals@entry=0, Buf=Buf@entry=0x1ffefffe50 "35/1 23/1 598/10", 
BufSize=100) at ./exif-gps.cpp:419
419     }
1: x/i $pc
=> 0x10c94c <ConvertToRational(double, int, char*, int)+108>:   ldr     d8, 
[sp, #32]
(gdb) print $w5
$2 = 322
(gdb) bt
#0  0x000000000010c94c in ConvertToRational (Number=<optimized out>, 
Decimals=Decimals@entry=0, Buf=Buf@entry=0x1ffefffe50 "35/1 23/1 598/10", 
BufSize=100) at ./exif-gps.cpp:419
#1  0x000000000010eeb8 in WriteGPSData (File=File@entry=0x1fff000639 
"/tmp/test-valgrind.jpg", Point=Point@entry=0x73bf5d0, Datum=<optimized out>, 
NoChangeMtime=0, DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
#2  0x000000000010c514 in CorrelatePhoto (Filename=Filename@entry=0x1fff000639 
"/tmp/test-valgrind.jpg", Options=Options@entry=0x1fff000010) at 
./correlate.c:295
#3  0x000000000010ab84 in main (argc=11, argv=0x1fff000358) at 
./main-command.c:762
(gdb) up
#1  0x000000000010eeb8 in WriteGPSData (File=File@entry=0x1fff000639 
"/tmp/test-valgrind.jpg", Point=Point@entry=0x73bf5d0, Datum=<optimized out>, 
NoChangeMtime=0, DegMinSecs=<optimized out>) at ./exif-gps.cpp:625
625                     ConvertToRational(Point->MoveHeading, 0, ScratchBuf, 
sizeof(ScratchBuf));
(gdb) print Point->MoveHeading
$3 = 322.5
(gdb) info reg all
x0             0x1ffefffe50        137422175824
x1             0xfff0000000000000  -4503599627370496
x2             0x0                 0
x3             0x0                 0
x4             0x0                 0
x5             0x142               322
x6             0x1                 1
x7             0x73d27b2           121448370
x8             0x4024000000000000  4621819117588971520
x9             0x73c8bd0           121408464
x10            0x3a                58
x11            0x0                 0
x12            0x4027610           67270160
x13            0x1a                26
x14            0x37d30dd           58536157
x15            0xc                 12
x16            0x127f68            1212264
x17            0x5022b50           84028240
x18            0xf                 15
x19            0x1ffefffde0        137422175712
x20            0x1ffefffd20        137422175520
x21            0x1ffefffdd0        137422175696
x22            0x73c0b10           121375504
x23            0x73bf5d0           121370064
x24            0x1ffefffe50        137422175824
x25            0x73c0b00           121375488
x26            0x73d2a30           121449008
x27            0x1ffefffd30        137422175536
x28            0x1ffefffd40        137422175552
x29            0x1ffefffec0        137422175936
x30            0x10eeb8            1109688
sp             0x1ffefffcd0        0x1ffefffcd0
pc             0x10eeb8            0x10eeb8 <WriteGPSData(char const*, GPSPoint 
const*, char const*, int, int)+2964>
cpsr           0x0                 [ EL=0 BTYPE=0 ]
v0             {d = {f = {0x3ff0000000000000, 0x0}, u = {0x3ff0000000000000, 
0x0}, s = {0x3ff0000000000000, 0x0}}, s = {f = {0x0, 0x3ff00000, 0x0, 0x0}, u = 
{0x0, 0x3ff00000, 0x0, 0x0}, s = {0x0, 0x3ff00000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x3ff0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 
0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3ff0000000000000}, s = {0x3ff0000000000000}}}
v1             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v2             {d = {f = {0x4024000000000000, 0x0}, u = {0x4024000000000000, 
0x0}, s = {0x4024000000000000, 0x0}}, s = {f = {0x0, 0x40240000, 0x0, 0x0}, u = 
{0x0, 0x40240000, 0x0, 0x0}, s = {0x0, 0x40240000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x4024, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x4024, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x4024, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x4024, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x24, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x4024000000000000}, s = {0x4024000000000000}}}
v3             {d = {f = {0x3fdbcb7b1526e50e, 0x0}, u = {0x3fdbcb7b1526e50e, 
0x0}, s = {0x3fdbcb7b1526e50e, 0x0}}, s = {f = {0x1526e50e, 0x3fdbcb7b, 0x0, 
0x0}, u = {0x1526e50e, 0x3fdbcb7b, 0x0, 0x0}, s = {0x1526e50e, 0x3fdbcb7b, 0x0, 
0x0}}, h = {bf = {0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, f = 
{0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, u = {0xe50e, 0x1526, 
0xcb7b, 0x3fdb, 0x0, 0x0, 0x0, 0x0}, s = {0xe50e, 0x1526, 0xcb7b, 0x3fdb, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0xe, 0xe5, 0x26, 0x15, 0x7b, 0xcb, 0xdb, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xe, 0xe5, 0x26, 0x15, 0x7b, 0xcb, 
0xdb, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fdbcb7b1526e50e}, s = {0x3fdbcb7b1526e50e}}}
v4             {d = {f = {0x3ec4197bcffabeb8, 0x0}, u = {0x3ec4197bcffabeb8, 
0x0}, s = {0x3ec4197bcffabeb8, 0x0}}, s = {f = {0xcffabeb8, 0x3ec4197b, 0x0, 
0x0}, u = {0xcffabeb8, 0x3ec4197b, 0x0, 0x0}, s = {0xcffabeb8, 0x3ec4197b, 0x0, 
0x0}}, h = {bf = {0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, f = 
{0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, u = {0xbeb8, 0xcffa, 
0x197b, 0x3ec4, 0x0, 0x0, 0x0, 0x0}, s = {0xbeb8, 0xcffa, 0x197b, 0x3ec4, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0xb8, 0xbe, 0xfa, 0xcf, 0x7b, 0x19, 0xc4, 0x3e, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xb8, 0xbe, 0xfa, 0xcf, 0x7b, 0x19, 
0xc4, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3ec4197bcffabeb8}, s = {0x3ec4197bcffabeb8}}}
v5             {d = {f = {0x3fc9913ef2541966, 0x0}, u = {0x3fc9913ef2541966, 
0x0}, s = {0x3fc9913ef2541966, 0x0}}, s = {f = {0xf2541966, 0x3fc9913e, 0x0, 
0x0}, u = {0xf2541966, 0x3fc9913e, 0x0, 0x0}, s = {0xf2541966, 0x3fc9913e, 0x0, 
0x0}}, h = {bf = {0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, f = 
{0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, u = {0x1966, 0xf254, 
0x913e, 0x3fc9, 0x0, 0x0, 0x0, 0x0}, s = {0x1966, 0xf254, 0x913e, 0x3fc9, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x66, 0x19, 0x54, 0xf2, 0x3e, 0x91, 0xc9, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x66, 0x19, 0x54, 0xf2, 0x3e, 0x91, 
0xc9, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fc9913ef2541966}, s = {0x3fc9913ef2541966}}}
v6             {d = {f = {0x3fcdf47616893569, 0x0}, u = {0x3fcdf47616893569, 
0x0}, s = {0x3fcdf47616893569, 0x0}}, s = {f = {0x16893569, 0x3fcdf476, 0x0, 
0x0}, u = {0x16893569, 0x3fcdf476, 0x0, 0x0}, s = {0x16893569, 0x3fcdf476, 0x0, 
0x0}}, h = {bf = {0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, f = 
{0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, u = {0x3569, 0x1689, 
0xf476, 0x3fcd, 0x0, 0x0, 0x0, 0x0}, s = {0x3569, 0x1689, 0xf476, 0x3fcd, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x69, 0x35, 0x89, 0x16, 0x76, 0xf4, 0xcd, 0x3f, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x69, 0x35, 0x89, 0x16, 0x76, 0xf4, 
0xcd, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3fcdf47616893569}, s = {0x3fcdf47616893569}}}
v7             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v8             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v9             {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v10            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v11            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v12            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v13            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v14            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v15            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v16            {d = {f = {0x3e2fdbf21a9c6760, 0x0}, u = {0x3e2fdbf21a9c6760, 
0x0}, s = {0x3e2fdbf21a9c6760, 0x0}}, s = {f = {0x1a9c6760, 0x3e2fdbf2, 0x0, 
0x0}, u = {0x1a9c6760, 0x3e2fdbf2, 0x0, 0x0}, s = {0x1a9c6760, 0x3e2fdbf2, 0x0, 
0x0}}, h = {bf = {0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, f = 
{0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, u = {0x6760, 0x1a9c, 
0xdbf2, 0x3e2f, 0x0, 0x0, 0x0, 0x0}, s = {0x6760, 0x1a9c, 0xdbf2, 0x3e2f, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x60, 0x67, 0x9c, 0x1a, 0xf2, 0xdb, 0x2f, 0x3e, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x60, 0x67, 0x9c, 0x1a, 0xf2, 0xdb, 
0x2f, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3e2fdbf21a9c6760}, s = {0x3e2fdbf21a9c6760}}}
v17            {d = {f = {0xbfe0000000000001, 0x0}, u = {0xbfe0000000000001, 
0x0}, s = {0xbfe0000000000001, 0x0}}, s = {f = {0x1, 0xbfe00000, 0x0, 0x0}, u = 
{0x1, 0xbfe00000, 0x0, 0x0}, s = {0x1, 0xbfe00000, 0x0, 0x0}}, h = {bf = {0x1, 
0x0, 0x0, 0xbfe0, 0x0, 0x0, 0x0, 0x0}, f = {0x1, 0x0, 0x0, 0xbfe0, 0x0, 0x0, 
0x0, 0x0}, u = {0x1, 0x0, 0x0, 0xbfe0, 0x0, 0x0, 0x0, 0x0}, s = {0x1, 0x0, 0x0, 
0xbfe0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 
0xbf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x1, 0x0, 0x0, 0x0, 0x0, 
0x0, 0xe0, 0xbf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0xbfe0000000000001}, s = {0xbfe0000000000001}}}
v18            {d = {f = {0x3d2ef35793c76730, 0x0}, u = {0x3d2ef35793c76730, 
0x0}, s = {0x3d2ef35793c76730, 0x0}}, s = {f = {0x93c76730, 0x3d2ef357, 0x0, 
0x0}, u = {0x93c76730, 0x3d2ef357, 0x0, 0x0}, s = {0x93c76730, 0x3d2ef357, 0x0, 
0x0}}, h = {bf = {0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, f = 
{0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, u = {0x6730, 0x93c7, 
0xf357, 0x3d2e, 0x0, 0x0, 0x0, 0x0}, s = {0x6730, 0x93c7, 0xf357, 0x3d2e, 0x0, 
0x0, 0x0, 0x0}}, b = {u = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 0x2e, 0x3d, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 
0x2e, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x3d2ef35793c76730}, s = {0x3d2ef35793c76730}}}
v19            {d = {f = {0x3ff0002b8b263fc3, 0x0}, u = {0x3ff0002b8b263fc3, 
0x0}, s = {0x3ff0002b8b263fc3, 0x0}}, s = {f = {0x8b263fc3, 0x3ff0002b, 0x0, 
0x0}, u = {0x8b263fc3, 0x3ff0002b, 0x0, 0x0}, s = {0x8b263fc3, 0x3ff0002b, 0x0, 
0x0}}, h = {bf = {0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, f = 
{0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 0x0}, u = {0x3fc3, 0x8b26, 0x2b, 
0x3ff0, 0x0, 0x0, 0x0, 0x0}, s = {0x3fc3, 0x8b26, 0x2b, 0x3ff0, 0x0, 0x0, 0x0, 
0x0}}, b = {u = {0xc3, 0x3f, 0x26, 0x8b, 0x2b, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xc3, 0x3f, 0x26, 0x8b, 0x2b, 0x0, 0xf0, 0x3f, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x3ff0002b8b263fc3}, s = 
{0x3ff0002b8b263fc3}}}
v20            {d = {f = {0x0, 0x1}, u = {0x0, 0x1}, s = {0x0, 0x1}}, s = {f = 
{0x0, 0x0, 0x1, 0x0}, u = {0x0, 0x0, 0x1, 0x0}, s = {0x0, 0x0, 0x1, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x1, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x10000000000000000}, s = {0x10000000000000000}}}
v21            {d = {f = {0x0, 0x3e8}, u = {0x0, 0x3e8}, s = {0x0, 0x3e8}}, s = 
{f = {0x0, 0x0, 0x3e8, 0x0}, u = {0x0, 0x0, 0x3e8, 0x0}, s = {0x0, 0x0, 0x3e8, 
0x0}}, h = {bf = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 
0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 
0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q 
= {u = {0x3e80000000000000000}, s = {0x3e80000000000000000}}}
v22            {d = {f = {0x4000000000000000, 0x0}, u = {0x4000000000000000, 
0x0}, s = {0x4000000000000000, 0x0}}, s = {f = {0x0, 0x40000000, 0x0, 0x0}, u = 
{0x0, 0x40000000, 0x0, 0x0}, s = {0x0, 0x40000000, 0x0, 0x0}}, h = {bf = {0x0, 
0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 
0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 
0x4000, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = 
{0x4000000000000000}, s = {0x4000000000000000}}}
v23            {d = {f = {0x100, 0x2000}, u = {0x100, 0x2000}, s = {0x100, 
0x2000}}, s = {f = {0x100, 0x0, 0x2000, 0x0}, u = {0x100, 0x0, 0x2000, 0x0}, s 
= {0x100, 0x0, 0x2000, 0x0}}, h = {bf = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 
0x0, 0x0}, f = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 0x0}, u = {0x100, 0x0, 
0x0, 0x0, 0x2000, 0x0, 0x0, 0x0}, s = {0x100, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 
0x0}}, b = {u = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x20000000000000000100}, s = 
{0x20000000000000000100}}}
v24            {d = {f = {0x100, 0x3e8}, u = {0x100, 0x3e8}, s = {0x100, 
0x3e8}}, s = {f = {0x100, 0x0, 0x3e8, 0x0}, u = {0x100, 0x0, 0x3e8, 0x0}, s = 
{0x100, 0x0, 0x3e8, 0x0}}, h = {bf = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 
0x0}, f = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x100, 0x0, 0x0, 
0x0, 0x3e8, 0x0, 0x0, 0x0}, s = {0x100, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, 
b = {u = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, s = {0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x3e80000000000000100}, s = 
{0x3e80000000000000100}}}
v25            {d = {f = {0x640000000a, 0x0}, u = {0x640000000a, 0x0}, s = 
{0x640000000a, 0x0}}, s = {f = {0xa, 0x64, 0x0, 0x0}, u = {0xa, 0x64, 0x0, 
0x0}, s = {0xa, 0x64, 0x0, 0x0}}, h = {bf = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 
0x0, 0x0}, f = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0}, u = {0xa, 0x0, 0x64, 
0x0, 0x0, 0x0, 0x0, 0x0}, s = {0xa, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = 
{u = {0xa, 0x0, 0x0, 0x0, 0x64, 0x0 <repeats 11 times>}, s = {0xa, 0x0, 0x0, 
0x0, 0x64, 0x0 <repeats 11 times>}}, q = {u = {0x640000000a}, s = 
{0x640000000a}}}
v26            {d = {f = {0x2710, 0x64}, u = {0x2710, 0x64}, s = {0x2710, 
0x64}}, s = {f = {0x2710, 0x0, 0x64, 0x0}, u = {0x2710, 0x0, 0x64, 0x0}, s = 
{0x2710, 0x0, 0x64, 0x0}}, h = {bf = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 
0x0}, f = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}, u = {0x2710, 0x0, 0x0, 
0x0, 0x64, 0x0, 0x0, 0x0}, s = {0x2710, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, b 
= {u = {0x10, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, s = {0x10, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x640000000000002710}, s = 
{0x640000000000002710}}}
v27            {d = {f = {0x64, 0x3e8}, u = {0x64, 0x3e8}, s = {0x64, 0x3e8}}, 
s = {f = {0x64, 0x0, 0x3e8, 0x0}, u = {0x64, 0x0, 0x3e8, 0x0}, s = {0x64, 0x0, 
0x3e8, 0x0}}, h = {bf = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, f = {0x64, 
0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}, u = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 
0x0, 0x0}, s = {0x64, 0x0, 0x0, 0x0, 0x3e8, 0x0, 0x0, 0x0}}, b = {u = {0x64, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s 
= {0x64, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0}}, q = {u = {0x3e80000000000000064}, s = {0x3e80000000000000064}}}
v28            {d = {f = {0x4000, 0x40000}, u = {0x4000, 0x40000}, s = {0x4000, 
0x40000}}, s = {f = {0x4000, 0x0, 0x40000, 0x0}, u = {0x4000, 0x0, 0x40000, 
0x0}, s = {0x4000, 0x0, 0x40000, 0x0}}, h = {bf = {0x4000, 0x0, 0x0, 0x0, 0x0, 
0x4, 0x0, 0x0}, f = {0x4000, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0}, u = {0x4000, 
0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0}, s = {0x4000, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 
0x0}}, b = {u = {0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 
0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x4, 0x0, 0x0, 0x0, 0x0, 0x0}}, q = {u = {0x400000000000000004000}, s = 
{0x400000000000000004000}}}
v29            {d = {f = {0x4000000080, 0x0}, u = {0x4000000080, 0x0}, s = 
{0x4000000080, 0x0}}, s = {f = {0x80, 0x40, 0x0, 0x0}, u = {0x80, 0x40, 0x0, 
0x0}, s = {0x80, 0x40, 0x0, 0x0}}, h = {bf = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 
0x0, 0x0}, f = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0}, u = {0x80, 0x0, 
0x40, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x80, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 
0x0}}, b = {u = {0x80, 0x0, 0x0, 0x0, 0x40, 0x0 <repeats 11 times>}, s = {0x80, 
0x0, 0x0, 0x0, 0x40, 0x0 <repeats 11 times>}}, q = {u = {0x4000000080}, s = 
{0x4000000080}}}
v30            {d = {f = {0x0, 0x0}, u = {0x0, 0x0}, s = {0x0, 0x0}}, s = {f = 
{0x0, 0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 0x0, 0x0}}, h = 
{bf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x0 <repeats 16 times>}, s = {0x0 
<repeats 16 times>}}, q = {u = {0x0}, s = {0x0}}}
v31            {d = {f = {0x6, 0x0}, u = {0x6, 0x0}, s = {0x6, 0x0}}, s = {f = 
{0x6, 0x0, 0x0, 0x0}, u = {0x6, 0x0, 0x0, 0x0}, s = {0x6, 0x0, 0x0, 0x0}}, h = 
{bf = {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f = {0x6, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, u = {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, s = {0x6, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, b = {u = {0x6, 0x0 <repeats 15 times>}, s = 
{0x6, 0x0 <repeats 15 times>}}, q = {u = {0x6}, s = {0x6}}}
fpsr           0x0                 [ ]
fpcr           0x0                 [ Len=0 Stride=0 RMode=0 ]
q0             {u = 0x3ff0000000000000, s = 0x3ff0000000000000} {u = 
4607182418800017408, s = 4607182418800017408}
q1             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q2             {u = 0x4024000000000000, s = 0x4024000000000000} {u = 
4621819117588971520, s = 4621819117588971520}
q3             {u = 0x3fdbcb7b1526e50e, s = 0x3fdbcb7b1526e50e} {u = 
4601495173785380110, s = 4601495173785380110}
q4             {u = 0x3ec4197bcffabeb8, s = 0x3ec4197bcffabeb8} {u = 
4522767945347808952, s = 4522767945347808952}
q5             {u = 0x3fc9913ef2541966, s = 0x3fc9913ef2541966} {u = 
4596364594247899494, s = 4596364594247899494}
q6             {u = 0x3fcdf47616893569, s = 0x3fcdf47616893569} {u = 
4597599582636553577, s = 4597599582636553577}
q7             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q8             {u = 0x4074280000000000, s = 0x4074280000000000} {u = 
4644381096190935040, s = 4644381096190935040}
q9             {u = 0x0, s = 0x0}  {u = 0, s = 0}
q10            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q11            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q12            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q13            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q14            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q15            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q16            {u = 0x3e2fdbf21a9c6760, s = 0x3e2fdbf21a9c6760} {u = 
4481041987131959136, s = 4481041987131959136}
q17            {u = 0xbfe0000000000001, s = 0xbfe0000000000001} {u = 
13826050856027422721, s = 13826050856027422721}
q18            {u = 0x3d2ef35793c76730, s = 0x3d2ef35793c76730} {u = 
4408728642709317424, s = 4408728642709317424}
q19            {u = 0x3ff0002b8b263fc3, s = 0x3ff0002b8b263fc3} {u = 
4607182605818150851, s = 4607182605818150851}
q20            {u = 0x10000000000000000, s = 0x10000000000000000} {u = 
18446744073709551616, s = 18446744073709551616}
q21            {u = 0x3e80000000000000000, s = 0x3e80000000000000000} {u = 
18446744073709551616000, s = 18446744073709551616000}
q22            {u = 0x4000000000000000, s = 0x4000000000000000} {u = 
4611686018427387904, s = 4611686018427387904}
q23            {u = 0x20000000000000000100, s = 0x20000000000000000100} {u = 
151115727451828646838528, s = 151115727451828646838528}
q24            {u = 0x3e80000000000000100, s = 0x3e80000000000000100} {u = 
18446744073709551616256, s = 18446744073709551616256}
q25            {u = 0x640000000a, s = 0x640000000a} {u = 429496729610, s = 
429496729610}
q26            {u = 0x640000000000002710, s = 0x640000000000002710} {u = 
1844674407370955171600, s = 1844674407370955171600}
q27            {u = 0x3e80000000000000064, s = 0x3e80000000000000064} {u = 
18446744073709551616100, s = 18446744073709551616100}
q28            {u = 0x400000000000000004000, s = 0x400000000000000004000} {u = 
4835703278458516698841088, s = 4835703278458516698841088}
q29            {u = 0x4000000080, s = 0x4000000080} {u = 274877907072, s = 
274877907072}
q30            {u = 0x0, s = 0x0}  {u = 0, s = 0}
q31            {u = 0x6, s = 0x6}  {u = 6, s = 6}
d0             {f = 0x3ff0000000000000, u = 0x3ff0000000000000, s = 
0x3ff0000000000000} {f = 1, u = 4607182418800017408, s = 4607182418800017408}
d1             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d2             {f = 0x4024000000000000, u = 0x4024000000000000, s = 
0x4024000000000000} {f = 10, u = 4621819117588971520, s = 4621819117588971520}
d3             {f = 0x3fdbcb7b1526e50e, u = 0x3fdbcb7b1526e50e, s = 
0x3fdbcb7b1526e50e} {f = 0.43429448190325182, u = 4601495173785380110, s = 
4601495173785380110}
d4             {f = 0x3ec4197bcffabeb8, u = 0x3ec4197bcffabeb8, s = 
0x3ec4197bcffabeb8} {f = 2.3960525366779893e-06, u = 4522767945347808952, s = 
4522767945347808952}
d5             {f = 0x3fc9913ef2541966, u = 0x3fc9913ef2541966, s = 
0x3fc9913ef2541966} {f = 0.19974505264708425, u = 4596364594247899494, s = 
4596364594247899494}
d6             {f = 0x3fcdf47616893569, u = 0x3fcdf47616893569, s = 
0x3fcdf47616893569} {f = 0.23402286625279636, u = 4597599582636553577, s = 
4597599582636553577}
d7             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d8             {f = 0x4074280000000000, u = 0x4074280000000000, s = 
0x4074280000000000} {f = 322.5, u = 4644381096190935040, s = 
4644381096190935040}
d9             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d10            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d11            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d12            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d13            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d14            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d15            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d16            {f = 0x3e2fdbf21a9c6760, u = 0x3e2fdbf21a9c6760, s = 
0x3e2fdbf21a9c6760} {f = 3.708894709484825e-09, u = 4481041987131959136, s = 
4481041987131959136}
d17            {f = 0xbfe0000000000001, u = 0xbfe0000000000001, s = 
0xbfe0000000000001} {f = -0.50000000000000011, u = 13826050856027422721, s = 
-4620693217682128895}
d18            {f = 0x3d2ef35793c76730, u = 0x3d2ef35793c76730, s = 
0x3d2ef35793c76730} {f = 5.4979230187083712e-14, u = 4408728642709317424, s = 
4408728642709317424}
d19            {f = 0x3ff0002b8b263fc3, u = 0x3ff0002b8b263fc3, s = 
0x3ff0002b8b263fc3} {f = 1.0000415263675542, u = 4607182605818150851, s = 
4607182605818150851}
d20            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d21            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d22            {f = 0x4000000000000000, u = 0x4000000000000000, s = 
0x4000000000000000} {f = 2, u = 4611686018427387904, s = 4611686018427387904}
d23            {f = 0x100, u = 0x100, s = 0x100} {f = 1.2648080533535912e-321, 
u = 256, s = 256}
d24            {f = 0x100, u = 0x100, s = 0x100} {f = 1.2648080533535912e-321, 
u = 256, s = 256}
d25            {f = 0x640000000a, u = 0x640000000a, s = 0x640000000a} {f = 
2.1219957910146789e-312, u = 429496729610, s = 429496729610}
d26            {f = 0x2710, u = 0x2710, s = 0x2710} {f = 
4.9406564584124654e-320, u = 10000, s = 10000}
d27            {f = 0x64, u = 0x64, s = 0x64} {f = 4.9406564584124654e-322, u = 
100, s = 100}
d28            {f = 0x4000, u = 0x4000, s = 0x4000} {f = 
8.0947715414629834e-320, u = 16384, s = 16384}
d29            {f = 0x4000000080, u = 0x4000000080, s = 0x4000000080} {f = 
1.3580773068501783e-312, u = 274877907072, s = 274877907072}
d30            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
d31            {f = 0x6, u = 0x6, s = 0x6} {f = 2.9643938750474793e-323, u = 6, 
s = 6}
s0             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s1             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s2             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s3             {f = 0x1526e50e, u = 0x1526e50e, s = 0x1526e50e} {f = 
3.37041253e-26, u = 354870542, s = 354870542}
s4             {f = 0xcffabeb8, u = 0xcffabeb8, s = 0xcffabeb8} {f = 
-8.41360589e+09, u = 3489316536, s = -805650760}
s5             {f = 0xf2541966, u = 0xf2541966, s = 0xf2541966} {f = 
-4.20105772e+30, u = 4065597798, s = -229369498}
s6             {f = 0x16893569, u = 0x16893569, s = 0x16893569} {f = 
2.21672503e-25, u = 378090857, s = 378090857}
s7             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s8             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s9             {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s10            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s11            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s12            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s13            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s14            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s15            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s16            {f = 0x1a9c6760, u = 0x1a9c6760, s = 0x1a9c6760} {f = 
6.46870991e-23, u = 446457696, s = 446457696}
s17            {f = 0x1, u = 0x1, s = 0x1} {f = 1.40129846e-45, u = 1, s = 1}
s18            {f = 0x93c76730, u = 0x93c76730, s = 0x93c76730} {f = 
-5.03364132e-27, u = 2479318832, s = -1815648464}
s19            {f = 0x8b263fc3, u = 0x8b263fc3, s = 0x8b263fc3} {f = 
-3.20184061e-32, u = 2334539715, s = -1960427581}
s20            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s21            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s22            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s23            {f = 0x100, u = 0x100, s = 0x100} {f = 3.58732407e-43, u = 256, 
s = 256}
s24            {f = 0x100, u = 0x100, s = 0x100} {f = 3.58732407e-43, u = 256, 
s = 256}
s25            {f = 0xa, u = 0xa, s = 0xa} {f = 1.40129846e-44, u = 10, s = 10}
s26            {f = 0x2710, u = 0x2710, s = 0x2710} {f = 1.40129846e-41, u = 
10000, s = 10000}
s27            {f = 0x64, u = 0x64, s = 0x64} {f = 1.40129846e-43, u = 100, s = 
100}
s28            {f = 0x4000, u = 0x4000, s = 0x4000} {f = 2.2958874e-41, u = 
16384, s = 16384}
s29            {f = 0x80, u = 0x80, s = 0x80} {f = 1.79366203e-43, u = 128, s = 
128}
s30            {f = 0x0, u = 0x0, s = 0x0} {f = 0, u = 0, s = 0}
s31            {f = 0x6, u = 0x6, s = 0x6} {f = 8.40779079e-45, u = 6, s = 6}
h0             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h1             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h2             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h3             {bf = 0xe50e, f = 0xe50e, u = 0xe50e, s = 0xe50e} {bf = 
-4.191e+22, f = -1294, u = 58638, s = -6898}
h4             {bf = 0xbeb8, f = 0xbeb8, u = 0xbeb8, s = 0xbeb8} {bf = -0.3594, 
f = -1.6797, u = 48824, s = -16712}
h5             {bf = 0x1966, f = 0x1966, u = 0x1966, s = 0x1966} {bf = 
1.189e-23, f = 0.002636, u = 6502, s = 6502}
h6             {bf = 0x3569, f = 0x3569, u = 0x3569, s = 0x3569} {bf = 
8.68e-07, f = 0.33813, u = 13673, s = 13673}
h7             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h8             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h9             {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h10            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h11            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h12            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h13            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h14            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h15            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h16            {bf = 0x6760, f = 0x6760, u = 0x6760, s = 0x6760} {bf = 
1.058e+24, f = 1888, u = 26464, s = 26464}
h17            {bf = 0x1, f = 0x1, u = 0x1, s = 0x1} {bf = 9.184e-41, f = 
5.9605e-08, u = 1, s = 1}
h18            {bf = 0x6730, f = 0x6730, u = 0x6730, s = 0x6730} {bf = 
8.311e+23, f = 1840, u = 26416, s = 26416}
h19            {bf = 0x3fc3, f = 0x3fc3, u = 0x3fc3, s = 0x3fc3} {bf = 1.523, f 
= 1.9404, u = 16323, s = 16323}
h20            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h21            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h22            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h23            {bf = 0x100, f = 0x100, u = 0x100, s = 0x100} {bf = 2.351e-38, f 
= 1.5259e-05, u = 256, s = 256}
h24            {bf = 0x100, f = 0x100, u = 0x100, s = 0x100} {bf = 2.351e-38, f 
= 1.5259e-05, u = 256, s = 256}
h25            {bf = 0xa, f = 0xa, u = 0xa, s = 0xa} {bf = 9.184e-40, f = 
5.9605e-07, u = 10, s = 10}
h26            {bf = 0x2710, f = 0x2710, u = 0x2710, s = 0x2710} {bf = 
1.998e-15, f = 0.027588, u = 10000, s = 10000}
h27            {bf = 0x64, f = 0x64, u = 0x64, s = 0x64} {bf = 9.184e-39, f = 
5.9605e-06, u = 100, s = 100}
h28            {bf = 0x4000, f = 0x4000, u = 0x4000, s = 0x4000} {bf = 2, f = 
2, u = 16384, s = 16384}
h29            {bf = 0x80, f = 0x80, u = 0x80, s = 0x80} {bf = 1.175e-38, f = 
7.6294e-06, u = 128, s = 128}
h30            {bf = 0x0, f = 0x0, u = 0x0, s = 0x0} {bf = 0, f = 0, u = 0, s = 
0}
h31            {bf = 0x6, f = 0x6, u = 0x6, s = 0x6} {bf = 5.51e-40, f = 
3.5763e-07, u = 6, s = 6}
b0             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b1             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b2             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b3             {u = 0xe, s = 0xe}  {u = 14, s = 14}
b4             {u = 0xb8, s = 0xb8} {u = 184, s = -72}
b5             {u = 0x66, s = 0x66} {u = 102, s = 102}
b6             {u = 0x69, s = 0x69} {u = 105, s = 105}
b7             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b8             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b9             {u = 0x0, s = 0x0}  {u = 0, s = 0}
b10            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b11            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b12            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b13            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b14            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b15            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b16            {u = 0x60, s = 0x60} {u = 96, s = 96}
b17            {u = 0x1, s = 0x1}  {u = 1, s = 1}
b18            {u = 0x30, s = 0x30} {u = 48, s = 48}
b19            {u = 0xc3, s = 0xc3} {u = 195, s = -61}
b20            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b21            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b22            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b23            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b24            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b25            {u = 0xa, s = 0xa}  {u = 10, s = 10}
b26            {u = 0x10, s = 0x10} {u = 16, s = 16}
b27            {u = 0x64, s = 0x64} {u = 100, s = 100}
b28            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b29            {u = 0x80, s = 0x80} {u = 128, s = -128}
b30            {u = 0x0, s = 0x0}  {u = 0, s = 0}
b31            {u = 0x6, s = 0x6}  {u = 6, s = 6}
w0             0xfefffe50          4278189648
w1             0x0                 0
w2             0x0                 0
w3             0x0                 0
w4             0x0                 0
w5             0x142               322
w6             0x1                 1
w7             0x73d27b2           121448370
w8             0x0                 0
w9             0x73c8bd0           121408464
w10            0x3a                58
w11            0x0                 0
w12            0x4027610           67270160
w13            0x1a                26
w14            0x37d30dd           58536157
w15            0xc                 12
w16            0x127f68            1212264
w17            0x5022b50           84028240
w18            0xf                 15
w19            0xfefffde0          4278189536
w20            0xfefffd20          4278189344
w21            0xfefffdd0          4278189520
w22            0x73c0b10           121375504
w23            0x73bf5d0           121370064
w24            0xfefffe50          4278189648
w25            0x73c0b00           121375488
w26            0x73d2a30           121449008
w27            0xfefffd30          4278189360
w28            0xfefffd40          4278189376
w29            0xfefffca0          4278189216
w30            0x10c934            1100084
(gdb) 











































benutzer@debian:~$ cat fp-valgrind-test.c
/*
cat fp-valgrind-test.c
gcc -g -O0 fp-valgrind-test.c -o fp-valgrind-test -lm
./fp-valgrind-test
valgrind ./fp-valgrind-test
gdb -q --args ./fp-valgrind-test
disassemble main
q
*/

#include <stdio.h>
#include <math.h>

double __attribute__((optimize("O0"))) value()
{
  return 322.5;
}

int main()
{
  double a = value();
  int b = (int)round(a);
  printf("a=%f a=0x%llx b=%d\n", a, *(long long unsigned int*)&a, b);
}
benutzer@debian:~$ gcc -g -O0 fp-valgrind-test.c -o fp-valgrind-test -lm
benutzer@debian:~$ ./fp-valgrind-test
a=322.500000 a=0x4074280000000000 b=323
benutzer@debian:~$ valgrind ./fp-valgrind-test
==14306== Memcheck, a memory error detector
==14306== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==14306== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
==14306== Command: ./fp-valgrind-test
==14306== 
a=322.500000 a=0x4074280000000000 b=322
==14306== 
==14306== HEAP SUMMARY:
==14306==     in use at exit: 0 bytes in 0 blocks
==14306==   total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
==14306== 
==14306== All heap blocks were freed -- no leaks are possible
==14306== 
==14306== For lists of detected and suppressed errors, rerun with: -s
==14306== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
benutzer@debian:~$ gdb -q --args ./fp-valgrind-test
Reading symbols from ./fp-valgrind-test...
(gdb) disassemble main
Dump of assembler code for function main:
   0x00000000000007e4 <+0>:     stp     x29, x30, [sp, #-32]!
   0x00000000000007e8 <+4>:     mov     x29, sp
   0x00000000000007ec <+8>:     bl      0x7d4 <value>
   0x00000000000007f0 <+12>:    str     d0, [sp, #16]
   0x00000000000007f4 <+16>:    ldr     d0, [sp, #16]
   0x00000000000007f8 <+20>:    bl      0x6a0 <round@plt>
   0x00000000000007fc <+24>:    fcvtzs  w0, d0                                  
    <<<<<<<<< in valgrind $w0 is 322, without valgrind $w0 is 323
   0x0000000000000800 <+28>:    str     w0, [sp, #28]
   0x0000000000000804 <+32>:    ldr     d0, [sp, #16]
   0x0000000000000808 <+36>:    add     x0, sp, #0x10
   0x000000000000080c <+40>:    ldr     x0, [x0]
   0x0000000000000810 <+44>:    ldr     w2, [sp, #28]
   0x0000000000000814 <+48>:    mov     x1, x0
   0x0000000000000818 <+52>:    adrp    x0, 0x0
   0x000000000000081c <+56>:    add     x0, x0, #0x850
   0x0000000000000820 <+60>:    bl      0x6b0 <printf@plt>
   0x0000000000000824 <+64>:    mov     w0, #0x0                        // #0
   0x0000000000000828 <+68>:    ldp     x29, x30, [sp], #32
   0x000000000000082c <+72>:    ret
End of assembler dump.
(gdb) q
benutzer@debian:~$


Reply via email to