cristicbz/scid — Issue #75: Wrong Results for inv(A) * b:  Uninitialized Memory?
Author: dsimcha
Created: 2011-12-16 02:19:22+00:00
State: open

This bug is deterministic but chaotic. It can always be reproduced given the right setup, but changes that should be unrelated to the bug seem to matter. It only occurs on Linux and only in the context of a larger program (namely the Dstats unittests). When I try to make a small test case that involves solving this equation, I can't reproduce it. However, I do get a slightly different wrong result when using -version=nodeps on Windows. Therefore, I suspect uninitialized memory is the problem and I've included the blascalls and lapackcalls debug logs.

This bug occurs on solving x[] = inv(A) * b.
A is an ExternalMatrixView!double.
b, x are ExternalVactorView!double.

Inputs:

A = [[327.616, 55.5998, -118.906, -45.3402, 2.33528, 109.625, 40.9974, 15.9179, -72.3853, 52.6078, -188.754, -179.314], [55.5998, 103.71, -56.2419, 51.8065, 11.6762, 19.6774, 26.1033, 51.3159, -3.75256, -10.926, -133.994, -114.975], [-118.906, -56.2419, 504.146, 140.561, -76.3809, -10.2584, -86.048, 26.6753, 51.6317, -312.012, -177.207, 114.039], [-45.3402, 51.8065, 140.561, 283.036, -51.3146, -74.2512, -82.8251, 42.2725, -28.4206, -73.3362, -201.178, 38.99], [2.33528, 11.6762, -76.3809, -51.3146, 212.479, -100.902, -3.84623, 64.6843, 48.7549, 60.4541, 152.231, -320.171], [109.625, 19.6774, -10.2584, -74.2512, -100.902, 643.675, 214.879, -522.44, 58.957, -55.0013, -500.837, 216.876], [40.9974, 26.1033, -86.048, -82.8251, -3.84623, 214.879, 152.486, -151.53, -24.1521, 27.5949, -123.719, 10.0597], [15.9179, 51.3159, 26.6753, 42.2725, 64.6843, -522.44, -151.53, 617.59, -97.7087, -11.6856, 268.245, -303.337],
[-72.3853, -3.75256, 51.6317, -28.4206, 48.7549, 58.957, -24.1521, -97.7087, 129.545, -54.0812, 6.95619, -15.344], [52.6078, -10.926, -312.012, -73.3362, 60.4541, -55.0013, 27.5949, -11.6856, -54.0812, 234.038, 209.269, -66.9213], [-188.754, -133.994, -177.207, -201.178, 152.231, -500.837, -123.719, 268.245, 6.95619, 209.269, 877.57, -188.582], [-179.314, -114.975, 114.039, 38.99, -320.171, 216.876, 10.0597, -303.337, -15.344, -66.9213, -188.582, 808.679]]

b = [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956]

x (According to SciD) = [-0.0167084, 0.49826, 0.850159, -0.288635, -0.221405, -0.0344086, 0.0323181, 0.115952, 0.269913, 1.37724, -0.155899, -0.0319672]

x (Correct Answer) = [-0.39186, 0.12007, 0.49638, -0.65354, -0.58373, -0.41185, -0.36199, -0.26634, -0.08398, 1.02137, -0.56177, -0.40446]

SciD output from debug=blascalls and debug=lapackcalls:

scal( 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ) => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
scal( 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ) => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
axpy( 1, [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ) => [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956]

xgecopy( [[327.616, 55.5998, -118.906, -45.3402, 2.33528, 109.625, 40.9974, 15.9179, -72.3853, 52.6078, -188.754, -179.314], [55.5998, 103.71, -56.2419, 51.8065, 11.6762, 19.6774, 26.1033, 51.3159, -3.75256, -10.926, -133.994, -114.975], [-118.906, -56.2419, 504.146, 140.561, -76.3809, -10.2584, -86.048, 26.6753, 51.6317, -312.012, -177.207, 114.039], [-45.3402, 51.8065, 140.561, 283.036, -51.3146, -74.2512, -82.8251, 42.2725, -28.4206, -73.3362, -201.178, 38.99], [2.33528, 11.6762, -76.3809, -51.3146, 212.479, -100.902, -3.84623, 64.6843, 48.7549, 60.4541, 152.231, -320.171], [109.625, 19.6774, -10.2584, -74.2512, -100.902, 643.675, 214.879, -522.44, 58.957, -55.0013, -500.837, 216.876], [40.9974, 26.1033, -86.048, -82.8251, -3.84623, 214.879, 152.486, -151.53, -24.1521, 27.5949, -123.719, 10.0597], [15.9179, 51.3159, 26.6753, 42.2725, 64.6843, -522.44, -151.53, 617.59, -97.7087, -11.6856, 268.245, -303.337], [-72.3853, -3.75256, 51.6317, -28.4206, 48.7549, 58.957, -24.1521, -97.7087, 129.545, -54.0812, 6.95619, -15.344], [52.6078, -10.926, -312.012, -73.3362, 60.4541, -55.0013, 27.5949, -11.6856, -54.0812, 234.038, 209.269, -66.9213], [-188.754, -133.994, -177.207, -201.178, 152.231, -500.837, -123.719, 268.245, 6.95619, 209.269, 877.57, -188.582], [-179.314, -114.975, 114.039, 38.99, -320.171, 216.876, 10.0597, -303.337, -15.344, -66.9213, -188.582, 808.679]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]] ) => ...
copy( [327.616, 55.5998, -118.906, -45.3402, 2.33528, 109.625, 40.9974, 15.9179, -72.3853, 52.6078, -188.754, -179.314, 55.5998, 103.71, -56.2419, 51.8065, 11.6762, 19.6774, 26.1033, 51.3159, -3.75256, -10.926, -133.994, -114.975, -118.906, -56.2419, 504.146, 140.561, -76.3809, -10.2584, -86.048, 26.6753, 51.6317, -312.012, -177.207, 114.039, -45.3402, 51.8065, 140.561, 283.036, -51.3146, -74.2512, -82.8251, 42.2725, -28.4206, -73.3362, -201.178, 38.99, 2.33528, 11.6762, -76.3809, -51.3146, 212.479, -100.902, -3.84623, 64.6843, 48.7549, 60.4541, 152.231, -320.171, 109.625, 19.6774, -10.2584, -74.2512, -100.902, 643.675, 214.879, -522.44, 58.957, -55.0013, -500.837, 216.876, 40.9974, 26.1033, -86.048, -82.8251, -3.84623, 214.879, 152.486, -151.53, -24.1521, 27.5949, -123.719, 10.0597, 15.9179, 51.3159, 26.6753, 42.2725, 64.6843, -522.44, -151.53, 617.59, -97.7087, -11.6856, 268.245, -303.337, -72.3853, -3.75256, 51.6317, -28.4206, 48.7549, 58.957, -24.1521, -97.7087, 129.545, -54.0812, 6.95619, -15.344, 52.6078, -10.926, -312.012, -73.3362, 60.4541, -55.0013, 27.5949, -11.6856, -54.0812, 234.038, 209.269, -66.9213, -188.754, -133.994, -177.207, -201.178, 152.231, -500.837, -123.719, 268.245, 6.95619, 209.269, 877.57, -188.582, -179.314, -114.975, 114.039, 38.99, -320.171, 216.876, 10.0597, -303.337, -15.344, -66.9213, -188.582, 808.679], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ) => [327.616, 55.5998, -118.906, -45.3402, 2.33528, 109.625, 40.9974, 15.9179, -72.3853, 52.6078, -188.754, -179.314, 55.5998, 103.71, -56.2419, 51.8065, 11.6762, 19.6774, 26.1033, 51.3159, -3.75256, -10.926, -133.994, -114.975, -118.906, -56.2419, 504.146, 140.561, -76.3809, -10.2584, -86.048, 26.6753, 51.6317, -312.012, -177.207, 114.039, -45.3402, 51.8065, 140.561, 283.036, -51.3146, -74.2512, -82.8251, 42.2725, -28.4206, -73.3362, -201.178, 38.99, 2.33528, 11.6762, -76.3809, -51.3146, 212.479, -100.902, -3.84623, 64.6843, 48.7549, 60.4541, 152.231, -320.171, 109.625, 19.6774, -10.2584, -74.2512, -100.902, 643.675, 214.879, -522.44, 58.957, -55.0013, -500.837, 216.876, 40.9974, 26.1033, -86.048, -82.8251, -3.84623, 214.879, 152.486, -151.53, -24.1521, 27.5949, -123.719, 10.0597, 15.9179, 51.3159, 26.6753, 42.2725, 64.6843, -522.44, -151.53, 617.59, -97.7087, -11.6856, 268.245, -303.337, -72.3853, -3.75256, 51.6317, -28.4206, 48.7549, 58.957, -24.1521, -97.7087, 129.545, -54.0812, 6.95619, -15.344, 52.6078, -10.926, -312.012, -73.3362, 60.4541, -55.0013, 27.5949, -11.6856, -54.0812, 234.038, 209.269, -66.9213, -188.754, -133.994, -177.207, -201.178, 152.231, -500.837, -123.719, 268.245, 6.95619, 209.269, 877.57, -188.582, -179.314, -114.975, 114.039, 38.99, -320.171, 216.876, 10.0597, -303.337, -15.344, -66.9213, -188.582, 808.679]
/xgecopy()

getrf( [[327.616, 55.5998, -118.906, -45.3402, 2.33528, 109.625, 40.9974, 15.9179, -72.3853, 52.6078, -188.754, -179.314], [55.5998, 103.71, -56.2419, 51.8065, 11.6762, 19.6774, 26.1033, 51.3159, -3.75256, -10.926, -133.994, -114.975], [-118.906, -56.2419, 504.146, 140.561, -76.3809, -10.2584, -86.048, 26.6753, 51.6317, -312.012, -177.207, 114.039], [-45.3402, 51.8065, 140.561, 283.036, -51.3146, -74.2512, -82.8251, 42.2725, -28.4206, -73.3362, -201.178, 38.99], [2.33528, 11.6762, -76.3809, -51.3146, 212.479, -100.902, -3.84623, 64.6843, 48.7549, 60.4541, 152.231, -320.171], [109.625, 19.6774, -10.2584, -74.2512, -100.902, 643.675, 214.879, -522.44, 58.957, -55.0013, -500.837, 216.876], [40.9974, 26.1033, -86.048, -82.8251, -3.84623, 214.879, 152.486, -151.53, -24.1521, 27.5949, -123.719, 10.0597], [15.9179, 51.3159, 26.6753, 42.2725, 64.6843, -522.44, -151.53, 617.59, -97.7087, -11.6856, 268.245, -303.337], [-72.3853, -3.75256, 51.6317, -28.4206, 48.7549, 58.957, -24.1521, -97.7087, 129.545, -54.0812, 6.95619, -15.344], [52.6078, -10.926, -312.012, -73.3362, 60.4541, -55.0013, 27.5949, -11.6856, -54.0812, 234.038, 209.269, -66.9213], [-188.754, -133.994, -177.207, -201.178, 152.231, -500.837, -123.719, 268.245, 6.95619, 209.269, 877.57, -188.582], [-179.314, -114.975, 114.039, 38.99, -320.171, 216.876, 10.0597, -303.337, -15.344, -66.9213, -188.582, 808.679]] ) => [[327.616, -0.576143, -0.362942, -0.138394, -0.54733, 0.0485869, -0.220945, 0.16971, 0.125138, 0.00712808, 0.160577, 0.334614], [55.5998, -101.961, 0.353689, -0.583568, 0.829174, -0.476795, -0.0836786, -0.924615, -0.187774, -0.11063, 0.194722, -0.0105233], [-118.906, -245.713, 547.896, -0.0351992, 0.461215, -0.154596, 0.00875906, -0.480479, -0.214104, -0.187475, -0.447297, 0.0491762], [-45.3402, -227.3, 204.499, 151.314, 0.715913, -0.213369, -0.391568, -0.346345, -0.502587, -0.249807, 0.460476, -0.472713], [2.33528, 153.576, -129.852, 34.0602, -410.729, -0.304308, -0.186488, -0.250005, -0.0341237, -0.520092, 0.106133, 0.188885], [109.625, -437.678, 184.331, -308.006, 775.277, -537.748, -0.128153, 0.423797, -0.0559701, -0.391871, -0.28753, -0.560273], [40.9974, -100.099, -35.7645, -136.825, 229.948, -165.997, -55.1234, 0.183996, -0.919615, 0.0281619, -0.278938, -0.0136051], [15.9179, 277.416, -65.6663, 204.055, -640.45, 587.581, -34.6375, -58.5184, 0.576834, -0.547911, -0.609428, -0.419495], [-72.3853, -34.7481, 37.65, -57.391, -2.42815, -117.923, 72.2765, 10.6862, 11.2177, -0.490779, 0.0535495, -0.562771], [52.6078, 239.578, -377.654, 60.4616, -105.885, 22.2834, -12.3181, 7.50015, -2.49225, -12.2178, -0.0890212, -0.910979], [-188.754, 768.821, -517.637, 203.139, -836.066, 352.884, 2.96889, 71.4263, -11.7171, -70.9131, -6.33541, -1], [-179.314, -291.892, 152.198, -150.808, 990.334, -141.08, 26.8335, -31.0943, 2.99164, 83.1309, 6.33541, -1.41221e-13]]
getri( [[327.616, -0.576143, -0.362942, -0.138394, -0.54733, 0.0485869, -0.220945, 0.16971, 0.125138, 0.00712808, 0.160577, 0.334614], [55.5998, -101.961, 0.353689, -0.583568, 0.829174, -0.476795, -0.0836786, -0.924615, -0.187774, -0.11063, 0.194722, -0.0105233], [-118.906, -245.713, 547.896, -0.0351992, 0.461215, -0.154596, 0.00875906, -0.480479, -0.214104, -0.187475, -0.447297, 0.0491762], [-45.3402, -227.3, 204.499, 151.314, 0.715913, -0.213369, -0.391568, -0.346345, -0.502587, -0.249807, 0.460476, -0.472713], [2.33528, 153.576, -129.852, 34.0602, -410.729, -0.304308, -0.186488, -0.250005, -0.0341237, -0.520092, 0.106133, 0.188885], [109.625, -437.678, 184.331, -308.006, 775.277, -537.748, -0.128153, 0.423797, -0.0559701, -0.391871, -0.28753, -0.560273], [40.9974, -100.099, -35.7645, -136.825, 229.948, -165.997, -55.1234, 0.183996, -0.919615, 0.0281619, -0.278938, -0.0136051], [15.9179, 277.416, -65.6663, 204.055, -640.45, 587.581, -34.6375, -58.5184, 0.576834, -0.547911, -0.609428, -0.419495], [-72.3853, -34.7481, 37.65, -57.391, -2.42815, -117.923, 72.2765, 10.6862, 11.2177, -0.490779, 0.0535495, -0.562771], [52.6078, 239.578, -377.654, 60.4616, -105.885, 22.2834, -12.3181, 7.50015, -2.49225, -12.2178, -0.0890212, -0.910979], [-188.754, 768.821, -517.637, 203.139, -836.066, 352.884, 2.96889, 71.4263, -11.7171, -70.9131, -6.33541, -1], [-179.314, -291.892, 152.198, -150.808, 990.334, -141.08, 26.8335, -31.0943, 2.99164, 83.1309, 6.33541, -1.41221e-13]] ) => [[-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12]]
scal( 1, [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12] ) => [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12]
scal( 0, [2.3342e-313, 8.48798e-314, 1.6976e-313, 2.3342e-313, 2.54639e-313, 2.54639e-313, 12, -0.576143, -0.362942, -0.138394, -0.54733, 0.0485869] ) => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.0167084
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 0.49826
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 0.850159
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.288635
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.221405
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.0344086
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 0.0323181
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 0.115952
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 0.269913
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => 1.37724
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.155899
dot( [-7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12, -7.08111e+12], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => -0.0319672
copy( [-0.0167084, 0.49826, 0.850159, -0.288635, -0.221405, -0.0344086, 0.0323181, 0.115952, 0.269913, 1.37724, -0.155899, -0.0319672], [21.6863, 1.7867, 1.49071, 12.7707, -0.570996, -9.49028, -6.96226, 21.5802, -9.67548, 4.69897, -11.4189, -25.8956] ) => [-0.0167084, 0.49826, 0.850159, -0.288635, -0.221405, -0.0344086, 0.0323181, 0.115952, 0.269913, 1.37724, -0.155899, -0.0319672]