TOLERANCE = 1e-14;

assert(mag([0,0,0], [1,1,1]) == 0);
assert(mag([0,0,1], [1,1,1]) == 1);
assert(abs(mag([0,1,1], [1,1,1]) - 1.41421356237310) < TOLERANCE);
assert(abs(mag([1,1,1], [1,1,1]) - 1.73205080756888) < TOLERANCE);

TOL = 0.000001;

assert(isequalRel(mag([-7.154031202016e+03, -3.783176825037e+03, -3.536194122942e+03]), 8.831605641334e+03, TOL));
assert(isequalRel(mag([4.741887408996e+00, -4.151817765374e+00, -2.093935424907e+00]), 6.641359237396e+00, TOL));
assert(isequalRel(mag([-6.759905608809e+03, -3.174831375214e+04, 4.764163239121e+04]), 5.764873707935e+04, TOL));
assert(isequalRel(mag([3.174831375214e+04, -6.759905608809e+03, 0.000000000000e+00]), 3.246000230968e+04, TOL));
assert(isequalRel(mag([1.470332017858e-01, -1.028819629235e-01, -4.769774163569e-02]), 1.856839661347e-01, TOL));
assert(isequalRel(mag([3.174831375214e+04, -6.759905608809e+03, 0.000000000000e+00]), 3.246000230968e+04, TOL));
assert(isequalRel(mag([1.470332017858e-01, -1.028819629235e-01, -4.769774163569e-02]), 1.856839661347e-01, TOL));
assert(isequalRel(mag([1.470332017858e-01, -1.028819629235e-01, -4.769774163569e-02]), 1.856839661347e-01, TOL));
assert(isequalRel(mag([-7.154031202016e+03, -3.783176825037e+03, -3.536194122942e+03]), 8.831605641334e+03, TOL));
assert(isequalRel(mag([-7.134593401193e+03, 6.531686413336e+03, 3.260271864826e+03]), 1.020758164479e+04, TOL));
assert(isequalRel(mag([-4.113793027161e+00, -2.911922038623e+00, -2.557327850931e+00]), 5.651770409923e+00, TOL));
assert(isequalRel(mag([-7.210006083282e+03, -3.165757807411e+04, 4.764538578434e+04]), 5.765647599166e+04, TOL));
assert(isequalRel(mag([3.165757807411e+04, -7.210006083282e+03, 0.000000000000e+00]), 3.246823735960e+04, TOL));
assert(isequalRel(mag([1.477757725114e-01, -1.018994158828e-01, -4.534383465850e-02]), 1.851411170975e-01, TOL));
assert(isequalRel(mag([3.165757807411e+04, -7.210006083282e+03, 0.000000000000e+00]), 3.246823735960e+04, TOL));
assert(isequalRel(mag([1.477757725114e-01, -1.018994158828e-01, -4.534383465850e-02]), 1.851411170975e-01, TOL));
assert(isequalRel(mag([1.477757725114e-01, -1.018994158828e-01, -4.534383465850e-02]), 1.851411170975e-01, TOL));
assert(isequalRel(mag([-7.134593401193e+03, 6.531686413336e+03, 3.260271864826e+03]), 1.020758164479e+04, TOL));
assert(isequalRel(mag([5.568539011812e+03, 4.492069925906e+03, 3.863876419829e+03]), 8.131227455496e+03, TOL));
assert(isequalRel(mag([-4.209106475593e+00, 5.159719888480e+00, 2.744852979555e+00]), 7.202326327640e+00, TOL));
assert(isequalRel(mag([-7.606448489529e+03, -3.154828815793e+04, 4.763970210297e+04]), 5.764281187433e+04, TOL));
assert(isequalRel(mag([3.154828815793e+04, -7.606448489529e+03, 0.000000000000e+00]), 3.245231184862e+04, TOL));
assert(isequalRel(mag([1.490913922398e-01, -1.017648402534e-01, -4.358655528256e-02]), 1.856989869471e-01, TOL));
assert(isequalRel(mag([3.154828815793e+04, -7.606448489529e+03, 0.000000000000e+00]), 3.245231184862e+04, TOL));
assert(isequalRel(mag([1.490913922398e-01, -1.017648402534e-01, -4.358655528256e-02]), 1.856989869471e-01, TOL));
assert(isequalRel(mag([1.490913922398e-01, -1.017648402534e-01, -4.358655528256e-02]), 1.856989869471e-01, TOL));
assert(isequalRel(mag([5.568539011812e+03, 4.492069925906e+03, 3.863876419829e+03]), 8.131227455496e+03, TOL));
assert(isequalRel(mag([-9.385592394293e+02, -6.268187488314e+03, -4.294029247512e+03]), 7.655700817891e+03, TOL));
assert(isequalRel(mag([7.536105209256e+00, -4.271277071235e-01, 9.898780795592e-01]), 7.612829855945e+00, TOL));
assert(isequalRel(mag([-8.038840260060e+03, -3.143119696339e+04, 4.763860503921e+04]), 5.763661844141e+04, TOL));
assert(isequalRel(mag([3.143119696339e+04, -8.038840260060e+03, 0.000000000000e+00]), 3.244292057257e+04, TOL));
assert(isequalRel(mag([1.496038320603e-01, -1.018779782354e-01, -4.197237703074e-02]), 1.858012633167e-01, TOL));
assert(isequalRel(mag([3.143119696339e+04, -8.038840260060e+03, 0.000000000000e+00]), 3.244292057257e+04, TOL));
assert(isequalRel(mag([1.496038320603e-01, -1.018779782354e-01, -4.197237703074e-02]), 1.858012633167e-01, TOL));
assert(isequalRel(mag([1.496038320603e-01, -1.018779782354e-01, -4.197237703074e-02]), 1.858012633167e-01, TOL));
assert(isequalRel(mag([-9.385592394293e+02, -6.268187488314e+03, -4.294029247512e+03]), 7.655700817891e+03, TOL));
assert(isequalRel(mag([-9.680561217281e+03, 2.802477713539e+03, 1.241068803824e+02]), 1.007881686182e+04, TOL));
assert(isequalRel(mag([-9.058741021590e-01, -4.659467969920e+00, -3.227347516713e+00]), 5.739949620450e+00, TOL));
assert(isequalRel(mag([-8.466297455444e+03, -3.135496041382e+04, 4.764495690534e+04]), 5.766154397575e+04, TOL));
assert(isequalRel(mag([3.135496041382e+04, -8.466297455444e+03, 0.000000000000e+00]), 3.247786531095e+04, TOL));
assert(isequalRel(mag([1.496651358184e-01, -1.012274726151e-01, -4.002257451669e-02]), 1.850633960634e-01, TOL));
assert(isequalRel(mag([3.135496041382e+04, -8.466297455444e+03, 0.000000000000e+00]), 3.247786531095e+04, TOL));
assert(isequalRel(mag([1.496651358184e-01, -1.012274726151e-01, -4.002257451669e-02]), 1.850633960634e-01, TOL));
assert(isequalRel(mag([1.496651358184e-01, -1.012274726151e-01, -4.002257451669e-02]), 1.850633960634e-01, TOL));
assert(isequalRel(mag([-9.680561217281e+03, 2.802477713539e+03, 1.241068803824e+02]), 1.007881686182e+04, TOL));
assert(isequalRel(mag([1.901979698785e+02, 7.746966536135e+03, 5.110006754119e+03]), 9.282447673264e+03, TOL));
assert(isequalRel(mag([-6.112325142014e+00, 1.527008183520e+00, -1.391523578826e-01]), 6.301716909933e+00, TOL));
assert(isequalRel(mag([-8.881030791325e+03, -3.120755626309e+04, 4.764241218965e+04]), 5.764185731809e+04, TOL));
assert(isequalRel(mag([3.120755626309e+04, -8.881030791325e+03, 0.000000000000e+00]), 3.244663735782e+04, TOL));
assert(isequalRel(mag([1.511297840938e-01, -1.009109357845e-01, -3.792829449608e-02]), 1.856388540272e-01, TOL));
assert(isequalRel(mag([3.120755626309e+04, -8.881030791325e+03, 0.000000000000e+00]), 3.244663735782e+04, TOL));
assert(isequalRel(mag([1.511297840938e-01, -1.009109357845e-01, -3.792829449608e-02]), 1.856388540272e-01, TOL));
assert(isequalRel(mag([1.511297840938e-01, -1.009109357845e-01, -3.792829449608e-02]), 1.856388540272e-01, TOL));
assert(isequalRel(mag([1.901979698785e+02, 7.746966536135e+03, 5.110006754119e+03]), 9.282447673264e+03, TOL));
assert(isequalRel(mag([5.579556401157e+03, -3.995613967894e+03, -1.518821089660e+03]), 7.028740862809e+03, TOL));
assert(isequalRel(mag([4.767927482844e+00, 5.123185300954e+00, 4.276837354502e+00]), 8.201920376743e+00, TOL));
assert(isequalRel(mag([-9.307389190732e+03, -3.110448405293e+04, 4.763589898861e+04]), 5.764802940431e+04, TOL));
assert(isequalRel(mag([3.110448405293e+04, -9.307389190732e+03, 0.000000000000e+00]), 3.246715912652e+04, TOL));
assert(isequalRel(mag([1.521806609393e-01, -1.012019008332e-01, -3.634713123269e-02]), 1.863381127011e-01, TOL));
assert(isequalRel(mag([3.110448405293e+04, -9.307389190732e+03, 0.000000000000e+00]), 3.246715912652e+04, TOL));
assert(isequalRel(mag([1.521806609393e-01, -1.012019008332e-01, -3.634713123269e-02]), 1.863381127011e-01, TOL));
assert(isequalRel(mag([1.521806609393e-01, -1.012019008332e-01, -3.634713123269e-02]), 1.863381127011e-01, TOL));
assert(isequalRel(mag([5.579556401157e+03, -3.995613967894e+03, -1.518821089660e+03]), 7.028740862809e+03, TOL));
assert(isequalRel(mag([-8.650730822189e+03, -1.914938115252e+03, -3.007036034428e+03]), 9.356516309801e+03, TOL));
assert(isequalRel(mag([3.067165126543e+00, -4.828384068444e+00, -2.515322835722e+00]), 6.248811374476e+00, TOL));
assert(isequalRel(mag([-9.702437311581e+03, -3.098245684179e+04, 4.764248228884e+04]), 5.765289273212e+04, TOL));
assert(isequalRel(mag([3.098245684179e+04, -9.702437311581e+03, 0.000000000000e+00]), 3.246613499847e+04, TOL));
assert(isequalRel(mag([1.519464629973e-01, -1.007113912914e-01, -3.454973845057e-02]), 1.855375875133e-01, TOL));
assert(isequalRel(mag([3.098245684179e+04, -9.702437311581e+03, 0.000000000000e+00]), 3.246613499847e+04, TOL));
assert(isequalRel(mag([1.519464629973e-01, -1.007113912914e-01, -3.454973845057e-02]), 1.855375875133e-01, TOL));
assert(isequalRel(mag([1.519464629973e-01, -1.007113912914e-01, -3.454973845057e-02]), 1.855375875133e-01, TOL));
assert(isequalRel(mag([-8.650730822189e+03, -1.914938115252e+03, -3.007036034428e+03]), 9.356516309801e+03, TOL));
assert(isequalRel(mag([-5.429792041645e+03, 7.574364937924e+03, 3.747393052359e+03]), 1.004472998727e+04, TOL));
assert(isequalRel(mag([-4.999442109604e+00, -1.800561422305e+00, -2.229392830241e+00]), 5.762519868452e+00, TOL));
assert(isequalRel(mag([-1.013882352195e+04, -3.084001407454e+04, 4.764427310549e+04]), 5.765309159341e+04, TOL));
assert(isequalRel(mag([3.084001407454e+04, -1.013882352195e+04, 0.000000000000e+00]), 3.246386006819e+04, TOL));
assert(isequalRel(mag([1.528523552560e-01, -9.977878002889e-02, -3.205917156497e-02]), 1.853306179043e-01, TOL));
assert(isequalRel(mag([3.084001407454e+04, -1.013882352195e+04, 0.000000000000e+00]), 3.246386006819e+04, TOL));
assert(isequalRel(mag([1.528523552560e-01, -9.977878002889e-02, -3.205917156497e-02]), 1.853306179043e-01, TOL));
assert(isequalRel(mag([1.528523552560e-01, -9.977878002889e-02, -3.205917156497e-02]), 1.853306179043e-01, TOL));
assert(isequalRel(mag([-5.429792041645e+03, 7.574364937924e+03, 3.747393052359e+03]), 1.004472998727e+04, TOL));
assert(isequalRel(mag([6.759045837218e+03, 2.001581982197e+03, 2.783551925329e+03]), 7.578864847856e+03, TOL));
assert(isequalRel(mag([-2.180993947177e+00, 6.402085603047e+00, 3.644723951605e+00]), 7.682932210411e+00, TOL));
assert(isequalRel(mag([-1.052532391487e+04, -3.070576615370e+04, 4.763742823274e+04]), 5.764504390863e+04, TOL));
assert(isequalRel(mag([3.070576615370e+04, -1.052532391487e+04, 0.000000000000e+00]), 3.245961365449e+04, TOL));
assert(isequalRel(mag([1.540635448346e-01, -9.968762860258e-02, -3.021607909642e-02]), 1.859736824913e-01, TOL));
assert(isequalRel(mag([3.070576615370e+04, -1.052532391487e+04, 0.000000000000e+00]), 3.245961365449e+04, TOL));
assert(isequalRel(mag([1.540635448346e-01, -9.968762860258e-02, -3.021607909642e-02]), 1.859736824913e-01, TOL));
assert(isequalRel(mag([1.540635448346e-01, -9.968762860258e-02, -3.021607909642e-02]), 1.859736824913e-01, TOL));
assert(isequalRel(mag([6.759045837218e+03, 2.001581982197e+03, 2.783551925329e+03]), 7.578864847856e+03, TOL));
assert(isequalRel(mag([-3.791445315589e+03, -5.712956178939e+03, -4.533486307144e+03]), 8.219818974931e+03, TOL));
assert(isequalRel(mag([6.668817492548e+00, -2.516382326527e+00, -8.238435374721e-02]), 7.128260232617e+00, TOL));
assert(isequalRel(mag([-1.093732661806e+04, -3.054534855940e+04, 4.763938808441e+04]), 5.763813606652e+04, TOL));
assert(isequalRel(mag([3.054534855940e+04, -1.093732661806e+04, 0.000000000000e+00]), 3.244446689599e+04, TOL));
assert(isequalRel(mag([1.541937335332e-01, -9.975199109290e-02, -2.855813573644e-02]), 1.858540672265e-01, TOL));
assert(isequalRel(mag([3.054534855940e+04, -1.093732661806e+04, 0.000000000000e+00]), 3.244446689599e+04, TOL));
assert(isequalRel(mag([1.541937335332e-01, -9.975199109290e-02, -2.855813573644e-02]), 1.858540672265e-01, TOL));
assert(isequalRel(mag([1.541937335332e-01, -9.975199109290e-02, -2.855813573644e-02]), 1.858540672265e-01, TOL));
assert(isequalRel(mag([-3.791445315589e+03, -5.712956178939e+03, -4.533486307144e+03]), 8.219818974931e+03, TOL));
assert(isequalRel(mag([-9.060473735694e+03, 4.658709525023e+03, 8.136867315342e+02]), 1.022046206640e+04, TOL));
assert(isequalRel(mag([-2.232832782743e+00, -4.110453489937e+00, -3.157345433457e+00]), 5.643598170919e+00, TOL));
assert(isequalRel(mag([-1.136453377928e+04, -3.042387178341e+04, 4.764477524011e+04]), 5.766098516323e+04, TOL));
assert(isequalRel(mag([3.042387178341e+04, -1.136453377928e+04, 0.000000000000e+00]), 3.247713968800e+04, TOL));
assert(isequalRel(mag([1.541902876953e-01, -9.891158179440e-02, -2.638216977878e-02]), 1.850788067685e-01, TOL));
assert(isequalRel(mag([3.042387178341e+04, -1.136453377928e+04, 0.000000000000e+00]), 3.247713968800e+04, TOL));
assert(isequalRel(mag([1.541902876953e-01, -9.891158179440e-02, -2.638216977878e-02]), 1.850788067685e-01, TOL));
assert(isequalRel(mag([1.541902876953e-01, -9.891158179440e-02, -2.638216977878e-02]), 1.850788067685e-01, TOL));
assert(isequalRel(mag([-9.060473735694e+03, 4.658709525023e+03, 8.136867315342e+02]), 1.022046206640e+04, TOL));
# 4632
assert(isequalRel(mag([-2.902002587128e+04, 1.381984419063e+04, -5.713336791827e+03]), 3.264647319880e+04, TOL));
assert(isequalRel(mag([-1.768068389990e+00, -3.235371192013e+00, -3.952061354973e-01]), 3.708083126270e+00, TOL));
assert(isequalRel(mag([-2.394645248230e+04, -1.367322093623e+03, 1.183249853634e+05]), 1.207315382055e+05, TOL));
assert(isequalRel(mag([1.367322093623e+03, -2.394645248230e+04, 0.000000000000e+00]), 2.398545718127e+04, TOL));
assert(isequalRel(mag([-7.286158373818e-02, 1.252774706993e-01, -1.329796741084e-02]), 1.455338138953e-01, TOL));
assert(isequalRel(mag([1.367322093623e+03, -2.394645248230e+04, 0.000000000000e+00]), 2.398545718127e+04, TOL));
assert(isequalRel(mag([-7.286158373818e-02, 1.252774706993e-01, -1.329796741084e-02]), 1.455338138953e-01, TOL));
assert(isequalRel(mag([-7.286158373818e-02, 1.252774706993e-01, -1.329796741084e-02]), 1.455338138953e-01, TOL));
assert(isequalRel(mag([-2.902002587128e+04, 1.381984419063e+04, -5.713336791827e+03]), 3.264647319880e+04, TOL));
assert(isequalRel(mag([-3.298256870101e+04, -1.112554996609e+04, -6.803284727715e+03]), 3.546706053864e+04, TOL));
assert(isequalRel(mag([6.174469956131e-01, -3.379240040601e+00, 8.595470665877e-02]), 3.436261377717e+00, TOL));
assert(isequalRel(mag([-2.394622554326e+04, -1.365660697880e+03, 1.183254541974e+05]), 1.207319338781e+05, TOL));
assert(isequalRel(mag([1.365660697880e+03, -2.394622554326e+04, 0.000000000000e+00]), 2.398513595772e+04, TOL));
assert(isequalRel(mag([-7.289133750054e-02, 1.252324854180e-01, -1.330607463274e-02]), 1.455107353728e-01, TOL));
assert(isequalRel(mag([1.365660697880e+03, -2.394622554326e+04, 0.000000000000e+00]), 2.398513595772e+04, TOL));
assert(isequalRel(mag([-7.289133750054e-02, 1.252324854180e-01, -1.330607463274e-02]), 1.455107353728e-01, TOL));
assert(isequalRel(mag([-7.289133750054e-02, 1.252324854180e-01, -1.330607463274e-02]), 1.455107353728e-01, TOL));
assert(isequalRel(mag([-3.298256870101e+04, -1.112554996609e+04, -6.803284727715e+03]), 3.546706053864e+04, TOL));
assert(isequalRel(mag([-2.209768730513e+04, -3.158313829284e+04, -4.836343293282e+03]), 3.884832847254e+04, TOL));
assert(isequalRel(mag([2.230597499085e+00, -2.166594666868e+00, 4.264430696850e-01]), 3.138718105391e+00, TOL));
assert(isequalRel(mag([-2.394680603025e+04, -1.364529647374e+03, 1.183260007547e+05]), 1.207325718885e+05, TOL));
assert(isequalRel(mag([1.364529647374e+03, -2.394680603025e+04, 0.000000000000e+00]), 2.398565113165e+04, TOL));
assert(isequalRel(mag([-7.288220360952e-02, 1.252052221000e-01, -1.330603371441e-02]), 1.454826923634e-01, TOL));
assert(isequalRel(mag([1.364529647374e+03, -2.394680603025e+04, 0.000000000000e+00]), 2.398565113165e+04, TOL));
assert(isequalRel(mag([-7.288220360952e-02, 1.252052221000e-01, -1.330603371441e-02]), 1.454826923634e-01, TOL));
assert(isequalRel(mag([-7.288220360952e-02, 1.252052221000e-01, -1.330603371441e-02]), 1.454826923634e-01, TOL));
assert(isequalRel(mag([-2.209768730513e+04, -3.158313829284e+04, -4.836343293282e+03]), 3.884832847254e+04, TOL));
assert(isequalRel(mag([-1.512994694545e+04, -3.690774526221e+04, -3.487562567009e+03]), 4.004072985813e+04, TOL));
assert(isequalRel(mag([2.581167186918e+00, -1.524204736894e+00, 5.048057626261e-01]), 3.039811340326e+00, TOL));
assert(isequalRel(mag([-2.394700187875e+04, -1.364297654000e+03, 1.183261978172e+05]), 1.207328012470e+05, TOL));
assert(isequalRel(mag([1.364297654000e+03, -2.394700187875e+04, 0.000000000000e+00]), 2.398583346623e+04, TOL));
assert(isequalRel(mag([-7.287478730715e-02, 1.251972760380e-01, -1.330496836385e-02]), 1.454720410785e-01, TOL));
assert(isequalRel(mag([1.364297654000e+03, -2.394700187875e+04, 0.000000000000e+00]), 2.398583346623e+04, TOL));
assert(isequalRel(mag([-7.287478730715e-02, 1.251972760380e-01, -1.330496836385e-02]), 1.454720410785e-01, TOL));
assert(isequalRel(mag([-7.287478730715e-02, 1.251972760380e-01, -1.330496836385e-02]), 1.454720410785e-01, TOL));
assert(isequalRel(mag([-1.512994694545e+04, -3.690774526221e+04, -3.487562567009e+03]), 4.004072985813e+04, TOL));
# 6251
assert(isequalRel(mag([-3.935698000834e+03, 4.091098083655e+02, 5.471335773274e+03]), 6.752229611986e+03, TOL));
assert(isequalRel(mag([-3.374784182643e+00, -6.635211043490e+00, -1.942056221260e+00]), 7.693294238336e+00, TOL));
assert(isequalRel(mag([3.550895329696e+04, -2.610792421310e+04, 2.749484414921e+04]), 5.194685674564e+04, TOL));
assert(isequalRel(mag([2.610792421310e+04, 3.550895329696e+04, 0.000000000000e+00]), 4.407390918630e+04, TOL));
assert(isequalRel(mag([-2.015502384249e-03, -8.077256286917e-04, 1.835992968696e-03]), 2.843508525266e-03, TOL));
assert(isequalRel(mag([2.610792421310e+04, 3.550895329696e+04, 0.000000000000e+00]), 4.407390918630e+04, TOL));
assert(isequalRel(mag([-2.015502384249e-03, -8.077256286917e-04, 1.835992968696e-03]), 2.843508525266e-03, TOL));
assert(isequalRel(mag([-2.015502384249e-03, -8.077256286917e-04, 1.835992968696e-03]), 2.843508525266e-03, TOL));
assert(isequalRel(mag([-3.935698000834e+03, 4.091098083655e+02, 5.471335773274e+03]), 6.752229611986e+03, TOL));
assert(isequalRel(mag([-1.675127669149e+03, -5.683304323518e+03, -3.286215109367e+03]), 6.775338403851e+03, TOL));
assert(isequalRel(mag([5.282496924661e+00, 1.508674258574e+00, -5.354872977678e+00]), 7.671736204054e+00, TOL));
assert(isequalRel(mag([3.539120088956e+04, -2.632951709870e+04, 2.749481561663e+04]), 5.197831717984e+04, TOL));
assert(isequalRel(mag([2.632951709870e+04, 3.539120088956e+04, 0.000000000000e+00]), 4.411100283440e+04, TOL));
assert(isequalRel(mag([-2.410778864960e-03, -1.007929928336e-03, 2.137932170463e-03]), 3.376171121503e-03, TOL));
assert(isequalRel(mag([2.632951709870e+04, 3.539120088956e+04, 0.000000000000e+00]), 4.411100283440e+04, TOL));
assert(isequalRel(mag([-2.410778864960e-03, -1.007929928336e-03, 2.137932170463e-03]), 3.376171121503e-03, TOL));
assert(isequalRel(mag([-2.410778864960e-03, -1.007929928336e-03, 2.137932170463e-03]), 3.376171121503e-03, TOL));
assert(isequalRel(mag([-1.675127669149e+03, -5.683304323518e+03, -3.286215109367e+03]), 6.775338403851e+03, TOL));
assert(isequalRel(mag([4.993626428356e+03, 2.890549699000e+03, -3.600401456269e+03]), 6.801064116348e+03, TOL));
assert(isequalRel(mag([3.473334286680e-01, 5.707031557193e+00, 5.070699637640e+00]), 7.642175378819e+00, TOL));
assert(isequalRel(mag([3.520471404079e+04, -2.657171950316e+04, 2.749479907377e+04]), 5.197491841413e+04, TOL));
assert(isequalRel(mag([2.657171950316e+04, 3.520471404079e+04, 0.000000000000e+00]), 4.410700815119e+04, TOL));
assert(isequalRel(mag([-2.554594279147e-03, -1.124512662307e-03, 2.184177665233e-03]), 3.544166013612e-03, TOL));
assert(isequalRel(mag([2.657171950316e+04, 3.520471404079e+04, 0.000000000000e+00]), 4.410700815119e+04, TOL));
assert(isequalRel(mag([-2.554594279147e-03, -1.124512662307e-03, 2.184177665233e-03]), 3.544166013612e-03, TOL));
assert(isequalRel(mag([-2.554594279147e-03, -1.124512662307e-03, 2.184177665233e-03]), 3.544166013612e-03, TOL));
assert(isequalRel(mag([4.993626428356e+03, 2.890549699000e+03, -3.600401456269e+03]), 6.801064116348e+03, TOL));
assert(isequalRel(mag([-1.115079595139e+03, 4.015116914910e+03, 5.326997277178e+03]), 6.763243773142e+03, TOL));
assert(isequalRel(mag([-5.524279443196e+00, -4.765738774072e+00, 2.402255961201e+00]), 7.681195423392e+00, TOL));
assert(isequalRel(mag([3.503241601698e+04, -2.674911494764e+04, 2.749480589780e+04]), 5.194949156465e+04, TOL));
assert(isequalRel(mag([2.674911494764e+04, 3.503241601698e+04, 0.000000000000e+00]), 4.407703849476e+04, TOL));
assert(isequalRel(mag([-2.649762028715e-03, -1.480784274042e-03, 1.935561835743e-03]), 3.600050068409e-03, TOL));
assert(isequalRel(mag([2.674911494764e+04, 3.503241601698e+04, 0.000000000000e+00]), 4.407703849476e+04, TOL));
assert(isequalRel(mag([-2.649762028715e-03, -1.480784274042e-03, 1.935561835743e-03]), 3.600050068409e-03, TOL));
assert(isequalRel(mag([-2.649762028715e-03, -1.480784274042e-03, 1.935561835743e-03]), 3.600050068409e-03, TOL));
assert(isequalRel(mag([-1.115079595139e+03, 4.015116914910e+03, 5.326997277178e+03]), 6.763243773142e+03, TOL));
assert(isequalRel(mag([-4.329100081975e+03, -5.176702879352e+03, 4.096531385745e+02]), 6.760708240620e+03, TOL));
assert(isequalRel(mag([2.858408303241e+00, -2.933091792054e+00, -6.509690396536e+00]), 7.690877358755e+00, TOL));
assert(isequalRel(mag([3.490028327778e+04, -2.701014529653e+04, 2.749477841117e+04]), 5.199558213626e+04, TOL));
assert(isequalRel(mag([2.701014529653e+04, 3.490028327778e+04, 0.000000000000e+00]), 4.413136890930e+04, TOL));
assert(isequalRel(mag([-3.099949914297e-03, -1.433261101010e-03, 2.526899418164e-03]), 4.248428830090e-03, TOL));
assert(isequalRel(mag([2.701014529653e+04, 3.490028327778e+04, 0.000000000000e+00]), 4.413136890930e+04, TOL));
assert(isequalRel(mag([-3.099949914297e-03, -1.433261101010e-03, 2.526899418164e-03]), 4.248428830090e-03, TOL));
assert(isequalRel(mag([-3.099949914297e-03, -1.433261101010e-03, 2.526899418164e-03]), 4.248428830090e-03, TOL));
assert(isequalRel(mag([-4.329100081975e+03, -5.176702879352e+03, 4.096531385745e+02]), 6.760708240620e+03, TOL));
assert(isequalRel(mag([3.692600300280e+03, -9.762426525530e+02, -5.623364474929e+03]), 6.797836031575e+03, TOL));
assert(isequalRel(mag([3.897257243214e+00, 6.415554948136e+00, 1.429112189770e+00]), 7.641355963655e+00, TOL));
assert(isequalRel(mag([3.468184350736e+04, -2.719283803223e+04, 2.749474887675e+04]), 5.194460438883e+04, TOL));
assert(isequalRel(mag([2.719283803223e+04, 3.468184350736e+04, 0.000000000000e+00]), 4.407131390504e+04, TOL));
assert(isequalRel(mag([-3.173594198433e-03, -8.693834586689e-04, 3.143330901252e-03]), 4.550610606204e-03, TOL));
assert(isequalRel(mag([2.719283803223e+04, 3.468184350736e+04, 0.000000000000e+00]), 4.407131390504e+04, TOL));
assert(isequalRel(mag([-3.173594198433e-03, -8.693834586689e-04, 3.143330901252e-03]), 4.550610606204e-03, TOL));
assert(isequalRel(mag([-3.173594198433e-03, -8.693834586689e-04, 3.143330901252e-03]), 4.550610606204e-03, TOL));
assert(isequalRel(mag([3.692600300280e+03, -9.762426525530e+02, -5.623364474929e+03]), 6.797836031575e+03, TOL));
assert(isequalRel(mag([2.301835100373e+03, 5.723923945532e+03, 2.814615145803e+03]), 6.781136230937e+03, TOL));
assert(isequalRel(mag([-5.110924966238e+00, -7.645105585249e-01, 5.662120144737e+00]), 7.665874701432e+00, TOL));
assert(isequalRel(mag([3.456134807609e+04, -2.741855371072e+04, 2.749476855985e+04]), 5.198294111133e+04, TOL));
assert(isequalRel(mag([2.741855371072e+04, 3.456134807609e+04, 0.000000000000e+00]), 4.411648068947e+04, TOL));
assert(isequalRel(mag([-2.700815536461e-03, -6.083291614930e-04, 2.788323891138e-03]), 3.929277166681e-03, TOL));
assert(isequalRel(mag([2.741855371072e+04, 3.456134807609e+04, 0.000000000000e+00]), 4.411648068947e+04, TOL));
assert(isequalRel(mag([-2.700815536461e-03, -6.083291614930e-04, 2.788323891138e-03]), 3.929277166681e-03, TOL));
assert(isequalRel(mag([-2.700815536461e-03, -6.083291614930e-04, 2.788323891138e-03]), 3.929277166681e-03, TOL));
assert(isequalRel(mag([2.301835100373e+03, 5.723923945532e+03, 2.814615145803e+03]), 6.781136230937e+03, TOL));
assert(isequalRel(mag([-4.990916379503e+03, -2.303425478800e+03, 3.920863355985e+03]), 6.751902302305e+03, TOL));
assert(isequalRel(mag([-9.934393720412e-01, -5.967458359673e+00, -4.759110855938e+00]), 7.697182419526e+00, TOL));
assert(isequalRel(mag([3.435984601281e+04, -2.764746435300e+04, 2.749477211009e+04]), 5.197060512020e+04, TOL));
assert(isequalRel(mag([2.764746435300e+04, 3.435984601281e+04, 0.000000000000e+00]), 4.410194217009e+04, TOL));
assert(isequalRel(mag([-2.536651343318e-03, -5.633694719509e-04, 2.603520838967e-03]), 3.678356420796e-03, TOL));
assert(isequalRel(mag([2.764746435300e+04, 3.435984601281e+04, 0.000000000000e+00]), 4.410194217009e+04, TOL));
assert(isequalRel(mag([-2.536651343318e-03, -5.633694719509e-04, 2.603520838967e-03]), 3.678356420796e-03, TOL));
assert(isequalRel(mag([-2.536651343318e-03, -5.633694719509e-04, 2.603520838967e-03]), 3.678356420796e-03, TOL));
assert(isequalRel(mag([-4.990916379503e+03, -2.303425478800e+03, 3.920863355985e+03]), 6.751902302305e+03, TOL));
assert(isequalRel(mag([6.422776997684e+02, -4.332898219009e+03, -5.183315239096e+03]), 6.786257030776e+03, TOL));
assert(isequalRel(mag([5.720542578711e+00, 4.216573837773e+00, -2.846576139177e+00]), 7.655527286893e+00, TOL));
assert(isequalRel(mag([3.418975611381e+04, -2.782308314924e+04, 2.749474009649e+04]), 5.195213289197e+04, TOL));
assert(isequalRel(mag([2.782308314924e+04, 3.418975611381e+04, 0.000000000000e+00]), 4.408019259318e+04, TOL));
assert(isequalRel(mag([-2.488746470506e-03, -2.750790915316e-04, 2.816396377913e-03]), 3.768503158891e-03, TOL));
assert(isequalRel(mag([2.782308314924e+04, 3.418975611381e+04, 0.000000000000e+00]), 4.408019259318e+04, TOL));
assert(isequalRel(mag([-2.488746470506e-03, -2.750790915316e-04, 2.816396377913e-03]), 3.768503158891e-03, TOL));
assert(isequalRel(mag([-2.488746470506e-03, -2.750790915316e-04, 2.816396377913e-03]), 3.768503158891e-03, TOL));
assert(isequalRel(mag([6.422776997684e+02, -4.332898219009e+03, -5.183315239096e+03]), 6.786257030776e+03, TOL));
assert(isequalRel(mag([4.719783357520e+03, 4.798069389959e+03, -9.435885106242e+02]), 6.796188938675e+03, TOL));
assert(isequalRel(mag([-2.294860662107e+00, 3.492499388528e+00, 6.408334723214e+00]), 7.650535364411e+00, TOL));
assert(isequalRel(mag([3.404311697244e+04, -2.808054742180e+04, 2.749474118720e+04]), 5.199434343906e+04, TOL));
assert(isequalRel(mag([2.808054742180e+04, 3.404311697244e+04, 0.000000000000e+00]), 4.412993266148e+04, TOL));
assert(isequalRel(mag([-2.115227322536e-03, -3.845387045003e-04, 2.226275687427e-03]), 3.094892579346e-03, TOL));
assert(isequalRel(mag([2.808054742180e+04, 3.404311697244e+04, 0.000000000000e+00]), 4.412993266148e+04, TOL));
assert(isequalRel(mag([-2.115227322536e-03, -3.845387045003e-04, 2.226275687427e-03]), 3.094892579346e-03, TOL));
assert(isequalRel(mag([-2.115227322536e-03, -3.845387045003e-04, 2.226275687427e-03]), 3.094892579346e-03, TOL));
assert(isequalRel(mag([4.719783357520e+03, 4.798069389959e+03, -9.435885106242e+02]), 6.796188938675e+03, TOL));
assert(isequalRel(mag([-3.299169936023e+03, 1.576831683195e+03, 5.678678406385e+03]), 6.754132725008e+03, TOL));
assert(isequalRel(mag([-4.460347074024e+00, -6.202025195790e+00, -8.858745862876e-01]), 7.690551757358e+00, TOL));
assert(isequalRel(mag([3.382243144019e+04, -2.825152741641e+04, 2.749475165278e+04]), 5.194292096460e+04, TOL));
assert(isequalRel(mag([2.825152741641e+04, 3.382243144019e+04, 0.000000000000e+00]), 4.406932799450e+04, TOL));
assert(isequalRel(mag([-2.125814221434e-03, -9.640136813773e-04, 1.624504464483e-03]), 2.843839523788e-03, TOL));
assert(isequalRel(mag([2.825152741641e+04, 3.382243144019e+04, 0.000000000000e+00]), 4.406932799450e+04, TOL));
assert(isequalRel(mag([-2.125814221434e-03, -9.640136813773e-04, 1.624504464483e-03]), 2.843839523788e-03, TOL));
assert(isequalRel(mag([-2.125814221434e-03, -9.640136813773e-04, 1.624504464483e-03]), 2.843839523788e-03, TOL));
assert(isequalRel(mag([-3.299169936023e+03, 1.576831683195e+03, 5.678678406385e+03]), 6.754132725008e+03, TOL));
assert(isequalRel(mag([-2.777146823355e+03, -5.663160317077e+03, -2.462548891232e+03]), 6.771120756351e+03, TOL));
assert(isequalRel(mag([4.915493146039e+00, 1.233289920905e-01, -5.896495090701e+00]), 7.677625756945e+00, TOL));
assert(isequalRel(mag([3.369650068023e+04, -2.848007480671e+04, 2.749472300490e+04]), 5.198585011524e+04, TOL));
assert(isequalRel(mag([2.848007480671e+04, 3.369650068023e+04, 0.000000000000e+00]), 4.411993675299e+04, TOL));
assert(isequalRel(mag([-2.652838972366e-03, -1.164164781512e-03, 2.045333941427e-03]), 3.546297390768e-03, TOL));
assert(isequalRel(mag([2.848007480671e+04, 3.369650068023e+04, 0.000000000000e+00]), 4.411993675299e+04, TOL));
assert(isequalRel(mag([-2.652838972366e-03, -1.164164781512e-03, 2.045333941427e-03]), 3.546297390768e-03, TOL));
assert(isequalRel(mag([-2.652838972366e-03, -1.164164781512e-03, 2.045333941427e-03]), 3.546297390768e-03, TOL));
assert(isequalRel(mag([-2.777146823355e+03, -5.663160317077e+03, -2.462548891232e+03]), 6.771120756351e+03, TOL));
assert(isequalRel(mag([4.992315738931e+03, 1.716623567695e+03, -4.287860655812e+03]), 6.801158865517e+03, TOL));
assert(isequalRel(mag([1.640717188721e+00, 6.071570433629e+00, 4.338797930854e+00]), 7.640751789495e+00, TOL));
assert(isequalRel(mag([3.348213076492e+04, -2.869581587908e+04, 2.749470284175e+04]), 5.196596591887e+04, TOL));
assert(isequalRel(mag([2.869581587908e+04, 3.348213076492e+04, 0.000000000000e+00]), 4.409651833790e+04, TOL));
assert(isequalRel(mag([-2.877296428411e-03, -1.119497424324e-03, 2.335472533367e-03]), 3.871245429332e-03, TOL));
assert(isequalRel(mag([2.869581587908e+04, 3.348213076492e+04, 0.000000000000e+00]), 4.409651833790e+04, TOL));
assert(isequalRel(mag([-2.877296428411e-03, -1.119497424324e-03, 2.335472533367e-03]), 3.871245429332e-03, TOL));
assert(isequalRel(mag([-2.877296428411e-03, -1.119497424324e-03, 2.335472533367e-03]), 3.871245429332e-03, TOL));
assert(isequalRel(mag([4.992315738931e+03, 1.716623567695e+03, -4.287860655812e+03]), 6.801158865517e+03, TOL));
assert(isequalRel(mag([-8.223847547370e+00, 4.662215216680e+03, 4.905664118573e+03]), 6.767707056497e+03, TOL));
assert(isequalRel(mag([-5.891011273529e+00, -3.593173871921e+00, 3.365100460432e+00]), 7.677161806781e+00, TOL));
assert(isequalRel(mag([3.331572670756e+04, -2.887164855349e+04, 2.749471211521e+04]), 5.195641375757e+04, TOL));
assert(isequalRel(mag([2.887164855349e+04, 3.331572670756e+04, 0.000000000000e+00]), 4.408525531568e+04, TOL));
assert(isequalRel(mag([-2.892420268796e-03, -1.279455956781e-03, 2.161254870600e-03]), 3.830682076651e-03, TOL));
assert(isequalRel(mag([2.887164855349e+04, 3.331572670756e+04, 0.000000000000e+00]), 4.408525531568e+04, TOL));
assert(isequalRel(mag([-2.892420268796e-03, -1.279455956781e-03, 2.161254870600e-03]), 3.830682076651e-03, TOL));
assert(isequalRel(mag([-2.892420268796e-03, -1.279455956781e-03, 2.161254870600e-03]), 3.830682076651e-03, TOL));
assert(isequalRel(mag([-8.223847547370e+00, 4.662215216680e+03, 4.905664118573e+03]), 6.767707056497e+03, TOL));
assert(isequalRel(mag([-4.966201379626e+03, -4.379591550374e+03, 1.349333475022e+03]), 6.757564584814e+03, TOL));
assert(isequalRel(mag([1.763172580572e+00, -3.981456386823e+00, -6.343279442947e+00]), 7.694021484267e+00, TOL));
assert(isequalRel(mag([3.315328543207e+04, -2.912289533571e+04, 2.749468993689e+04]), 5.199270470365e+04, TOL));
assert(isequalRel(mag([2.912289533571e+04, 3.315328543207e+04, 0.000000000000e+00]), 4.412803380704e+04, TOL));
assert(isequalRel(mag([-3.181495772611e-03, -1.115574750136e-03, 2.654631528141e-03]), 4.291094373757e-03, TOL));
assert(isequalRel(mag([2.912289533571e+04, 3.315328543207e+04, 0.000000000000e+00]), 4.412803380704e+04, TOL));
assert(isequalRel(mag([-3.181495772611e-03, -1.115574750136e-03, 2.654631528141e-03]), 4.291094373757e-03, TOL));
assert(isequalRel(mag([-3.181495772611e-03, -1.115574750136e-03, 2.654631528141e-03]), 4.291094373757e-03, TOL));
assert(isequalRel(mag([-4.966201379626e+03, -4.379591550374e+03, 1.349333475022e+03]), 6.757564584814e+03, TOL));
assert(isequalRel(mag([2.954493903314e+03, -2.080659846504e+03, -5.754750380565e+03]), 6.795243304267e+03, TOL));
assert(isequalRel(mag([4.895893305769e+00, 5.858184321869e+00, 3.754748252299e-01]), 7.643891427463e+00, TOL));
assert(isequalRel(mag([3.293115306347e+04, -2.928398194657e+04, 2.749465847753e+04]), 5.194197421674e+04, TOL));
assert(isequalRel(mag([2.928398194657e+04, 3.293115306347e+04, 0.000000000000e+00]), 4.406827022628e+04, TOL));
assert(isequalRel(mag([-3.117729119169e-03, -4.947330438543e-04, 3.207265199575e-03]), 4.500171741789e-03, TOL));
assert(isequalRel(mag([2.928398194657e+04, 3.293115306347e+04, 0.000000000000e+00]), 4.406827022628e+04, TOL));
assert(isequalRel(mag([-3.117729119169e-03, -4.947330438543e-04, 3.207265199575e-03]), 4.500171741789e-03, TOL));
assert(isequalRel(mag([-3.117729119169e-03, -4.947330438543e-04, 3.207265199575e-03]), 4.500171741789e-03, TOL));
assert(isequalRel(mag([2.954493903314e+03, -2.080659846504e+03, -5.754750380565e+03]), 6.795243304267e+03, TOL));
assert(isequalRel(mag([3.363287943208e+03, 5.559558411795e+03, 1.956055422663e+03]), 6.785760704565e+03, TOL));
assert(isequalRel(mag([-4.587378862766e+00, 5.919434032977e-01, 6.107838604574e+00]), 7.661601284509e+00, TOL));
assert(isequalRel(mag([3.279901138802e+04, -2.951558723815e+04, 2.749467685596e+04]), 5.198944405798e+04, TOL));
assert(isequalRel(mag([2.951558723815e+04, 3.279901138802e+04, 0.000000000000e+00]), 4.412420014056e+04, TOL));
assert(isequalRel(mag([-2.534382150433e-03, -2.831754849076e-04, 2.719331406470e-03]), 3.728008119345e-03, TOL));
assert(isequalRel(mag([2.951558723815e+04, 3.279901138802e+04, 0.000000000000e+00]), 4.412420014056e+04, TOL));
assert(isequalRel(mag([-2.534382150433e-03, -2.831754849076e-04, 2.719331406470e-03]), 3.728008119345e-03, TOL));
assert(isequalRel(mag([-2.534382150433e-03, -2.831754849076e-04, 2.719331406470e-03]), 3.728008119345e-03, TOL));
assert(isequalRel(mag([3.363287943208e+03, 5.559558411795e+03, 1.956055422663e+03]), 6.785760704565e+03, TOL));
assert(isequalRel(mag([-4.856667800700e+03, -1.107034501919e+03, 4.557212582406e+03]), 6.751365346063e+03, TOL));
assert(isequalRel(mag([-2.304158557386e+00, -6.186437069611e+00, -3.956549542014e+00]), 7.696455973514e+00, TOL));
assert(isequalRel(mag([3.257294570545e+04, -2.971618713215e+04, 2.749468669611e+04]), 5.196158548505e+04, TOL));
assert(isequalRel(mag([2.971618713215e+04, 3.257294570545e+04, 0.000000000000e+00]), 4.409136615714e+04, TOL));
assert(isequalRel(mag([-2.333589104875e-03, -4.141148732270e-04, 2.317027898845e-03]), 3.314475452111e-03, TOL));
assert(isequalRel(mag([2.971618713215e+04, 3.257294570545e+04, 0.000000000000e+00]), 4.409136615714e+04, TOL));
assert(isequalRel(mag([-2.333589104875e-03, -4.141148732270e-04, 2.317027898845e-03]), 3.314475452111e-03, TOL));
assert(isequalRel(mag([-2.333589104875e-03, -4.141148732270e-04, 2.317027898845e-03]), 3.314475452111e-03, TOL));
assert(isequalRel(mag([-4.856667800700e+03, -1.107034501919e+03, 4.557212582406e+03]), 6.751365346063e+03, TOL));
assert(isequalRel(mag([-4.978448007121e+02, -4.863460053117e+03, -4.700812112174e+03]), 6.782236183430e+03, TOL));
assert(isequalRel(mag([5.960065406702e+00, 2.996683369168e+00, -3.767123328697e+00]), 7.661181961084e+00, TOL));
assert(isequalRel(mag([3.240809930242e+04, -2.989259041601e+04, 2.749465678474e+04]), 5.195967680697e+04, TOL));
assert(isequalRel(mag([2.989259041601e+04, 3.240809930242e+04, 0.000000000000e+00]), 4.408913542104e+04, TOL));
assert(isequalRel(mag([-2.401745673750e-03, -3.102694959366e-04, 2.493620992261e-03]), 3.476031515181e-03, TOL));
assert(isequalRel(mag([2.989259041601e+04, 3.240809930242e+04, 0.000000000000e+00]), 4.408913542104e+04, TOL));
assert(isequalRel(mag([-2.401745673750e-03, -3.102694959366e-04, 2.493620992261e-03]), 3.476031515181e-03, TOL));
assert(isequalRel(mag([-2.401745673750e-03, -3.102694959366e-04, 2.493620992261e-03]), 3.476031515181e-03, TOL));
assert(isequalRel(mag([-4.978448007121e+02, -4.863460053117e+03, -4.700812112174e+03]), 6.782236183430e+03, TOL));
assert(isequalRel(mag([5.241619360959e+03, 3.910759606834e+03, -1.857934739522e+03]), 6.798568652587e+03, TOL));
assert(isequalRel(mag([-1.124834805582e+00, 4.406213160311e+00, 6.148161298549e+00]), 7.647212244140e+00, TOL));
assert(isequalRel(mag([3.223043736295e+04, -3.013645163526e+04, 2.749465073163e+04]), 5.199002431838e+04, TOL));
assert(isequalRel(mag([3.013645163526e+04, 3.223043736295e+04, 0.000000000000e+00]), 4.412490011061e+04, TOL));
assert(isequalRel(mag([-2.221182905150e-03, -5.097236428449e-04, 2.045068152892e-03]), 3.061988804711e-03, TOL));
assert(isequalRel(mag([3.013645163526e+04, 3.223043736295e+04, 0.000000000000e+00]), 4.412490011061e+04, TOL));
assert(isequalRel(mag([-2.221182905150e-03, -5.097236428449e-04, 2.045068152892e-03]), 3.061988804711e-03, TOL));
assert(isequalRel(mag([-2.221182905150e-03, -5.097236428449e-04, 2.045068152892e-03]), 3.061988804711e-03, TOL));
assert(isequalRel(mag([5.241619360959e+03, 3.910759606834e+03, -1.857934739522e+03]), 6.798568652587e+03, TOL));
assert(isequalRel(mag([-2.451380459530e+03, 2.610604632610e+03, 5.729790220688e+03]), 6.756849759930e+03, TOL));
assert(isequalRel(mag([-5.366560525018e+00, -5.500855666468e+00, 1.879587163462e-01]), 7.687308593457e+00, TOL));
assert(isequalRel(mag([3.200943489878e+04, -3.028850769053e+04, 2.749465785927e+04]), 5.194183122933e+04, TOL));
assert(isequalRel(mag([3.028850769053e+04, 3.200943489878e+04, 0.000000000000e+00]), 4.406810207688e+04, TOL));
assert(isequalRel(mag([-2.356215412341e-03, -1.095658749439e-03, 1.536125876031e-03]), 3.018592697200e-03, TOL));
assert(isequalRel(mag([3.028850769053e+04, 3.200943489878e+04, 0.000000000000e+00]), 4.406810207688e+04, TOL));
assert(isequalRel(mag([-2.356215412341e-03, -1.095658749439e-03, 1.536125876031e-03]), 3.018592697200e-03, TOL));
assert(isequalRel(mag([-2.356215412341e-03, -1.095658749439e-03, 1.536125876031e-03]), 3.018592697200e-03, TOL));
assert(isequalRel(mag([-2.451380459530e+03, 2.610604632610e+03, 5.729790220688e+03]), 6.756849759930e+03, TOL));
assert(isequalRel(mag([-3.791875206380e+03, -5.378828513819e+03, -1.575827379301e+03]), 6.767078076333e+03, TOL));
assert(isequalRel(mag([4.266273591571e+00, -1.199162550968e+00, -6.276154079876e+00]), 7.683045699208e+00, TOL));
assert(isequalRel(mag([3.186868334191e+04, -3.052130378009e+04, 2.749462878753e+04]), 5.199151444753e+04, TOL));
assert(isequalRel(mag([3.052130378009e+04, 3.186868334191e+04, 0.000000000000e+00]), 4.412666951384e+04, TOL));
assert(isequalRel(mag([-2.946644922150e-03, -1.213852982457e-03, 2.067942752109e-03]), 3.799018634628e-03, TOL));
assert(isequalRel(mag([3.052130378009e+04, 3.186868334191e+04, 0.000000000000e+00]), 4.412666951384e+04, TOL));
assert(isequalRel(mag([-2.946644922150e-03, -1.213852982457e-03, 2.067942752109e-03]), 3.799018634628e-03, TOL));
assert(isequalRel(mag([-2.946644922150e-03, -1.213852982457e-03, 2.067942752109e-03]), 3.799018634628e-03, TOL));
assert(isequalRel(mag([-3.791875206380e+03, -5.378828513819e+03, -1.575827379301e+03]), 6.767078076333e+03, TOL));
assert(isequalRel(mag([4.730539583565e+03, 5.240500643313e+02, -4.857293697253e+03]), 6.800436403862e+03, TOL));
assert(isequalRel(mag([2.918056288012e+00, 6.135412849160e+00, 3.495115635633e+00]), 7.640299512198e+00, TOL));
assert(isequalRel(mag([3.163311773597e+04, -3.070763927949e+04, 2.749460575901e+04]), 5.195735360524e+04, TOL));
assert(isequalRel(mag([3.070763927949e+04, 3.163311773597e+04, 0.000000000000e+00]), 4.408642929311e+04, TOL));
assert(isequalRel(mag([-3.156305307342e-03, -9.685068928393e-04, 2.549708030268e-03]), 4.171484128490e-03, TOL));
assert(isequalRel(mag([3.070763927949e+04, 3.163311773597e+04, 0.000000000000e+00]), 4.408642929311e+04, TOL));
assert(isequalRel(mag([-3.156305307342e-03, -9.685068928393e-04, 2.549708030268e-03]), 4.171484128490e-03, TOL));
assert(isequalRel(mag([-3.156305307342e-03, -9.685068928393e-04, 2.549708030268e-03]), 4.171484128490e-03, TOL));
assert(isequalRel(mag([4.730539583565e+03, 5.240500643313e+02, -4.857293697253e+03]), 6.800436403862e+03, TOL));
assert(isequalRel(mag([1.159278028972e+03, 5.056601754954e+03, 4.353494185789e+03]), 6.772448485028e+03, TOL));
assert(isequalRel(mag([-5.968060340911e+00, -2.314790405868e+00, 4.230722669090e+00]), 7.673005484072e+00, TOL));
assert(isequalRel(mag([3.147050624651e+04, -3.088649983154e+04, 2.749461873433e+04]), 5.196462926454e+04, TOL));
assert(isequalRel(mag([3.088649983154e+04, 3.147050624651e+04, 0.000000000000e+00]), 4.409499558063e+04, TOL));
assert(isequalRel(mag([-3.017407827696e-03, -9.526615063081e-04, 2.383556326746e-03]), 3.961521766570e-03, TOL));
assert(isequalRel(mag([3.088649983154e+04, 3.147050624651e+04, 0.000000000000e+00]), 4.409499558063e+04, TOL));
assert(isequalRel(mag([-3.017407827696e-03, -9.526615063081e-04, 2.383556326746e-03]), 3.961521766570e-03, TOL));
assert(isequalRel(mag([-3.017407827696e-03, -9.526615063081e-04, 2.383556326746e-03]), 3.961521766570e-03, TOL));
assert(isequalRel(mag([1.159278028972e+03, 5.056601754954e+03, 4.353494185789e+03]), 6.772448485028e+03, TOL));
# 8195
assert(isequalRel(mag([1.522391713658e+04, -1.785295881713e+04, 2.528039558224e+04]), 3.449049423105e+04, TOL));
assert(isequalRel(mag([1.079041732290e+00, 8.751873723850e-01, 2.485682812742e+00]), 2.847613569705e+00, TOL));
assert(isequalRel(mag([-6.650187587080e+04, -1.056322732698e+04, 3.258786764471e+04]), 7.480675359569e+04, TOL));
assert(isequalRel(mag([1.056322732698e+04, -6.650187587080e+04, 0.000000000000e+00]), 6.733558692027e+04, TOL));
assert(isequalRel(mag([-3.039704378453e-01, 1.469440611817e-02, -6.155476078527e-01]), 6.866679038576e-01, TOL));
assert(isequalRel(mag([1.056322732698e+04, -6.650187587080e+04, 0.000000000000e+00]), 6.733558692027e+04, TOL));
assert(isequalRel(mag([-3.039704378453e-01, 1.469440611817e-02, -6.155476078527e-01]), 6.866679038576e-01, TOL));
assert(isequalRel(mag([-3.039704378453e-01, 1.469440611817e-02, -6.155476078527e-01]), 6.866679038576e-01, TOL));
assert(isequalRel(mag([1.522391713658e+04, -1.785295881713e+04, 2.528039558224e+04]), 3.449049423105e+04, TOL));
assert(isequalRel(mag([1.975278050009e+04, -8.600071309618e+03, 3.752272921090e+04]), 4.326764115884e+04, TOL));
assert(isequalRel(mag([2.381052785247e-01, 1.546110924145e+00, 9.864104468114e-01]), 1.849367103363e+00, TOL));
assert(isequalRel(mag([-6.649750171985e+04, -1.054998914909e+04, 3.258771208795e+04]), 7.480092903938e+04, TOL));
assert(isequalRel(mag([1.054998914909e+04, -6.649750171985e+04, 0.000000000000e+00]), 6.732919133650e+04, TOL));
assert(isequalRel(mag([-3.040147646199e-01, 1.473777382294e-02, -6.155921264162e-01]), 6.867283634668e-01, TOL));
assert(isequalRel(mag([1.054998914909e+04, -6.649750171985e+04, 0.000000000000e+00]), 6.732919133650e+04, TOL));
assert(isequalRel(mag([-3.040147646199e-01, 1.473777382294e-02, -6.155921264162e-01]), 6.867283634668e-01, TOL));
assert(isequalRel(mag([-3.040147646199e-01, 1.473777382294e-02, -6.155921264162e-01]), 6.867283634668e-01, TOL));
assert(isequalRel(mag([1.975278050009e+04, -8.600071309618e+03, 3.752272921090e+04]), 4.326764115884e+04, TOL));
assert(isequalRel(mag([1.908929762968e+04, 3.107894950177e+03, 3.995814661370e+04]), 4.439272210417e+04, TOL));
assert(isequalRel(mag([-4.103080340832e-01, 1.640332277113e+00, -3.068738176578e-01]), 1.718491839415e+00, TOL));
assert(isequalRel(mag([-6.649836921232e+04, -1.053714294265e+04, 3.258798531654e+04]), 7.480000853130e+04, TOL));
assert(isequalRel(mag([1.053714294265e+04, -6.649836921232e+04, 0.000000000000e+00]), 6.732803642831e+04, TOL));
assert(isequalRel(mag([-3.040149019528e-01, 1.473169108550e-02, -6.156031146599e-01]), 6.867381437714e-01, TOL));
assert(isequalRel(mag([1.053714294265e+04, -6.649836921232e+04, 0.000000000000e+00]), 6.732803642831e+04, TOL));
assert(isequalRel(mag([-3.040149019528e-01, 1.473169108550e-02, -6.156031146599e-01]), 6.867381437714e-01, TOL));
assert(isequalRel(mag([-3.040149019528e-01, 1.473169108550e-02, -6.156031146599e-01]), 6.867381437714e-01, TOL));
assert(isequalRel(mag([1.908929762968e+04, 3.107894950177e+03, 3.995814661370e+04]), 4.439272210417e+04, TOL));
assert(isequalRel(mag([1.382966070574e+04, 1.397739999817e+04, 3.273632082508e+04]), 3.818761483920e+04, TOL));
assert(isequalRel(mag([-1.065096849045e+00, 1.279983299493e+00, -1.760166074619e+00]), 2.423009111635e+00, TOL));
assert(isequalRel(mag([-6.650448923111e+04, -1.052485256238e+04, 3.258901943689e+04]), 7.480416965122e+04, TOL));
assert(isequalRel(mag([1.052485256238e+04, -6.650448923111e+04, 0.000000000000e+00]), 6.733215880507e+04, TOL));
assert(isequalRel(mag([-3.039770958761e-01, 1.473654989247e-02, -6.155675080419e-01]), 6.866895933949e-01, TOL));
assert(isequalRel(mag([1.052485256238e+04, -6.650448923111e+04, 0.000000000000e+00]), 6.733215880507e+04, TOL));
assert(isequalRel(mag([-3.039770958761e-01, 1.473654989247e-02, -6.155675080419e-01]), 6.866895933949e-01, TOL));
assert(isequalRel(mag([-3.039770958761e-01, 1.473654989247e-02, -6.155675080419e-01]), 6.866895933949e-01, TOL));
assert(isequalRel(mag([1.382966070574e+04, 1.397739999817e+04, 3.273632082508e+04]), 3.818761483920e+04, TOL));
assert(isequalRel(mag([3.333058385247e+03, 1.839531728674e+04, 1.273825031238e+04]), 2.262211301581e+04, TOL));
assert(isequalRel(mag([-1.882432221379e+00, -6.116233333449e-01, -4.039586549263e+00]), 4.498432355717e+00, TOL));
assert(isequalRel(mag([-6.651846516390e+04, -1.051471501106e+04, 3.258936170323e+04]), 7.481531885750e+04, TOL));
assert(isequalRel(mag([1.051471501106e+04, -6.651846516390e+04, 0.000000000000e+00]), 6.734437942045e+04, TOL));
assert(isequalRel(mag([-3.039028966032e-01, 1.487664780270e-02, -6.154993372257e-01]), 6.865986595814e-01, TOL));
assert(isequalRel(mag([1.051471501106e+04, -6.651846516390e+04, 0.000000000000e+00]), 6.734437942045e+04, TOL));
assert(isequalRel(mag([-3.039028966032e-01, 1.487664780270e-02, -6.154993372257e-01]), 6.865986595814e-01, TOL));
assert(isequalRel(mag([-3.039028966032e-01, 1.487664780270e-02, -6.154993372257e-01]), 6.865986595814e-01, TOL));
assert(isequalRel(mag([3.333058385247e+03, 1.839531728674e+04, 1.273825031238e+04]), 2.262211301581e+04, TOL));
assert(isequalRel(mag([2.622132222073e+03, -1.512515464924e+04, 4.745104839822e+02]), 1.535809365621e+04, TOL));
assert(isequalRel(mag([2.688287198777e+00, -3.078426664127e+00, 4.494979530449e+00]), 6.075231663786e+00, TOL));
assert(isequalRel(mag([-6.652651481693e+04, -1.051081020457e+04, 3.258871787379e+04]), 7.482164685104e+04, TOL));
assert(isequalRel(mag([1.051081020457e+04, -6.652651481693e+04, 0.000000000000e+00]), 6.735172087515e+04, TOL));
assert(isequalRel(mag([-3.038890758284e-01, 1.483099409156e-02, -6.155748569015e-01]), 6.866592555576e-01, TOL));
assert(isequalRel(mag([1.051081020457e+04, -6.652651481693e+04, 0.000000000000e+00]), 6.735172087515e+04, TOL));
assert(isequalRel(mag([-3.038890758284e-01, 1.483099409156e-02, -6.155748569015e-01]), 6.866592555576e-01, TOL));
assert(isequalRel(mag([-3.038890758284e-01, 1.483099409156e-02, -6.155748569015e-01]), 6.866592555576e-01, TOL));
assert(isequalRel(mag([2.622132222073e+03, -1.512515464924e+04, 4.745104839822e+02]), 1.535809365621e+04, TOL));
assert(isequalRel(mag([1.532056770017e+04, -1.777732564586e+04, 2.553953198382e+04]), 3.468459017672e+04, TOL));
assert(isequalRel(mag([1.064346229230e+00, 8.921847706661e-01, 2.459822414230e+00]), 2.824810236146e+00, TOL));
assert(isequalRel(mag([-6.651504557465e+04, -1.050297126432e+04, 3.259000669701e+04]), 7.481090983064e+04, TOL));
assert(isequalRel(mag([1.050297126432e+04, -6.651504557465e+04, 0.000000000000e+00]), 6.733916908589e+04, TOL));
assert(isequalRel(mag([-3.039496853437e-01, 1.504615919300e-02, -6.155014935064e-01]), 6.866249970949e-01, TOL));
assert(isequalRel(mag([1.050297126432e+04, -6.651504557465e+04, 0.000000000000e+00]), 6.733916908589e+04, TOL));
assert(isequalRel(mag([-3.039496853437e-01, 1.504615919300e-02, -6.155014935064e-01]), 6.866249970949e-01, TOL));
assert(isequalRel(mag([-3.039496853437e-01, 1.504615919300e-02, -6.155014935064e-01]), 6.866249970949e-01, TOL));
assert(isequalRel(mag([1.532056770017e+04, -1.777732564586e+04, 2.553953198382e+04]), 3.468459017672e+04, TOL));
assert(isequalRel(mag([1.976970267785e+04, -8.458651044544e+03, 3.762420130236e+04]), 4.333555636085e+04, TOL));
assert(isequalRel(mag([2.293043961527e-01, 1.550363884063e+00, 9.669930561197e-01]), 1.841543985270e+00, TOL));
assert(isequalRel(mag([-6.651065969011e+04, -1.048977045067e+04, 3.258983890044e+04]), 7.480508496137e+04, TOL));
assert(isequalRel(mag([1.048977045067e+04, -6.651065969011e+04, 0.000000000000e+00]), 6.733277906430e+04, TOL));
assert(isequalRel(mag([-3.039938383434e-01, 1.508862302823e-02, -6.155462934091e-01]), 6.866856337694e-01, TOL));
assert(isequalRel(mag([1.048977045067e+04, -6.651065969011e+04, 0.000000000000e+00]), 6.733277906430e+04, TOL));
assert(isequalRel(mag([-3.039938383434e-01, 1.508862302823e-02, -6.155462934091e-01]), 6.866856337694e-01, TOL));
assert(isequalRel(mag([-3.039938383434e-01, 1.508862302823e-02, -6.155462934091e-01]), 6.866856337694e-01, TOL));
assert(isequalRel(mag([1.976970267785e+04, -8.458651044544e+03, 3.762420130236e+04]), 4.333555636085e+04, TOL));
assert(isequalRel(mag([1.904856201523e+04, 3.260432231191e+03, 3.992339143967e+04]), 4.435487929447e+04, TOL));
assert(isequalRel(mag([-4.180155357909e-01, 1.639346952779e+00, -3.260948400927e-01]), 1.722943198275e+00, TOL));
assert(isequalRel(mag([-6.651150022828e+04, -1.047696007889e+04, 3.259011342052e+04]), 7.480415662163e+04, TOL));
assert(isequalRel(mag([1.047696007889e+04, -6.651150022828e+04, 0.000000000000e+00]), 6.733161482626e+04, TOL));
assert(isequalRel(mag([-3.039940592989e-01, 1.508268654117e-02, -6.155572391180e-01]), 6.866954129400e-01, TOL));
assert(isequalRel(mag([1.047696007889e+04, -6.651150022828e+04, 0.000000000000e+00]), 6.733161482626e+04, TOL));
assert(isequalRel(mag([-3.039940592989e-01, 1.508268654117e-02, -6.155572391180e-01]), 6.866954129400e-01, TOL));
assert(isequalRel(mag([-3.039940592989e-01, 1.508268654117e-02, -6.155572391180e-01]), 6.866954129400e-01, TOL));
assert(isequalRel(mag([1.904856201523e+04, 3.260432231191e+03, 3.992339143967e+04]), 4.435487929447e+04, TOL));
assert(isequalRel(mag([1.372919205837e+04, 1.409770014810e+04, 3.254752799890e+04]), 3.803389860217e+04, TOL));
assert(isequalRel(mag([-1.074511042879e+00, 1.270505211312e+00, -1.785099926781e+00]), 2.440356371891e+00, TOL));
assert(isequalRel(mag([-6.651760744006e+04, -1.046469851507e+04, 3.259114454559e+04]), 7.480831984046e+04, TOL));
assert(isequalRel(mag([1.046469851507e+04, -6.651760744006e+04, 0.000000000000e+00]), 6.733574098917e+04, TOL));
assert(isequalRel(mag([-3.039563058023e-01, 1.508854739458e-02, -6.155214678241e-01]), 6.866467632282e-01, TOL));
assert(isequalRel(mag([1.046469851507e+04, -6.651760744006e+04, 0.000000000000e+00]), 6.733574098917e+04, TOL));
assert(isequalRel(mag([-3.039563058023e-01, 1.508854739458e-02, -6.155214678241e-01]), 6.866467632282e-01, TOL));
assert(isequalRel(mag([-3.039563058023e-01, 1.508854739458e-02, -6.155214678241e-01]), 6.866467632282e-01, TOL));
assert(isequalRel(mag([1.372919205837e+04, 1.409770014810e+04, 3.254752799890e+04]), 3.803389860217e+04, TOL));
assert(isequalRel(mag([3.148861656431e+03, 1.832319841703e+04, 1.230575195578e+04]), 2.229543588178e+04, TOL));
assert(isequalRel(mag([-1.895271701496e+00, -6.783438468467e-01, -4.086577951103e+00]), 4.555471934661e+00, TOL));
assert(isequalRel(mag([-6.653164752467e+04, -1.045467483118e+04, 3.259142851147e+04]), 7.481952659962e+04, TOL));
assert(isequalRel(mag([1.045467483118e+04, -6.653164752467e+04, 0.000000000000e+00]), 6.734805378163e+04, TOL));
assert(isequalRel(mag([-3.038826538136e-01, 1.523346475528e-02, -6.154548483433e-01]), 6.865576422170e-01, TOL));
assert(isequalRel(mag([1.045467483118e+04, -6.653164752467e+04, 0.000000000000e+00]), 6.734805378163e+04, TOL));
assert(isequalRel(mag([-3.038826538136e-01, 1.523346475528e-02, -6.154548483433e-01]), 6.865576422170e-01, TOL));
assert(isequalRel(mag([-3.038826538136e-01, 1.523346475528e-02, -6.154548483433e-01]), 6.865576422170e-01, TOL));
assert(isequalRel(mag([3.148861656431e+03, 1.832319841703e+04, 1.230575195578e+04]), 2.229543588178e+04, TOL));
assert(isequalRel(mag([2.890806382677e+03, -1.544643952300e+04, 9.487701017643e+02]), 1.574323410821e+04, TOL));
assert(isequalRel(mag([2.654407489593e+00, -2.909344894829e+00, 4.486437361921e+00]), 5.969781155145e+00, TOL));
assert(isequalRel(mag([-6.653918393271e+04, -1.045099929730e+04, 3.259079196602e+04]), 7.482543755780e+04, TOL));
assert(isequalRel(mag([1.045099929730e+04, -6.653918393271e+04, 0.000000000000e+00]), 6.735492843693e+04, TOL));
assert(isequalRel(mag([-3.038681222577e-01, 1.518519080206e-02, -6.155246696890e-01]), 6.866127327248e-01, TOL));
assert(isequalRel(mag([1.045099929730e+04, -6.653918393271e+04, 0.000000000000e+00]), 6.735492843693e+04, TOL));
assert(isequalRel(mag([-3.038681222577e-01, 1.518519080206e-02, -6.155246696890e-01]), 6.866127327248e-01, TOL));
assert(isequalRel(mag([-3.038681222577e-01, 1.518519080206e-02, -6.155246696890e-01]), 6.866127327248e-01, TOL));
assert(isequalRel(mag([2.890806382677e+03, -1.544643952300e+04, 9.487701017643e+02]), 1.574323410821e+04, TOL));
assert(isequalRel(mag([1.541598410712e+04, -1.769990714437e+04, 2.579619644689e+04]), 3.487668318572e+04, TOL));
assert(isequalRel(mag([1.049818334076e+00, 9.088223320280e-01, 2.434107329013e+00]), 2.802312447767e+00, TOL));
assert(isequalRel(mag([-6.652763311527e+04, -1.044283991972e+04, 3.259207765833e+04]), 7.481458681029e+04, TOL));
assert(isequalRel(mag([1.044283991972e+04, -6.652763311527e+04, 0.000000000000e+00]), 6.734225177040e+04, TOL));
assert(isequalRel(mag([-3.039324172534e-01, 1.540002004344e-02, -6.154589042491e-01]), 6.865870212103e-01, TOL));
assert(isequalRel(mag([1.044283991972e+04, -6.652763311527e+04, 0.000000000000e+00]), 6.734225177040e+04, TOL));
assert(isequalRel(mag([-3.039324172534e-01, 1.540002004344e-02, -6.154589042491e-01]), 6.865870212103e-01, TOL));
assert(isequalRel(mag([-3.039324172534e-01, 1.540002004344e-02, -6.154589042491e-01]), 6.865870212103e-01, TOL));
assert(isequalRel(mag([1.541598410712e+04, -1.769990714437e+04, 2.579619644689e+04]), 3.487668318572e+04, TOL));
assert(isequalRel(mag([1.978600618538e+04, -8.316745705810e+03, 3.772374539119e+04]), 4.340201914937e+04, TOL));
assert(isequalRel(mag([2.205398128165e-01, 1.554518899694e+00, 9.476010474766e-01]), 1.833879648102e+00, TOL));
assert(isequalRel(mag([-6.652323212027e+04, -1.042965243933e+04, 3.259189410583e+04]), 7.480875365316e+04, TOL));
assert(isequalRel(mag([1.042965243933e+04, -6.652323212027e+04, 0.000000000000e+00]), 6.733586014697e+04, TOL));
assert(isequalRel(mag([-3.039764021060e-01, 1.544149945158e-02, -6.155040642566e-01]), 6.866479054501e-01, TOL));
assert(isequalRel(mag([1.042965243933e+04, -6.652323212027e+04, 0.000000000000e+00]), 6.733586014697e+04, TOL));
assert(isequalRel(mag([-3.039764021060e-01, 1.544149945158e-02, -6.155040642566e-01]), 6.866479054501e-01, TOL));
assert(isequalRel(mag([-3.039764021060e-01, 1.544149945158e-02, -6.155040642566e-01]), 6.866479054501e-01, TOL));
assert(isequalRel(mag([1.978600618538e+04, -8.316745705810e+03, 3.772374539119e+04]), 4.340201914937e+04, TOL));
assert(isequalRel(mag([1.900728688729e+04, 3.412859487148e+03, 3.988666579255e+04]), 4.431558047393e+04, TOL));
assert(isequalRel(mag([-4.257335675621e-01, 1.638276809037e+00, -3.453538069438e-01]), 1.727561641606e+00, TOL));
assert(isequalRel(mag([-6.652404357419e+04, -1.041685363982e+04, 3.259216615522e+04]), 7.480781047393e+04, TOL));
assert(isequalRel(mag([1.041685363982e+04, -6.652404357419e+04, 0.000000000000e+00]), 6.733468061270e+04, TOL));
assert(isequalRel(mag([-3.039767016366e-01, 1.543561201314e-02, -6.155150516384e-01]), 6.866577546707e-01, TOL));
assert(isequalRel(mag([1.041685363982e+04, -6.652404357419e+04, 0.000000000000e+00]), 6.733468061270e+04, TOL));
assert(isequalRel(mag([-3.039767016366e-01, 1.543561201314e-02, -6.155150516384e-01]), 6.866577546707e-01, TOL));
assert(isequalRel(mag([-3.039767016366e-01, 1.543561201314e-02, -6.155150516384e-01]), 6.866577546707e-01, TOL));
assert(isequalRel(mag([1.900728688729e+04, 3.412859487148e+03, 3.988666579255e+04]), 4.431558047393e+04, TOL));
assert(isequalRel(mag([1.362793015254e+04, 1.421695401307e+04, 3.235613706868e+04]), 3.787825058869e+04, TOL));
assert(isequalRel(mag([-1.083991975816e+00, 1.260802347232e+00, -1.810193902806e+00]), 2.457938796670e+00, TOL));
assert(isequalRel(mag([-6.653013703449e+04, -1.040459688085e+04, 3.259319039496e+04]), 7.481196983239e+04, TOL));
assert(isequalRel(mag([1.040459688085e+04, -6.653013703449e+04, 0.000000000000e+00]), 6.733880582607e+04, TOL));
assert(isequalRel(mag([-3.039389860720e-01, 1.544238525006e-02, -6.154791954087e-01]), 6.866090696296e-01, TOL));
assert(isequalRel(mag([1.040459688085e+04, -6.653013703449e+04, 0.000000000000e+00]), 6.733880582607e+04, TOL));
assert(isequalRel(mag([-3.039389860720e-01, 1.544238525006e-02, -6.154791954087e-01]), 6.866090696296e-01, TOL));
assert(isequalRel(mag([-3.039389860720e-01, 1.544238525006e-02, -6.154791954087e-01]), 6.866090696296e-01, TOL));
assert(isequalRel(mag([1.362793015254e+04, 1.421695401307e+04, 3.235613706868e+04]), 3.787825058869e+04, TOL));
assert(isequalRel(mag([2.963264865596e+03, 1.824385063641e+04, 1.186825797486e+04]), 2.196530382365e+04, TOL));
assert(isequalRel(mag([-1.908015446842e+00, -7.478703418835e-01, -4.134004491720e+00]), 4.614089956992e+00, TOL));
assert(isequalRel(mag([-6.654424232796e+04, -1.039466927861e+04, 3.259341091601e+04]), 7.482323015985e+04, TOL));
assert(isequalRel(mag([1.039466927861e+04, -6.654424232796e+04, 0.000000000000e+00]), 6.735120887122e+04, TOL));
assert(isequalRel(mag([-3.038659267046e-01, 1.559213547252e-02, -6.154143492973e-01]), 6.865219861167e-01, TOL));
assert(isequalRel(mag([1.039466927861e+04, -6.654424232796e+04, 0.000000000000e+00]), 6.735120887122e+04, TOL));
assert(isequalRel(mag([-3.038659267046e-01, 1.559213547252e-02, -6.154143492973e-01]), 6.865219861167e-01, TOL));
assert(isequalRel(mag([-3.038659267046e-01, 1.559213547252e-02, -6.154143492973e-01]), 6.865219861167e-01, TOL));
assert(isequalRel(mag([2.963264865596e+03, 1.824385063641e+04, 1.186825797486e+04]), 2.196530382365e+04, TOL));
assert(isequalRel(mag([3.155851260364e+03, -1.575070393364e+04, 1.422324969530e+03]), 1.612659542190e+04, TOL));
assert(isequalRel(mag([2.620085624431e+00, -2.748990395562e+00, 4.473527039077e+00]), 5.868069618162e+00, TOL));
assert(isequalRel(mag([-6.655124225104e+04, -1.039117273861e+04, 3.259278814665e+04]), 7.482869874061e+04, TOL));
assert(isequalRel(mag([1.039117273861e+04, -6.655124225104e+04, 0.000000000000e+00]), 6.735758543802e+04, TOL));
assert(isequalRel(mag([-3.038509531789e-01, 1.554155049728e-02, -6.154785950537e-01]), 6.865718043358e-01, TOL));
assert(isequalRel(mag([1.039117273861e+04, -6.655124225104e+04, 0.000000000000e+00]), 6.735758543802e+04, TOL));
assert(isequalRel(mag([-3.038509531789e-01, 1.554155049728e-02, -6.154785950537e-01]), 6.865718043358e-01, TOL));
assert(isequalRel(mag([-3.038509531789e-01, 1.554155049728e-02, -6.154785950537e-01]), 6.865718043358e-01, TOL));
assert(isequalRel(mag([3.155851260364e+03, -1.575070393364e+04, 1.422324969530e+03]), 1.612659542190e+04, TOL));
assert(isequalRel(mag([1.551015191770e+04, -1.762071002219e+04, 2.605043525345e+04]), 3.506678501218e+04, TOL));
assert(isequalRel(mag([1.035454678000e+00, 9.251110062354e-01, 2.408534464786e+00]), 2.780114212062e+00, TOL));
assert(isequalRel(mag([-6.653963175261e+04, -1.038269040072e+04, 3.259405886961e+04]), 7.481774874537e+04, TOL));
assert(isequalRel(mag([1.038269040072e+04, -6.653963175261e+04, 0.000000000000e+00]), 6.734480569228e+04, TOL));
assert(isequalRel(mag([-3.039185506053e-01, 1.575533326953e-02, -6.154203062839e-01]), 6.865543454928e-01, TOL));
assert(isequalRel(mag([1.038269040072e+04, -6.653963175261e+04, 0.000000000000e+00]), 6.734480569228e+04, TOL));
assert(isequalRel(mag([-3.039185506053e-01, 1.575533326953e-02, -6.154203062839e-01]), 6.865543454928e-01, TOL));
assert(isequalRel(mag([-3.039185506053e-01, 1.575533326953e-02, -6.154203062839e-01]), 6.865543454928e-01, TOL));
assert(isequalRel(mag([1.551015191770e+04, -1.762071002219e+04, 2.605043525345e+04]), 3.506678501218e+04, TOL));
assert(isequalRel(mag([1.980167198812e+04, -8.174333371671e+03, 3.782138577439e+04]), 4.346703534279e+04, TOL));
assert(isequalRel(mag([2.118126998987e-01, 1.558576937066e+00, 9.282318796566e-01]), 1.826373759942e+00, TOL));
assert(isequalRel(mag([-6.653521642636e+04, -1.036949337509e+04, 3.259385689735e+04]), 7.481190363307e+04, TOL));
assert(isequalRel(mag([1.036949337509e+04, -6.653521642636e+04, 0.000000000000e+00]), 6.733840967649e+04, TOL));
assert(isequalRel(mag([-3.039623438717e-01, 1.579573874084e-02, -6.154658710665e-01]), 6.866155039773e-01, TOL));
assert(isequalRel(mag([1.036949337509e+04, -6.653521642636e+04, 0.000000000000e+00]), 6.733840967649e+04, TOL));
assert(isequalRel(mag([-3.039623438717e-01, 1.579573874084e-02, -6.154658710665e-01]), 6.866155039773e-01, TOL));
assert(isequalRel(mag([-3.039623438717e-01, 1.579573874084e-02, -6.154658710665e-01]), 6.866155039773e-01, TOL));
assert(isequalRel(mag([1.980167198812e+04, -8.174333371671e+03, 3.782138577439e+04]), 4.346703534279e+04, TOL));
assert(isequalRel(mag([1.896546529379e+04, 3.565196662420e+03, 3.984797510998e+04]), 4.427483056339e+04, TOL));
assert(isequalRel(mag([-4.334599445964e-01, 1.637120585289e+00, -3.646532131940e-01]), 1.732346183717e+00, TOL));
assert(isequalRel(mag([-6.653600075325e+04, -1.035668322435e+04, 3.259412358981e+04]), 7.481094289096e+04, TOL));
assert(isequalRel(mag([1.035668322435e+04, -6.653600075325e+04, 0.000000000000e+00]), 6.733721321562e+04, TOL));
assert(isequalRel(mag([-3.039626885576e-01, 1.578979587869e-02, -6.154769495630e-01]), 6.866254503966e-01, TOL));
assert(isequalRel(mag([1.035668322435e+04, -6.653600075325e+04, 0.000000000000e+00]), 6.733721321562e+04, TOL));
assert(isequalRel(mag([-3.039626885576e-01, 1.578979587869e-02, -6.154769495630e-01]), 6.866254503966e-01, TOL));
assert(isequalRel(mag([-3.039626885576e-01, 1.578979587869e-02, -6.154769495630e-01]), 6.866254503966e-01, TOL));
assert(isequalRel(mag([1.896546529379e+04, 3.565196662420e+03, 3.984797510998e+04]), 4.427483056339e+04, TOL));
assert(isequalRel(mag([1.352588227400e+04, 1.433515978787e+04, 3.216213236536e+04]), 3.772067146434e+04, TOL));
assert(isequalRel(mag([-1.093537944678e+00, 1.250868255565e+00, -1.835451681217e+00]), 2.475758369331e+00, TOL));
assert(isequalRel(mag([-6.654208354027e+04, -1.034440876351e+04, 3.259513793611e+04]), 7.481509668257e+04, TOL));
assert(isequalRel(mag([1.034440876351e+04, -6.654208354027e+04, 0.000000000000e+00]), 6.734133704158e+04, TOL));
assert(isequalRel(mag([-3.039249686101e-01, 1.579738619199e-02, -6.154410535211e-01]), 6.865767504906e-01, TOL));
assert(isequalRel(mag([1.034440876351e+04, -6.654208354027e+04, 0.000000000000e+00]), 6.734133704158e+04, TOL));
assert(isequalRel(mag([-3.039249686101e-01, 1.579738619199e-02, -6.154410535211e-01]), 6.865767504906e-01, TOL));
assert(isequalRel(mag([-3.039249686101e-01, 1.579738619199e-02, -6.154410535211e-01]), 6.865767504906e-01, TOL));
assert(isequalRel(mag([1.352588227400e+04, 1.433515978787e+04, 3.216213236536e+04]), 3.772067146434e+04, TOL));
assert(isequalRel(mag([2.776305742600e+03, 1.815698538451e+04, 1.142573046481e+04]), 2.163171996130e+04, TOL));
assert(isequalRel(mag([-1.920632199311e+00, -8.203707332442e-01, -4.181839231838e+00]), 4.674357233453e+00, TOL));
assert(isequalRel(mag([-6.655625893360e+04, -1.033456155737e+04, 3.259529079414e+04]), 7.482641076367e+04, TOL));
assert(isequalRel(mag([1.033456155737e+04, -6.655625893360e+04, 0.000000000000e+00]), 6.735383259933e+04, TOL));
assert(isequalRel(mag([-3.038525269048e-01, 1.595197813124e-02, -6.153781810085e-01]), 6.864919004431e-01, TOL));
assert(isequalRel(mag([1.033456155737e+04, -6.655625893360e+04, 0.000000000000e+00]), 6.735383259933e+04, TOL));
assert(isequalRel(mag([-3.038525269048e-01, 1.595197813124e-02, -6.153781810085e-01]), 6.864919004431e-01, TOL));
assert(isequalRel(mag([-3.038525269048e-01, 1.595197813124e-02, -6.153781810085e-01]), 6.864919004431e-01, TOL));
assert(isequalRel(mag([2.776305742600e+03, 1.815698538451e+04, 1.142573046481e+04]), 2.163171996130e+04, TOL));
assert(isequalRel(mag([3.417209315865e+03, -1.603879510665e+04, 1.894749340578e+03]), 1.650788729805e+04, TOL));
assert(isequalRel(mag([2.585515864060e+00, -2.596818145615e+00, 4.456882556195e+00]), 5.769935778188e+00, TOL));
assert(isequalRel(mag([-6.656270666422e+04, -1.033119611226e+04, 3.259468802987e+04]), 7.483141866450e+04, TOL));
assert(isequalRel(mag([1.033119611226e+04, -6.656270666422e+04, 0.000000000000e+00]), 6.735968773367e+04, TOL));
assert(isequalRel(mag([-3.038373243486e-01, 1.589929060437e-02, -6.154369689501e-01]), 6.865366485917e-01, TOL));
assert(isequalRel(mag([1.033119611226e+04, -6.656270666422e+04, 0.000000000000e+00]), 6.735968773367e+04, TOL));
assert(isequalRel(mag([-3.038373243486e-01, 1.589929060437e-02, -6.154369689501e-01]), 6.865366485917e-01, TOL));
assert(isequalRel(mag([-3.038373243486e-01, 1.589929060437e-02, -6.154369689501e-01]), 6.865366485917e-01, TOL));
assert(isequalRel(mag([3.417209315865e+03, -1.603879510665e+04, 1.894749340578e+03]), 1.650788729805e+04, TOL));
# 9880
assert(isequalRel(mag([1.919032482476e+04, 9.249012669022e+03, 2.659671345328e+04]), 3.407635498036e+04, TOL));
assert(isequalRel(mag([-6.249601929992e-01, 1.324550561620e+00, 2.495697636508e+00]), 2.893702839961e+00, TOL));
assert(isequalRel(mag([-1.214595268369e+04, -6.451513548190e+04, 3.119882026700e+04]), 7.268489016910e+04, TOL));
assert(isequalRel(mag([6.451513548190e+04, -1.214595268369e+04, 0.000000000000e+00]), 6.564851005805e+04, TOL));
assert(isequalRel(mag([-5.554381874903e-02, -2.985516882681e-01, -6.389900336216e-01]), 7.074789674872e-01, TOL));
assert(isequalRel(mag([6.451513548190e+04, -1.214595268369e+04, 0.000000000000e+00]), 6.564851005805e+04, TOL));
assert(isequalRel(mag([-5.554381874903e-02, -2.985516882681e-01, -6.389900336216e-01]), 7.074789674872e-01, TOL));
assert(isequalRel(mag([-5.554381874903e-02, -2.985516882681e-01, -6.389900336216e-01]), 7.074789674872e-01, TOL));
assert(isequalRel(mag([1.919032482476e+04, 9.249012669022e+03, 2.659671345328e+04]), 3.407635498036e+04, TOL));
assert(isequalRel(mag([1.133267806218e+04, 1.651799124008e+04, 3.856978482991e+04]), 4.346149938156e+04, TOL));
assert(isequalRel(mag([-1.400974746985e+00, 7.109470057890e-01, 9.239356355514e-01]), 1.822589626156e+00, TOL));
assert(isequalRel(mag([-1.215951230431e+04, -6.450595965122e+04, 3.119822213414e+04]), 7.267875641709e+04, TOL));
assert(isequalRel(mag([6.450595965122e+04, -1.215951230431e+04, 0.000000000000e+00]), 6.564200309256e+04, TOL));
assert(isequalRel(mag([-5.558516775964e-02, -2.985919814070e-01, -6.390380435912e-01]), 7.075425806213e-01, TOL));
assert(isequalRel(mag([6.450595965122e+04, -1.215951230431e+04, 0.000000000000e+00]), 6.564200309256e+04, TOL));
assert(isequalRel(mag([-5.558516775964e-02, -2.985919814070e-01, -6.390380435912e-01]), 7.075425806213e-01, TOL));
assert(isequalRel(mag([-5.558516775964e-02, -2.985919814070e-01, -6.390380435912e-01]), 7.075425806213e-01, TOL));
assert(isequalRel(mag([1.133267806218e+04, 1.651799124008e+04, 3.856978482991e+04]), 4.346149938156e+04, TOL));
assert(isequalRel(mag([3.287421739786e+02, 1.955492047380e+04, 4.055826246145e+04]), 4.502749870963e+04, TOL));
assert(isequalRel(mag([-1.593281066367e+00, 1.267729129517e-01, -3.596273072116e-01]), 1.638275840020e+00, TOL));
assert(isequalRel(mag([-1.217417246923e+04, -6.450248700176e+04, 3.119816014822e+04]), 7.267810193832e+04, TOL));
assert(isequalRel(mag([6.450248700176e+04, -1.217417246923e+04, 0.000000000000e+00]), 6.564130791448e+04, TOL));
assert(isequalRel(mag([-5.557425871728e-02, -2.985996346426e-01, -6.390437630944e-01]), 7.075501192075e-01, TOL));
assert(isequalRel(mag([6.450248700176e+04, -1.217417246923e+04, 0.000000000000e+00]), 6.564130791448e+04, TOL));
assert(isequalRel(mag([-5.557425871728e-02, -2.985996346426e-01, -6.390437630944e-01]), 7.075501192075e-01, TOL));
assert(isequalRel(mag([-5.557425871728e-02, -2.985996346426e-01, -6.390437630944e-01]), 7.075501192075e-01, TOL));
assert(isequalRel(mag([3.287421739786e+02, 1.955492047380e+04, 4.055826246145e+04]), 4.502749870963e+04, TOL));
assert(isequalRel(mag([-1.068490590680e+04, 1.805715728839e+04, 3.315875253886e+04]), 3.923940638578e+04, TOL));
assert(isequalRel(mag([-1.383205997294e+00, -5.823289989404e-01, -1.744412556059e+00]), 2.301160807004e+00, TOL));
assert(isequalRel(mag([-1.218982872853e+04, -6.450426939866e+04, 3.119889881586e+04]), 7.268262503795e+04, TOL));
assert(isequalRel(mag([6.450426939866e+04, -1.218982872853e+04, 0.000000000000e+00]), 6.564596480429e+04, TOL));
assert(isequalRel(mag([-5.557199744454e-02, -2.985672166541e-01, -6.390056721323e-01]), 7.075018577910e-01, TOL));
assert(isequalRel(mag([6.450426939866e+04, -1.218982872853e+04, 0.000000000000e+00]), 6.564596480429e+04, TOL));
assert(isequalRel(mag([-5.557199744454e-02, -2.985672166541e-01, -6.390056721323e-01]), 7.075018577910e-01, TOL));
assert(isequalRel(mag([-5.557199744454e-02, -2.985672166541e-01, -6.390056721323e-01]), 7.075018577910e-01, TOL));
assert(isequalRel(mag([-1.068490590680e+04, 1.805715728839e+04, 3.315875253886e+04]), 3.923940638578e+04, TOL));
assert(isequalRel(mag([-1.706978000550e+04, 9.944867978974e+03, 1.388591649059e+04]), 2.414739044574e+04, TOL));
assert(isequalRel(mag([4.413335410518e-02, -1.853448464029e+00, -3.815303116950e+00]), 4.241904859372e+00, TOL));
assert(isequalRel(mag([-1.220585520673e+04, -6.451355279107e+04, 3.119905715246e+04]), 7.269362119372e+04, TOL));
assert(isequalRel(mag([6.451355279107e+04, -1.220585520673e+04, 0.000000000000e+00]), 6.565806420429e+04, TOL));
assert(isequalRel(mag([-5.568012225663e-02, -2.984632871854e-01, -6.389472107050e-01]), 7.074137034860e-01, TOL));
assert(isequalRel(mag([6.451355279107e+04, -1.220585520673e+04, 0.000000000000e+00]), 6.565806420429e+04, TOL));
assert(isequalRel(mag([-5.568012225663e-02, -2.984632871854e-01, -6.389472107050e-01]), 7.074137034860e-01, TOL));
assert(isequalRel(mag([-5.568012225663e-02, -2.984632871854e-01, -6.389472107050e-01]), 7.074137034860e-01, TOL));
assert(isequalRel(mag([-1.706978000550e+04, 9.944867978974e+03, 1.388591649059e+04]), 2.414739044574e+04, TOL));
assert(isequalRel(mag([1.372509398980e+04, -2.180708770897e+03, 8.632968452340e+02]), 1.392404313464e+04, TOL));
assert(isequalRel(mag([3.878478111152e+00, 1.656846496247e+00, 4.944867241096e+00]), 6.499188011042e+00, TOL));
assert(isequalRel(mag([-1.221366571683e+04, -6.452048973345e+04, 3.119820512238e+04]), 7.270072371404e+04, TOL));
assert(isequalRel(mag([6.452048973345e+04, -1.221366571683e+04, 0.000000000000e+00]), 6.566633251284e+04, TOL));
assert(isequalRel(mag([-5.561779234696e-02, -2.984689444357e-01, -6.390322619730e-01]), 7.074880079976e-01, TOL));
assert(isequalRel(mag([6.452048973345e+04, -1.221366571683e+04, 0.000000000000e+00]), 6.566633251284e+04, TOL));
assert(isequalRel(mag([-5.561779234696e-02, -2.984689444357e-01, -6.390322619730e-01]), 7.074880079976e-01, TOL));
assert(isequalRel(mag([-5.561779234696e-02, -2.984689444357e-01, -6.390322619730e-01]), 7.074880079976e-01, TOL));
assert(isequalRel(mag([1.372509398980e+04, -2.180708770897e+03, 8.632968452340e+02]), 1.392404313464e+04, TOL));
assert(isequalRel(mag([1.908963879226e+04, 9.456296702471e+03, 2.702679562883e+04]), 3.441342090677e+04, TOL));
assert(isequalRel(mag([-6.566142985021e-01, 1.309112636489e+00, 2.449371940510e+00]), 2.853829205641e+00, TOL));
assert(isequalRel(mag([-1.221913187733e+04, -6.450380606479e+04, 3.119962699467e+04]), 7.268744668295e+04, TOL));
assert(isequalRel(mag([6.450380606479e+04, -1.221913187733e+04, 0.000000000000e+00]), 6.565095719546e+04, TOL));
assert(isequalRel(mag([-5.587545860498e-02, -2.984757253955e-01, -6.389682128818e-01]), 7.074533218510e-01, TOL));
assert(isequalRel(mag([6.450380606479e+04, -1.221913187733e+04, 0.000000000000e+00]), 6.565095719546e+04, TOL));
assert(isequalRel(mag([-5.587545860498e-02, -2.984757253955e-01, -6.389682128818e-01]), 7.074533218510e-01, TOL));
assert(isequalRel(mag([-5.587545860498e-02, -2.984757253955e-01, -6.389682128818e-01]), 7.074533218510e-01, TOL));
assert(isequalRel(mag([1.908963879226e+04, 9.456296702471e+03, 2.702679562883e+04]), 3.441342090677e+04, TOL));
assert(isequalRel(mag([1.110641248373e+04, 1.662760874079e+04, 3.872735140296e+04]), 4.358483127630e+04, TOL));
assert(isequalRel(mag([-1.409722679524e+00, 6.985825258442e-01, 8.913835346016e-01]), 1.808286532698e+00, TOL));
assert(isequalRel(mag([-1.223267431100e+04, -6.449489880712e+04, 3.119906283409e+04]), 7.268157823455e+04, TOL));
assert(isequalRel(mag([6.449489880712e+04, -1.223267431100e+04, 0.000000000000e+00]), 6.564472783811e+04, TOL));
assert(isequalRel(mag([-5.591490010956e-02, -2.985144869853e-01, -6.390143992071e-01]), 7.075145068396e-01, TOL));
assert(isequalRel(mag([6.449489880712e+04, -1.223267431100e+04, 0.000000000000e+00]), 6.564472783811e+04, TOL));
assert(isequalRel(mag([-5.591490010956e-02, -2.985144869853e-01, -6.390143992071e-01]), 7.075145068396e-01, TOL));
assert(isequalRel(mag([-5.591490010956e-02, -2.985144869853e-01, -6.390143992071e-01]), 7.075145068396e-01, TOL));
assert(isequalRel(mag([1.110641248373e+04, 1.662760874079e+04, 3.872735140296e+04]), 4.358483127630e+04, TOL));
assert(isequalRel(mag([7.240958620636e+01, 1.957508054144e+04, 4.049212544001e+04]), 4.497556274246e+04, TOL));
assert(isequalRel(mag([-1.593394604022e+00, 1.136551418846e-01, -3.905560628598e-01]), 1.644493202673e+00, TOL));
assert(isequalRel(mag([-1.224730464852e+04, -6.449165417857e+04, 3.119905742981e+04]), 7.268116065633e+04, TOL));
assert(isequalRel(mag([6.449165417857e+04, -1.224730464852e+04, 0.000000000000e+00]), 6.564426806540e+04, TOL));
assert(isequalRel(mag([-5.590412889115e-02, -2.985206134902e-01, -6.390181213928e-01]), 7.075196023956e-01, TOL));
assert(isequalRel(mag([6.449165417857e+04, -1.224730464852e+04, 0.000000000000e+00]), 6.564426806540e+04, TOL));
assert(isequalRel(mag([-5.590412889115e-02, -2.985206134902e-01, -6.390181213928e-01]), 7.075196023956e-01, TOL));
assert(isequalRel(mag([-5.590412889115e-02, -2.985206134902e-01, -6.390181213928e-01]), 7.075196023956e-01, TOL));
assert(isequalRel(mag([7.240958620636e+01, 1.957508054144e+04, 4.049212544001e+04]), 4.497556274246e+04, TOL));
assert(isequalRel(mag([-1.090589252576e+04, 1.796541205111e+04, 3.285007298244e+04]), 3.899771553439e+04, TOL));
assert(isequalRel(mag([-1.371396120481e+00, -6.017066038238e-01, -1.782817057614e+00]), 2.328350235097e+00, TOL));
assert(isequalRel(mag([-1.226293720215e+04, -6.449367386907e+04, 3.119984394308e+04]), 7.268592614823e+04, TOL));
assert(isequalRel(mag([6.449367386907e+04, -1.226293720215e+04, 0.000000000000e+00]), 6.564917058085e+04, TOL));
assert(isequalRel(mag([-5.590336653561e-02, -2.984862854977e-01, -6.389780878670e-01]), 7.074689009380e-01, TOL));
assert(isequalRel(mag([6.449367386907e+04, -1.226293720215e+04, 0.000000000000e+00]), 6.564917058085e+04, TOL));
assert(isequalRel(mag([-5.590336653561e-02, -2.984862854977e-01, -6.389780878670e-01]), 7.074689009380e-01, TOL));
assert(isequalRel(mag([-5.590336653561e-02, -2.984862854977e-01, -6.389780878670e-01]), 7.074689009380e-01, TOL));
assert(isequalRel(mag([-1.090589252576e+04, 1.796541205111e+04, 3.285007298244e+04]), 3.899771553439e+04, TOL));
assert(isequalRel(mag([-1.704461207568e+04, 9.635484918489e+03, 1.321259462953e+04]), 2.362062715656e+04, TOL));
assert(isequalRel(mag([1.292440295752e-01, -1.903551430351e+00, -3.884569098006e+00]), 4.327827300662e+00, TOL));
assert(isequalRel(mag([-1.227885355297e+04, -6.450332438564e+04, 3.119996679867e+04]), 7.269722848646e+04, TOL));
assert(isequalRel(mag([6.450332438564e+04, -1.227885355297e+04, 0.000000000000e+00]), 6.566162578991e+04, TOL));
assert(isequalRel(mag([-5.601807981294e-02, -2.983793091947e-01, -6.389203968686e-01]), 7.073807397407e-01, TOL));
assert(isequalRel(mag([6.450332438564e+04, -1.227885355297e+04, 0.000000000000e+00]), 6.566162578991e+04, TOL));
assert(isequalRel(mag([-5.601807981294e-02, -2.983793091947e-01, -6.389203968686e-01]), 7.073807397407e-01, TOL));
assert(isequalRel(mag([-5.601807981294e-02, -2.983793091947e-01, -6.389203968686e-01]), 7.073807397407e-01, TOL));
assert(isequalRel(mag([-1.704461207568e+04, 9.635484918489e+03, 1.321259462953e+04]), 2.362062715656e+04, TOL));
assert(isequalRel(mag([1.436990303735e+04, -1.903856010622e+03, 1.722153198525e+03]), 1.459741732811e+04, TOL));
assert(isequalRel(mag([3.543393116437e+00, 1.701687175957e+00, 4.913881357635e+00]), 6.292662712981e+00, TOL));
assert(isequalRel(mag([-1.228588857118e+04, -6.450973285714e+04, 3.119919000112e+04]), 7.270376983354e+04, TOL));
assert(isequalRel(mag([6.450973285714e+04, -1.228588857118e+04, 0.000000000000e+00]), 6.566923702376e+04, TOL));
assert(isequalRel(mag([-5.595440096095e-02, -2.983821652559e-01, -6.389910540802e-01]), 7.074407245305e-01, TOL));
assert(isequalRel(mag([6.450973285714e+04, -1.228588857118e+04, 0.000000000000e+00]), 6.566923702376e+04, TOL));
assert(isequalRel(mag([-5.595440096095e-02, -2.983821652559e-01, -6.389910540802e-01]), 7.074407245305e-01, TOL));
assert(isequalRel(mag([-5.595440096095e-02, -2.983821652559e-01, -6.389910540802e-01]), 7.074407245305e-01, TOL));
assert(isequalRel(mag([1.436990303735e+04, -1.903856010622e+03, 1.722153198525e+03]), 1.459741732811e+04, TOL));
assert(isequalRel(mag([1.898396210441e+04, 9.661122338040e+03, 2.744899557732e+04]), 3.474443063594e+04, TOL));
assert(isequalRel(mag([-6.871893040886e-01, 1.293808870096e+00, 2.403630758712e+00]), 2.814891002547e+00, TOL));
assert(isequalRel(mag([-1.229198313775e+04, -6.449309140510e+04, 3.120063849644e+04]), 7.269065642179e+04, TOL));
assert(isequalRel(mag([6.449309140510e+04, -1.229198313775e+04, 0.000000000000e+00]), 6.565403025288e+04, TOL));
assert(isequalRel(mag([-5.621045226164e-02, -2.983952253559e-01, -6.389410420996e-01]), 7.074213601086e-01, TOL));
assert(isequalRel(mag([6.449309140510e+04, -1.229198313775e+04, 0.000000000000e+00]), 6.565403025288e+04, TOL));
assert(isequalRel(mag([-5.621045226164e-02, -2.983952253559e-01, -6.389410420996e-01]), 7.074213601086e-01, TOL));
assert(isequalRel(mag([-5.621045226164e-02, -2.983952253559e-01, -6.389410420996e-01]), 7.074213601086e-01, TOL));
assert(isequalRel(mag([1.898396210441e+04, 9.661122338040e+03, 2.744899557732e+04]), 3.474443063594e+04, TOL));
assert(isequalRel(mag([1.087879336704e+04, 1.673531433954e+04, 3.887923434264e+04]), 4.370370412488e+04, TOL));
assert(isequalRel(mag([-1.418239665776e+00, 6.862357498785e-01, 8.589518483930e-01]), 1.794469707699e+00, TOL));
assert(isequalRel(mag([-1.230549134844e+04, -6.448443199063e+04, 3.120010353956e+04]), 7.268502973350e+04, TOL));
assert(isequalRel(mag([6.448443199063e+04, -1.230549134844e+04, 0.000000000000e+00]), 6.564805470447e+04, TOL));
assert(isequalRel(mag([-5.624827587651e-02, -2.984325445057e-01, -6.389855651233e-01]), 7.074803209950e-01, TOL));
assert(isequalRel(mag([6.448443199063e+04, -1.230549134844e+04, 0.000000000000e+00]), 6.564805470447e+04, TOL));
assert(isequalRel(mag([-5.624827587651e-02, -2.984325445057e-01, -6.389855651233e-01]), 7.074803209950e-01, TOL));
assert(isequalRel(mag([-5.624827587651e-02, -2.984325445057e-01, -6.389855651233e-01]), 7.074803209950e-01, TOL));
assert(isequalRel(mag([1.087879336704e+04, 1.673531433954e+04, 3.887923434264e+04]), 4.370370412488e+04, TOL));
assert(isequalRel(mag([-1.840374310020e+02, 1.959309371709e+04, 4.042040606889e+04]), 4.491917650577e+04, TOL));
assert(isequalRel(mag([-1.593348924572e+00, 1.004486972889e-01, -4.215719933717e-01]), 1.651233987604e+00, TOL));
assert(isequalRel(mag([-1.232007670814e+04, -6.448139556728e+04, 3.120014848297e+04]), 7.268482599386e+04, TOL));
assert(isequalRel(mag([6.448139556728e+04, -1.232007670814e+04, 0.000000000000e+00]), 6.564780776537e+04, TOL));
assert(isequalRel(mag([-5.623786679588e-02, -2.984372330080e-01, -6.389874752457e-01]), 7.074831964281e-01, TOL));
assert(isequalRel(mag([6.448139556728e+04, -1.232007670814e+04, 0.000000000000e+00]), 6.564780776537e+04, TOL));
assert(isequalRel(mag([-5.623786679588e-02, -2.984372330080e-01, -6.389874752457e-01]), 7.074831964281e-01, TOL));
assert(isequalRel(mag([-5.623786679588e-02, -2.984372330080e-01, -6.389874752457e-01]), 7.074831964281e-01, TOL));
assert(isequalRel(mag([-1.840374310020e+02, 1.959309371709e+04, 4.042040606889e+04]), 4.491917650577e+04, TOL));
assert(isequalRel(mag([-1.112512138631e+04, 1.787019488928e+04, 3.253421521208e+04]), 3.875032065296e+04, TOL));
assert(isequalRel(mag([-1.359116235779e+00, -6.214137764913e-01, -1.821629856174e+00]), 2.356201892214e+00, TOL));
assert(isequalRel(mag([-1.233567100584e+04, -6.448363338392e+04, 3.120097570514e+04]), 7.268981110520e+04, TOL));
assert(isequalRel(mag([6.448363338392e+04, -1.233567100584e+04, 0.000000000000e+00]), 6.565293408185e+04, TOL));
assert(isequalRel(mag([-5.623883691168e-02, -2.984010702631e-01, -6.389456917792e-01]), 7.074302810557e-01, TOL));
assert(isequalRel(mag([6.448363338392e+04, -1.233567100584e+04, 0.000000000000e+00]), 6.565293408185e+04, TOL));
assert(isequalRel(mag([-5.623883691168e-02, -2.984010702631e-01, -6.389456917792e-01]), 7.074302810557e-01, TOL));
assert(isequalRel(mag([-5.623883691168e-02, -2.984010702631e-01, -6.389456917792e-01]), 7.074302810557e-01, TOL));
assert(isequalRel(mag([-1.112512138631e+04, 1.787019488928e+04, 3.253421521208e+04]), 3.875032065296e+04, TOL));
assert(isequalRel(mag([-1.700443272827e+04, 9.316539263508e+03, 1.252611883812e+04]), 2.308359351152e+04, TOL));
assert(isequalRel(mag([2.203307359504e-01, -1.955594322101e+00, -3.955058574817e+00]), 4.417621884687e+00, TOL));
assert(isequalRel(mag([-1.235145162397e+04, -6.449363848962e+04, 3.120105214151e+04]), 7.270139900707e+04, TOL));
assert(isequalRel(mag([6.449363848962e+04, -1.235145162397e+04, 0.000000000000e+00]), 6.566572745998e+04, TOL));
assert(isequalRel(mag([-5.636062003809e-02, -2.982911655159e-01, -6.388892904932e-01]), 7.073426782139e-01, TOL));
assert(isequalRel(mag([6.449363848962e+04, -1.235145162397e+04, 0.000000000000e+00]), 6.566572745998e+04, TOL));
assert(isequalRel(mag([-5.636062003809e-02, -2.982911655159e-01, -6.388892904932e-01]), 7.073426782139e-01, TOL));
assert(isequalRel(mag([-5.636062003809e-02, -2.982911655159e-01, -6.388892904932e-01]), 7.073426782139e-01, TOL));
assert(isequalRel(mag([-1.700443272827e+04, 9.316539263508e+03, 1.252611883812e+04]), 2.308359351152e+04, TOL));
assert(isequalRel(mag([1.496006492693e+04, -1.620684308049e+03, 2.574963593810e+03]), 1.526632233885e+04, TOL));
assert(isequalRel(mag([3.238634028091e+00, 1.734723384922e+00, 4.868880331132e+00]), 6.099509100657e+00, TOL));
assert(isequalRel(mag([-1.235776751194e+04, -6.449940115919e+04, 3.120037781754e+04]), 7.270729498290e+04, TOL));
assert(isequalRel(mag([6.449940115919e+04, -1.235776751194e+04, 0.000000000000e+00]), 6.567257546170e+04, TOL));
assert(isequalRel(mag([-5.629756672539e-02, -2.982921243595e-01, -6.389466098567e-01]), 7.073898343357e-01, TOL));
assert(isequalRel(mag([6.449940115919e+04, -1.235776751194e+04, 0.000000000000e+00]), 6.567257546170e+04, TOL));
assert(isequalRel(mag([-5.629756672539e-02, -2.982921243595e-01, -6.389466098567e-01]), 7.073898343357e-01, TOL));
assert(isequalRel(mag([-5.629756672539e-02, -2.982921243595e-01, -6.389466098567e-01]), 7.073898343357e-01, TOL));
assert(isequalRel(mag([1.496006492693e+04, -1.620684308049e+03, 2.574963593810e+03]), 1.526632233885e+04, TOL));
assert(isequalRel(mag([1.887346347257e+04, 9.863570045860e+03, 2.786346574735e+04]), 3.506950756646e+04, TOL));
assert(isequalRel(mag([-7.167369810792e-01, 1.278632817399e+00, 2.358448535211e+00]), 2.776849523293e+00, TOL));
assert(isequalRel(mag([-1.236441938442e+04, -6.448286860340e+04, 3.120181519134e+04]), 7.269437723285e+04, TOL));
assert(isequalRel(mag([6.448286860340e+04, -1.236441938442e+04, 0.000000000000e+00]), 6.565759065056e+04, TOL));
assert(isequalRel(mag([-5.654991059281e-02, -2.983107754633e-01, -6.389096668141e-01]), 7.073844594661e-01, TOL));
assert(isequalRel(mag([6.448286860340e+04, -1.236441938442e+04, 0.000000000000e+00]), 6.565759065056e+04, TOL));
assert(isequalRel(mag([-5.654991059281e-02, -2.983107754633e-01, -6.389096668141e-01]), 7.073844594661e-01, TOL));
assert(isequalRel(mag([-5.654991059281e-02, -2.983107754633e-01, -6.389096668141e-01]), 7.073844594661e-01, TOL));
assert(isequalRel(mag([1.887346347257e+04, 9.863570045860e+03, 2.786346574735e+04]), 3.506950756646e+04, TOL));
assert(isequalRel(mag([1.064986857581e+04, 1.684114172669e+04, 3.902548035006e+04]), 4.381816828547e+04, TOL));
assert(isequalRel(mag([-1.426527152369e+00, 6.739010570046e-01, 8.266323323297e-01]), 1.781135414260e+00, TOL));
assert(isequalRel(mag([-1.237788019339e+04, -6.447443305344e+04, 3.120130364022e+04]), 7.268896604364e+04, TOL));
assert(isequalRel(mag([6.447443305344e+04, -1.237788019339e+04, 0.000000000000e+00]), 6.565184259139e+04, TOL));
assert(isequalRel(mag([-5.658635625537e-02, -2.983467635610e-01, -6.389527117880e-01]), 7.074414286305e-01, TOL));
assert(isequalRel(mag([6.447443305344e+04, -1.237788019339e+04, 0.000000000000e+00]), 6.565184259139e+04, TOL));
assert(isequalRel(mag([-5.658635625537e-02, -2.983467635610e-01, -6.389527117880e-01]), 7.074414286305e-01, TOL));
assert(isequalRel(mag([-5.658635625537e-02, -2.983467635610e-01, -6.389527117880e-01]), 7.074414286305e-01, TOL));
assert(isequalRel(mag([1.064986857581e+04, 1.684114172669e+04, 3.902548035006e+04]), 4.381816828547e+04, TOL));
assert(isequalRel(mag([-4.405345932276e+02, 1.960895524423e+04, 4.034310675451e+04]), 4.485834882275e+04, TOL));
assert(isequalRel(mag([-1.593138597312e+00, 8.714788447849e-02, -4.526805591052e-01]), 1.658494809339e+00, TOL));
assert(isequalRel(mag([-1.239240923037e+04, -6.447158195204e+04, 3.120139179469e+04]), 7.268895057612e+04, TOL));
assert(isequalRel(mag([6.447158195204e+04, -1.239240923037e+04, 0.000000000000e+00]), 6.565178357007e+04, TOL));
assert(isequalRel(mag([-5.657648669888e-02, -2.983501232925e-01, -6.389530163085e-01]), 7.074423311942e-01, TOL));
assert(isequalRel(mag([6.447158195204e+04, -1.239240923037e+04, 0.000000000000e+00]), 6.565178357007e+04, TOL));
assert(isequalRel(mag([-5.657648669888e-02, -2.983501232925e-01, -6.389530163085e-01]), 7.074423311942e-01, TOL));
assert(isequalRel(mag([-5.657648669888e-02, -2.983501232925e-01, -6.389530163085e-01]), 7.074423311942e-01, TOL));
assert(isequalRel(mag([-4.405345932276e+02, 1.960895524423e+04, 4.034310675451e+04]), 4.485834882275e+04, TOL));
assert(isequalRel(mag([-1.134245028909e+04, 1.777144223942e+04, 3.221112535721e+04]), 3.849716787775e+04, TOL));
assert(isequalRel(mag([-1.346344015261e+00, -6.414642913523e-01, -1.860864233947e+00]), 2.384729406389e+00, TOL));
assert(isequalRel(mag([-1.240795454808e+04, -6.447401591781e+04, 3.120225173850e+04]), 7.269413028705e+04, TOL));
assert(isequalRel(mag([6.447401591781e+04, -1.240795454808e+04, 0.000000000000e+00]), 6.565710977980e+04, TOL));
assert(isequalRel(mag([-5.657937702686e-02, -2.983122198892e-01, -6.389096953385e-01]), 7.073874505795e-01, TOL));
assert(isequalRel(mag([6.447401591781e+04, -1.240795454808e+04, 0.000000000000e+00]), 6.565710977980e+04, TOL));
assert(isequalRel(mag([-5.657937702686e-02, -2.983122198892e-01, -6.389096953385e-01]), 7.073874505795e-01, TOL));
assert(isequalRel(mag([-5.657937702686e-02, -2.983122198892e-01, -6.389096953385e-01]), 7.073874505795e-01, TOL));
assert(isequalRel(mag([-1.134245028909e+04, 1.777144223942e+04, 3.221112535721e+04]), 3.849716787775e+04, TOL));
assert(isequalRel(mag([-1.694806005711e+04, 8.987642548800e+03, 1.182628284367e+04]), 2.253609159066e+04, TOL));
assert(isequalRel(mag([3.180072971009e-01, -2.009693491722e+00, -4.026726647563e+00]), 4.511598836984e+00, TOL));
assert(isequalRel(mag([-1.242357608784e+04, -6.448436081458e+04, 3.120227007983e+04]), 7.270598111991e+04, TOL));
assert(isequalRel(mag([6.448436081458e+04, -1.242357608784e+04, 0.000000000000e+00]), 6.567022180924e+04, TOL));
assert(isequalRel(mag([-5.670867566911e-02, -2.981995413296e-01, -6.388551638665e-01]), 7.073010396884e-01, TOL));
assert(isequalRel(mag([6.448436081458e+04, -1.242357608784e+04, 0.000000000000e+00]), 6.567022180924e+04, TOL));
assert(isequalRel(mag([-5.670867566911e-02, -2.981995413296e-01, -6.388551638665e-01]), 7.073010396884e-01, TOL));
assert(isequalRel(mag([-5.670867566911e-02, -2.981995413296e-01, -6.388551638665e-01]), 7.073010396884e-01, TOL));
assert(isequalRel(mag([-1.694806005711e+04, 8.987642548800e+03, 1.182628284367e+04]), 2.253609159066e+04, TOL));
assert(isequalRel(mag([1.550053445068e+04, -1.332909810419e+03, 3.419723153077e+03]), 1.592914697224e+04, TOL));
assert(isequalRel(mag([2.960917974359e+00, 1.758331634449e+00, 4.813698637895e+00]), 5.918653560064e+00, TOL));
assert(isequalRel(mag([-1.242923353997e+04, -6.448938182061e+04, 3.120171669136e+04]), 7.271116378166e+04, TOL));
assert(isequalRel(mag([6.448938182061e+04, -1.242923353997e+04, 0.000000000000e+00]), 6.567622259232e+04, TOL));
assert(isequalRel(mag([-5.664747989866e-02, -2.981995052598e-01, -6.389003114064e-01]), 7.073368998088e-01, TOL));
assert(isequalRel(mag([6.448938182061e+04, -1.242923353997e+04, 0.000000000000e+00]), 6.567622259232e+04, TOL));
assert(isequalRel(mag([-5.664747989866e-02, -2.981995052598e-01, -6.389003114064e-01]), 7.073368998088e-01, TOL));
assert(isequalRel(mag([-5.664747989866e-02, -2.981995052598e-01, -6.389003114064e-01]), 7.073368998088e-01, TOL));
assert(isequalRel(mag([1.550053445068e+04, -1.332909810419e+03, 3.419723153077e+03]), 1.592914697224e+04, TOL));
# 9998
assert(isequalRel(mag([-1.136218265118e+04, -3.511755867813e+04, -5.413625379945e+03]), 3.730481821247e+04, TOL));
assert(isequalRel(mag([3.137861261368e+00, -1.011678260484e+00, 2.675100585537e-01]), 3.307752685700e+00, TOL));
assert(isequalRel(mag([-1.487114728555e+04, -1.394770721697e+04, 1.216889001498e+05]), 1.233850800456e+05, TOL));
assert(isequalRel(mag([1.394770721697e+04, -1.487114728555e+04, 0.000000000000e+00]), 2.038846630325e+04, TOL));
assert(isequalRel(mag([5.081754243019e-03, -2.657147878635e-02, -2.424540695609e-03]), 2.716148207783e-02, TOL));
assert(isequalRel(mag([1.394770721697e+04, -1.487114728555e+04, 0.000000000000e+00]), 2.038846630325e+04, TOL));
assert(isequalRel(mag([5.081754243019e-03, -2.657147878635e-02, -2.424540695609e-03]), 2.716148207783e-02, TOL));
assert(isequalRel(mag([5.081754243019e-03, -2.657147878635e-02, -2.424540695609e-03]), 2.716148207783e-02, TOL));
assert(isequalRel(mag([-1.136218265118e+04, -3.511755867813e+04, -5.413625379945e+03]), 3.730481821247e+04, TOL));
assert(isequalRel(mag([3.092534992889e+02, -3.696043090143e+04, -4.198480076703e+03]), 3.719941296715e+04, TOL));
assert(isequalRel(mag([3.292429375074e+00, -2.166045605727e-03, 4.021116276931e-01]), 3.316894578175e+00, TOL));
assert(isequalRel(mag([-1.487131312933e+04, -1.394755356317e+04, 1.216889385581e+05]), 1.233851205453e+05, TOL));
assert(isequalRel(mag([1.394755356317e+04, -1.487131312933e+04, 0.000000000000e+00]), 2.038848215508e+04, TOL));
assert(isequalRel(mag([5.095744072794e-03, -2.657415767361e-02, -2.423096834513e-03]), 2.716659459679e-02, TOL));
assert(isequalRel(mag([1.394755356317e+04, -1.487131312933e+04, 0.000000000000e+00]), 2.038848215508e+04, TOL));
assert(isequalRel(mag([5.095744072794e-03, -2.657415767361e-02, -2.423096834513e-03]), 2.716659459679e-02, TOL));
assert(isequalRel(mag([5.095744072794e-03, -2.657415767361e-02, -2.423096834513e-03]), 2.716659459679e-02, TOL));
assert(isequalRel(mag([3.092534992889e+02, -3.696043090143e+04, -4.198480076703e+03]), 3.719941296715e+04, TOL));
assert(isequalRel(mag([1.194904009077e+04, -3.512737816804e+04, -2.565898064678e+03]), 3.719268864884e+04, TOL));
assert(isequalRel(mag([3.119942783565e+00, 1.012096443731e+00, 4.972840999856e-01]), 3.317480016553e+00, TOL));
assert(isequalRel(mag([-1.487135033091e+04, -1.394752279748e+04, 1.216889910028e+05]), 1.233851732751e+05, TOL));
assert(isequalRel(mag([1.394752279748e+04, -1.487135033091e+04, 0.000000000000e+00]), 2.038848824339e+04, TOL));
assert(isequalRel(mag([5.110276166939e-03, -2.657252765271e-02, -2.421124751128e-03]), 2.716755405657e-02, TOL));
assert(isequalRel(mag([1.394752279748e+04, -1.487135033091e+04, 0.000000000000e+00]), 2.038848824339e+04, TOL));
assert(isequalRel(mag([5.110276166939e-03, -2.657252765271e-02, -2.421124751128e-03]), 2.716755405657e-02, TOL));
assert(isequalRel(mag([5.110276166939e-03, -2.657252765271e-02, -2.421124751128e-03]), 2.716755405657e-02, TOL));
assert(isequalRel(mag([1.194904009077e+04, -3.512737816804e+04, -2.565898064678e+03]), 3.719268864884e+04, TOL));
assert(isequalRel(mag([2.240045329336e+04, -2.979863236321e+04, -6.779151512206e+02]), 3.728536398398e+04, TOL));
assert(isequalRel(mag([2.638533343919e+00, 1.922477736227e+00, 5.427929125821e-01]), 3.309441493547e+00, TOL));
assert(isequalRel(mag([-1.487120966612e+04, -1.394750901711e+04, 1.216890578314e+05]), 1.233852206733e+05, TOL));
assert(isequalRel(mag([1.394750901711e+04, -1.487120966612e+04, 0.000000000000e+00]), 2.038837621577e+04, TOL));
assert(isequalRel(mag([5.123706486923e-03, -2.656630047150e-02, -2.418771310980e-03]), 2.716378367535e-02, TOL));
assert(isequalRel(mag([1.394750901711e+04, -1.487120966612e+04, 0.000000000000e+00]), 2.038837621577e+04, TOL));
assert(isequalRel(mag([5.123706486923e-03, -2.656630047150e-02, -2.418771310980e-03]), 2.716378367535e-02, TOL));
assert(isequalRel(mag([5.123706486923e-03, -2.656630047150e-02, -2.418771310980e-03]), 2.716378367535e-02, TOL));
assert(isequalRel(mag([2.240045329336e+04, -2.979863236321e+04, -6.779151512206e+02]), 3.728536398398e+04, TOL));
assert(isequalRel(mag([3.064084752458e+04, -2.152502340201e+04, 1.277348087222e+03]), 3.746758315687e+04, TOL));
assert(isequalRel(mag([1.903464941061e+00, 2.634294311900e+00, 5.345409335058e-01]), 3.293693870588e+00, TOL));
assert(isequalRel(mag([-1.487091690353e+04, -1.394739993764e+04, 1.216891377470e+05]), 1.233852518747e+05, TOL));
assert(isequalRel(mag([1.394739993764e+04, -1.487091690353e+04, 0.000000000000e+00]), 2.038808805582e+04, TOL));
assert(isequalRel(mag([5.134286174890e-03, -2.655607809876e-02, -2.416293716897e-03]), 2.715556395731e-02, TOL));
assert(isequalRel(mag([1.394739993764e+04, -1.487091690353e+04, 0.000000000000e+00]), 2.038808805582e+04, TOL));
assert(isequalRel(mag([5.134286174890e-03, -2.655607809876e-02, -2.416293716897e-03]), 2.715556395731e-02, TOL));
assert(isequalRel(mag([5.134286174890e-03, -2.655607809876e-02, -2.416293716897e-03]), 2.715556395731e-02, TOL));
assert(isequalRel(mag([3.064084752458e+04, -2.152502340201e+04, 1.277348087222e+03]), 3.746758315687e+04, TOL));
assert(isequalRel(mag([3.589956788035e+04, -1.115271158138e+04, 3.108725352380e+03]), 3.772036748137e+04, TOL));
assert(isequalRel(mag([9.973930448389e-01, 3.079858547670e+00, 4.748732906668e-01]), 3.271975886485e+00, TOL));
assert(isequalRel(mag([-1.487055919739e+04, -1.394712488808e+04, 1.216892279563e+05]), 1.233852666411e+05, TOL));
assert(isequalRel(mag([1.394712488808e+04, -1.487055919739e+04, 0.000000000000e+00]), 2.038763898756e+04, TOL));
assert(isequalRel(mag([5.140795543727e-03, -2.654327834369e-02, -2.413984528270e-03]), 2.714407348493e-02, TOL));
assert(isequalRel(mag([1.394712488808e+04, -1.487055919739e+04, 0.000000000000e+00]), 2.038763898756e+04, TOL));
assert(isequalRel(mag([5.140795543727e-03, -2.654327834369e-02, -2.413984528270e-03]), 2.714407348493e-02, TOL));
assert(isequalRel(mag([5.140795543727e-03, -2.654327834369e-02, -2.413984528270e-03]), 2.714407348493e-02, TOL));
assert(isequalRel(mag([3.589956788035e+04, -1.115271158138e+04, 3.108725352380e+03]), 3.772036748137e+04, TOL));
assert(isequalRel(mag([3.773245438600e+04, 2.881882105381e+02, 4.643875874950e+03]), 3.801824232626e+04, TOL));
assert(isequalRel(mag([1.665222633917e-02, 3.225184410378e+00, 3.716697456563e-01]), 3.246572065644e+00, TOL));
assert(isequalRel(mag([-1.487024523671e+04, -1.394668085247e+04, 1.216893246757e+05]), 1.233852740007e+05, TOL));
assert(isequalRel(mag([1.394668085247e+04, -1.487024523671e+04, 0.000000000000e+00]), 2.038710622429e+04, TOL));
assert(isequalRel(mag([5.142895348579e-03, -2.652960918227e-02, -2.412075817892e-03]), 2.713093521576e-02, TOL));
assert(isequalRel(mag([1.394668085247e+04, -1.487024523671e+04, 0.000000000000e+00]), 2.038710622429e+04, TOL));
assert(isequalRel(mag([5.142895348579e-03, -2.652960918227e-02, -2.412075817892e-03]), 2.713093521576e-02, TOL));
assert(isequalRel(mag([5.142895348579e-03, -2.652960918227e-02, -2.412075817892e-03]), 2.713093521576e-02, TOL));
assert(isequalRel(mag([3.773245438600e+04, 2.881882105381e+02, 4.643875874950e+03]), 3.801824232626e+04, TOL));
assert(isequalRel(mag([3.604592961699e+04, 1.170661816230e+04, 5.746326465740e+03]), 3.833241733314e+04, TOL));
assert(isequalRel(mag([-9.424090646217e-01, 3.069888941134e+00, 2.366629804474e-01]), 3.219994149419e+00, TOL));
assert(isequalRel(mag([-1.487006092407e+04, -1.394612728574e+04, 1.216894237763e+05]), 1.233852869558e+05, TOL));
assert(isequalRel(mag([1.394612728574e+04, -1.487006092407e+04, 0.000000000000e+00]), 2.038659309830e+04, TOL));
assert(isequalRel(mag([5.140979746232e-03, -2.651650405204e-02, -2.410693136208e-03]), 2.711763450764e-02, TOL));
assert(isequalRel(mag([1.394612728574e+04, -1.487006092407e+04, 0.000000000000e+00]), 2.038659309830e+04, TOL));
assert(isequalRel(mag([5.140979746232e-03, -2.651650405204e-02, -2.410693136208e-03]), 2.711763450764e-02, TOL));
assert(isequalRel(mag([5.140979746232e-03, -2.651650405204e-02, -2.410693136208e-03]), 2.711763450764e-02, TOL));
assert(isequalRel(mag([3.604592961699e+04, 1.170661816230e+04, 5.746326465740e+03]), 3.833241733314e+04, TOL));
assert(isequalRel(mag([3.107677273609e+04, 2.206344379776e+04, 6.325934037052e+03]), 3.863390735285e+04, TOL));
assert(isequalRel(mag([-1.794027975990e+00, 2.642072476104e+00, 8.355612737497e-02]), 3.194693251948e+00, TOL));
assert(isequalRel(mag([-1.487004028465e+04, -1.394555741788e+04, 1.216895213120e+05]), 1.233853162532e+05, TOL));
assert(isequalRel(mag([1.394555741788e+04, -1.487004028465e+04, 0.000000000000e+00]), 2.038618821071e+04, TOL));
assert(isequalRel(mag([5.135740196303e-03, -2.650489269402e-02, -2.409877499286e-03]), 2.710521487919e-02, TOL));
assert(isequalRel(mag([1.394555741788e+04, -1.487004028465e+04, 0.000000000000e+00]), 2.038618821071e+04, TOL));
assert(isequalRel(mag([5.135740196303e-03, -2.650489269402e-02, -2.409877499286e-03]), 2.710521487919e-02, TOL));
assert(isequalRel(mag([5.135740196303e-03, -2.650489269402e-02, -2.409877499286e-03]), 2.710521487919e-02, TOL));
assert(isequalRel(mag([3.107677273609e+04, 2.206344379776e+04, 6.325934037052e+03]), 3.863390735285e+04, TOL));
assert(isequalRel(mag([2.334126015320e+04, 3.046088002531e+04, 6.342917078955e+03]), 3.889617249198e+04, TOL));
assert(isequalRel(mag([-2.469409743480e+00, 1.990861657683e+00, -7.361209612670e-02]), 3.172843103894e+00, TOL));
assert(isequalRel(mag([-1.487015963888e+04, -1.394506215074e+04, 1.216896138105e+05]), 1.233853658884e+05, TOL));
assert(isequalRel(mag([1.394506215074e+04, -1.487015963888e+04, 0.000000000000e+00]), 2.038593647773e+04, TOL));
assert(isequalRel(mag([5.127811666320e-03, -2.649534647327e-02, -2.409637651210e-03]), 2.709435717698e-02, TOL));
assert(isequalRel(mag([1.394506215074e+04, -1.487015963888e+04, 0.000000000000e+00]), 2.038593647773e+04, TOL));
assert(isequalRel(mag([5.127811666320e-03, -2.649534647327e-02, -2.409637651210e-03]), 2.709435717698e-02, TOL));
assert(isequalRel(mag([5.127811666320e-03, -2.649534647327e-02, -2.409637651210e-03]), 2.709435717698e-02, TOL));
assert(isequalRel(mag([2.334126015320e+04, 3.046088002531e+04, 6.342917078955e+03]), 3.889617249198e+04, TOL));
assert(isequalRel(mag([1.356839733054e+04, 3.620445930900e+04, 5.806795487331e+03]), 3.909709904594e+04, TOL));
assert(isequalRel(mag([-2.919354203070e+00, 1.178920217102e+00, -2.216468135390e-01]), 3.156201696855e+00, TOL));
assert(isequalRel(mag([-1.487035163834e+04, -1.394470077916e+04, 1.216896983803e+05]), 1.233854315936e+05, TOL));
assert(isequalRel(mag([1.394470077916e+04, -1.487035163834e+04, 0.000000000000e+00]), 2.038582933481e+04, TOL));
assert(isequalRel(mag([5.117710600971e-03, -2.648836252560e-02, -2.409983237968e-03]), 2.708564805003e-02, TOL));
assert(isequalRel(mag([1.394470077916e+04, -1.487035163834e+04, 0.000000000000e+00]), 2.038582933481e+04, TOL));
assert(isequalRel(mag([5.117710600971e-03, -2.648836252560e-02, -2.409983237968e-03]), 2.708564805003e-02, TOL));
assert(isequalRel(mag([5.117710600971e-03, -2.648836252560e-02, -2.409983237968e-03]), 2.708564805003e-02, TOL));
assert(isequalRel(mag([1.356839733054e+04, 3.620445930900e+04, 5.806795487331e+03]), 3.909709904594e+04, TOL));
assert(isequalRel(mag([2.628587624197e+03, 3.884010855897e+04, 4.771919798544e+03]), 3.922033559691e+04, TOL));
assert(isequalRel(mag([-3.114400514097e+00, 2.762391085556e-01, -3.489264012615e-01]), 3.146036910273e+00, TOL));
assert(isequalRel(mag([-1.487053017534e+04, -1.394448585370e+04, 1.216897727657e+05]), 1.233855021840e+05, TOL));
assert(isequalRel(mag([1.394448585370e+04, -1.487053017534e+04, 0.000000000000e+00]), 2.038581255235e+04, TOL));
assert(isequalRel(mag([5.106014171704e-03, -2.648452291568e-02, -2.410916798148e-03]), 2.707976836312e-02, TOL));
assert(isequalRel(mag([1.394448585370e+04, -1.487053017534e+04, 0.000000000000e+00]), 2.038581255235e+04, TOL));
assert(isequalRel(mag([5.106014171704e-03, -2.648452291568e-02, -2.410916798148e-03]), 2.707976836312e-02, TOL));
assert(isequalRel(mag([5.106014171704e-03, -2.648452291568e-02, -2.410916798148e-03]), 2.707976836312e-02, TOL));
assert(isequalRel(mag([2.628587624197e+03, 3.884010855897e+04, 4.771919798544e+03]), 3.922033559691e+04, TOL));
assert(isequalRel(mag([-8.535815981575e+03, 3.817179073851e+04, 3.331003112854e+03]), 3.925609945466e+04, TOL));
assert(isequalRel(mag([-3.043839957770e+00, -6.444625274928e-01, -4.458088940627e-01]), 3.143093891038e+00, TOL));
assert(isequalRel(mag([-1.487061712833e+04, -1.394438305703e+04, 1.216898354512e+05]), 1.233855628701e+05, TOL));
assert(isequalRel(mag([1.394438305703e+04, -1.487061712833e+04, 0.000000000000e+00]), 2.038580566518e+04, TOL));
assert(isequalRel(mag([5.093581041121e-03, -2.648441527307e-02, -2.412396541141e-03]), 2.707745330068e-02, TOL));
assert(isequalRel(mag([1.394438305703e+04, -1.487061712833e+04, 0.000000000000e+00]), 2.038580566518e+04, TOL));
assert(isequalRel(mag([5.093581041121e-03, -2.648441527307e-02, -2.412396541141e-03]), 2.707745330068e-02, TOL));
assert(isequalRel(mag([5.093581041121e-03, -2.648441527307e-02, -2.412396541141e-03]), 2.707745330068e-02, TOL));
assert(isequalRel(mag([-8.535815981575e+03, 3.817179073851e+04, 3.331003112854e+03]), 3.925609945466e+04, TOL));
# 11801
assert(isequalRel(mag([-3.305221486939e+03, 3.241084323331e+04, -2.469716974954e+04]), 4.088199410266e+04, TOL));
assert(isequalRel(mag([-1.301137319152e+00, -1.151315600194e+00, -2.833358225210e-01]), 1.760330969694e+00, TOL));
assert(isequalRel(mag([-3.761738973941e+04, 3.119792158995e+04, 4.597631073606e+04]), 6.709843121294e+04, TOL));
assert(isequalRel(mag([-3.119792158995e+04, -3.761738973941e+04, 0.000000000000e+00]), 4.887103766383e+04, TOL));
assert(isequalRel(mag([-2.977358648358e-02, -6.159718862628e-01, 3.936165758588e-01]), 7.316022415966e-01, TOL));
assert(isequalRel(mag([-3.119792158995e+04, -3.761738973941e+04, 0.000000000000e+00]), 4.887103766383e+04, TOL));
assert(isequalRel(mag([-2.977358648358e-02, -6.159718862628e-01, 3.936165758588e-01]), 7.316022415966e-01, TOL));
assert(isequalRel(mag([-2.977358648358e-02, -6.159718862628e-01, 3.936165758588e-01]), 7.316022415966e-01, TOL));
assert(isequalRel(mag([-3.305221486939e+03, 3.241084323331e+04, -2.469716974954e+04]), 4.088199410266e+04, TOL));
assert(isequalRel(mag([1.427129083858e+04, 2.411044309009e+04, -4.725763201432e+03]), 2.841330755185e+04, TOL));
assert(isequalRel(mag([-3.205045281019e-01, 2.679841539187e+00, -2.084054354533e+00]), 3.409920289440e+00, TOL));
assert(isequalRel(mag([-3.758317738007e+04, 3.125677432175e+04, 4.597230419197e+04]), 6.710390387826e+04, TOL));
assert(isequalRel(mag([-3.125677432175e+04, -3.758317738007e+04, 0.000000000000e+00]), 4.888231953358e+04, TOL));
assert(isequalRel(mag([-2.977338592857e-02, -6.150954842553e-01, 3.938658853715e-01]), 7.309987995342e-01, TOL));
assert(isequalRel(mag([-3.125677432175e+04, -3.758317738007e+04, 0.000000000000e+00]), 4.888231953358e+04, TOL));
assert(isequalRel(mag([-2.977338592857e-02, -6.150954842553e-01, 3.938658853715e-01]), 7.309987995342e-01, TOL));
assert(isequalRel(mag([-2.977338592857e-02, -6.150954842553e-01, 3.938658853715e-01]), 7.309987995342e-01, TOL));
assert(isequalRel(mag([1.427129083858e+04, 2.411044309009e+04, -4.725763201432e+03]), 2.841330755185e+04, TOL));
assert(isequalRel(mag([-9.990058000092e+03, 2.271734212448e+04, -2.361688515553e+04]), 3.425837352379e+04, TOL));
assert(isequalRel(mag([-1.016674392241e+00, -2.290267980770e+00, 7.289233366775e-01]), 2.609651983375e+00, TOL));
assert(isequalRel(mag([-3.752979505543e+04, 3.129266877315e+04, 4.597604996138e+04]), 6.709332161922e+04, TOL));
assert(isequalRel(mag([-3.129266877315e+04, -3.752979505543e+04, 0.000000000000e+00]), 4.886426747480e+04, TOL));
assert(isequalRel(mag([-2.978386777092e-02, -6.144819460282e-01, 3.939224349624e-01]), 7.305135354946e-01, TOL));
assert(isequalRel(mag([-3.129266877315e+04, -3.752979505543e+04, 0.000000000000e+00]), 4.886426747480e+04, TOL));
assert(isequalRel(mag([-2.978386777092e-02, -6.144819460282e-01, 3.939224349624e-01]), 7.305135354946e-01, TOL));
assert(isequalRel(mag([-2.978386777092e-02, -6.144819460282e-01, 3.939224349624e-01]), 7.305135354946e-01, TOL));
assert(isequalRel(mag([-9.990058000092e+03, 2.271734212448e+04, -2.361688515553e+04]), 3.425837352379e+04, TOL));
assert(isequalRel(mag([9.787878362555e+03, 3.375332249667e+04, -1.503079874625e+04]), 3.822321615661e+04, TOL));
assert(isequalRel(mag([-1.094251552849e+00, 9.235899056171e-01, -1.522311007671e+00]), 2.089936740369e+00, TOL));
assert(isequalRel(mag([-3.750076038673e+04, 3.134766984171e+04, 4.597461120887e+04]), 6.710177575813e+04, TOL));
assert(isequalRel(mag([-3.134766984171e+04, -3.750076038673e+04, 0.000000000000e+00]), 4.887722817518e+04, TOL));
assert(isequalRel(mag([-2.982346140081e-02, -6.136264101045e-01, 3.940730580169e-01]), 7.298769657158e-01, TOL));
assert(isequalRel(mag([-3.134766984171e+04, -3.750076038673e+04, 0.000000000000e+00]), 4.887722817518e+04, TOL));
assert(isequalRel(mag([-2.982346140081e-02, -6.136264101045e-01, 3.940730580169e-01]), 7.298769657158e-01, TOL));
assert(isequalRel(mag([-2.982346140081e-02, -6.136264101045e-01, 3.940730580169e-01]), 7.298769657158e-01, TOL));
assert(isequalRel(mag([9.787878362555e+03, 3.375332249667e+04, -1.503079874625e+04]), 3.822321615661e+04, TOL));
# 14128
assert(isequalRel(mag([1.826333439094e+04, 3.815996004751e+04, 4.186183040854e+03]), 4.251183438002e+04, TOL));
assert(isequalRel(mag([-2.744396611244e+00, 1.255583260398e+00, 5.285589317648e-01]), 3.063915244903e+00, TOL));
assert(isequalRel(mag([1.491368636784e+04, -2.114179506750e+04, 1.276572019799e+05]), 1.302526573898e+05, TOL));
assert(isequalRel(mag([2.114179506750e+04, 1.491368636784e+04, 0.000000000000e+00]), 2.587264075727e+04, TOL));
assert(isequalRel(mag([5.464957282739e-04, 1.074904269715e-03, 1.141740510413e-04]), 1.211244188429e-03, TOL));
assert(isequalRel(mag([2.114179506750e+04, 1.491368636784e+04, 0.000000000000e+00]), 2.587264075727e+04, TOL));
assert(isequalRel(mag([5.464957282739e-04, 1.074904269715e-03, 1.141740510413e-04]), 1.211244188429e-03, TOL));
assert(isequalRel(mag([5.464957282739e-04, 1.074904269715e-03, 1.141740510413e-04]), 1.211244188429e-03, TOL));
assert(isequalRel(mag([1.826333439094e+04, 3.815996004751e+04, 4.186183040854e+03]), 4.251183438002e+04, TOL));
assert(isequalRel(mag([-3.023388407034e+03, 4.178313186459e+04, 7.273034129058e+03]), 4.251903116625e+04, TOL));
assert(isequalRel(mag([-3.035574792735e+00, -2.716565438489e-01, 3.096452507184e-01]), 3.063395466047e+00, TOL));
assert(isequalRel(mag([1.491371565681e+04, -2.114166120755e+04, 1.276571450951e+05]), 1.302525832647e+05, TOL));
assert(isequalRel(mag([2.114166120755e+04, 1.491371565681e+04, 0.000000000000e+00]), 2.587254825693e+04, TOL));
assert(isequalRel(mag([5.285545155401e-04, 1.076565036475e-03, 1.165438997095e-04]), 1.204966652741e-03, TOL));
assert(isequalRel(mag([2.114166120755e+04, 1.491371565681e+04, 0.000000000000e+00]), 2.587254825693e+04, TOL));
assert(isequalRel(mag([5.285545155401e-04, 1.076565036475e-03, 1.165438997095e-04]), 1.204966652741e-03, TOL));
assert(isequalRel(mag([5.285545155401e-04, 1.076565036475e-03, 1.165438997095e-04]), 1.204966652741e-03, TOL));
assert(isequalRel(mag([-3.023388407034e+03, 4.178313186459e+04, 7.273034129058e+03]), 4.251903116625e+04, TOL));
assert(isequalRel(mag([-2.351634391907e+04, 3.442442065671e+04, 8.448498676927e+03]), 4.253746935073e+04, TOL));
assert(isequalRel(mag([-2.529120477190e+00, -1.726186020213e+00, 9.582303196373e-03]), 3.062067991580e+00, TOL));
assert(isequalRel(mag([1.491354554399e+04, -2.114193026783e+04, 1.276570913179e+05]), 1.302525547538e+05, TOL));
assert(isequalRel(mag([2.114193026783e+04, 1.491354554399e+04, 0.000000000000e+00]), 2.587267006210e+04, TOL));
assert(isequalRel(mag([5.125641823255e-04, 1.070092275527e-03, 1.173430072498e-04]), 1.192304030227e-03, TOL));
assert(isequalRel(mag([2.114193026783e+04, 1.491354554399e+04, 0.000000000000e+00]), 2.587267006210e+04, TOL));
assert(isequalRel(mag([5.125641823255e-04, 1.070092275527e-03, 1.173430072498e-04]), 1.192304030227e-03, TOL));
assert(isequalRel(mag([5.125641823255e-04, 1.070092275527e-03, 1.173430072498e-04]), 1.192304030227e-03, TOL));
assert(isequalRel(mag([-2.351634391907e+04, 3.442442065671e+04, 8.448498676927e+03]), 4.253746935073e+04, TOL));
assert(isequalRel(mag([-3.783746699511e+04, 1.802839727170e+04, 7.406255402708e+03]), 4.256230299082e+04, TOL));
assert(isequalRel(mag([-1.360069524610e+00, -2.725794685791e+00, -2.925553488898e-01]), 3.060283387699e+00, TOL));
assert(isequalRel(mag([1.491362756457e+04, -2.114257562256e+04, 1.276570401659e+05]), 1.302526187645e+05, TOL));
assert(isequalRel(mag([2.114257562256e+04, 1.491362756457e+04, 0.000000000000e+00]), 2.587324469583e+04, TOL));
assert(isequalRel(mag([5.007539206673e-04, 1.057582273629e-03, 1.166559690213e-04]), 1.175943608200e-03, TOL));
assert(isequalRel(mag([2.114257562256e+04, 1.491362756457e+04, 0.000000000000e+00]), 2.587324469583e+04, TOL));
assert(isequalRel(mag([5.007539206673e-04, 1.057582273629e-03, 1.166559690213e-04]), 1.175943608200e-03, TOL));
assert(isequalRel(mag([5.007539206673e-04, 1.057582273629e-03, 1.166559690213e-04]), 1.175943608200e-03, TOL));
assert(isequalRel(mag([-3.783746699511e+04, 1.802839727170e+04, 7.406255402708e+03]), 4.256230299082e+04, TOL));
assert(isequalRel(mag([-4.224358460661e+04, -3.093728877741e+03, 4.422917118012e+03]), 4.258701438957e+04, TOL));
assert(isequalRel(mag([1.631109188974e-01, -3.009980598000e+00, -5.175843617427e-01]), 3.058509758644e+00, TOL));
assert(isequalRel(mag([1.491416039837e+04, -2.114319270101e+04, 1.276569910159e+05]), 1.302527317688e+05, TOL));
assert(isequalRel(mag([2.114319270101e+04, 1.491416039837e+04, 0.000000000000e+00]), 2.587405607902e+04, TOL));
assert(isequalRel(mag([4.957344673120e-04, 1.040387788360e-03, 1.143976214414e-04]), 1.158121853711e-03, TOL));
assert(isequalRel(mag([2.114319270101e+04, 1.491416039837e+04, 0.000000000000e+00]), 2.587405607902e+04, TOL));
assert(isequalRel(mag([4.957344673120e-04, 1.040387788360e-03, 1.143976214414e-04]), 1.158121853711e-03, TOL));
assert(isequalRel(mag([4.957344673120e-04, 1.040387788360e-03, 1.143976214414e-04]), 1.158121853711e-03, TOL));
assert(isequalRel(mag([-4.224358460661e+04, -3.093728877741e+03, 4.422917118012e+03]), 4.258701438957e+04, TOL));
assert(isequalRel(mag([-3.559757919549e+04, -2.340791145393e+04, 2.820955438334e+02]), 4.260513514953e+04, TOL));
assert(isequalRel(mag([1.641405246118e+00, -2.506773678091e+00, -6.069634776032e-01]), 3.057209531304e+00, TOL));
assert(isequalRel(mag([1.491489702349e+04, -2.114339735720e+04, 1.276569431922e+05]), 1.302528024658e+05, TOL));
assert(isequalRel(mag([2.114339735720e+04, 1.491489702349e+04, 0.000000000000e+00]), 2.587464792080e+04, TOL));
assert(isequalRel(mag([5.007139886500e-04, 1.022557311499e-03, 1.108614825383e-04]), 1.143952893278e-03, TOL));
assert(isequalRel(mag([2.114339735720e+04, 1.491489702349e+04, 0.000000000000e+00]), 2.587464792080e+04, TOL));
assert(isequalRel(mag([5.007139886500e-04, 1.022557311499e-03, 1.108614825383e-04]), 1.143952893278e-03, TOL));
assert(isequalRel(mag([5.007139886500e-04, 1.022557311499e-03, 1.108614825383e-04]), 1.143952893278e-03, TOL));
assert(isequalRel(mag([-3.559757919549e+04, -2.340791145393e+04, 2.820955438334e+02]), 4.260513514953e+04, TOL));
assert(isequalRel(mag([-1.964919834455e+04, -3.760611623860e+04, -3.932715259483e+03]), 4.261193756973e+04, TOL));
assert(isequalRel(mag([2.689647055579e+00, -1.349150015803e+00, -5.377106977158e-01]), 3.056720439157e+00, TOL));
assert(isequalRel(mag([1.491538814656e+04, -2.114320016950e+04, 1.276568960700e+05]), 1.302527805123e+05, TOL));
assert(isequalRel(mag([2.114320016950e+04, 1.491538814656e+04, 0.000000000000e+00]), 2.587476989212e+04, TOL));
assert(isequalRel(mag([5.148920649745e-04, 1.010652384668e-03, 1.072296999971e-04]), 1.139311322585e-03, TOL));
assert(isequalRel(mag([2.114320016950e+04, 1.491538814656e+04, 0.000000000000e+00]), 2.587476989212e+04, TOL));
assert(isequalRel(mag([5.148920649745e-04, 1.010652384668e-03, 1.072296999971e-04]), 1.139311322585e-03, TOL));
assert(isequalRel(mag([5.148920649745e-04, 1.010652384668e-03, 1.072296999971e-04]), 1.139311322585e-03, TOL));
assert(isequalRel(mag([-1.964919834455e+04, -3.760611623860e+04, -3.932715259483e+03]), 4.261193756973e+04, TOL));
assert(isequalRel(mag([1.431309121596e+03, -4.198204949668e+04, -7.120454670573e+03]), 4.260565690679e+04, TOL));
assert(isequalRel(mag([3.035263352650e+00, 1.608829452348e-01, -3.279939936737e-01]), 3.057169769884e+00, TOL));
assert(isequalRel(mag([1.491541979584e+04, -2.114299432082e+04, 1.276568495334e+05]), 1.302527051133e+05, TOL));
assert(isequalRel(mag([2.114299432082e+04, 1.491541979584e+04, 0.000000000000e+00]), 2.587461993028e+04, TOL));
assert(isequalRel(mag([5.326491153299e-04, 1.008303837491e-03, 1.047642739075e-04]), 1.145149449569e-03, TOL));
assert(isequalRel(mag([2.114299432082e+04, 1.491541979584e+04, 0.000000000000e+00]), 2.587461993028e+04, TOL));
assert(isequalRel(mag([5.326491153299e-04, 1.008303837491e-03, 1.047642739075e-04]), 1.145149449569e-03, TOL));
assert(isequalRel(mag([5.326491153299e-04, 1.008303837491e-03, 1.047642739075e-04]), 1.145149449569e-03, TOL));
assert(isequalRel(mag([1.431309121596e+03, -4.198204949668e+04, -7.120454670573e+03]), 4.260565690679e+04, TOL));
assert(isequalRel(mag([2.213697605384e+04, -3.538819823762e+04, -8.447623934009e+03]), 4.258794000001e+04, TOL));
assert(isequalRel(mag([2.587624888870e+00, 1.630097135750e+00, -3.234900433312e-02]), 3.058441710342e+00, TOL));
assert(isequalRel(mag([1.491522055685e+04, -2.114317280917e+04, 1.276568037915e+05]), 1.302526664409e+05, TOL));
assert(isequalRel(mag([2.114317280917e+04, 1.491522055685e+04, 0.000000000000e+00]), 2.587465092900e+04, TOL));
assert(isequalRel(mag([5.487222672618e-04, 1.014241870948e-03, 1.038720782070e-04]), 1.157830776929e-03, TOL));
assert(isequalRel(mag([2.114317280917e+04, 1.491522055685e+04, 0.000000000000e+00]), 2.587465092900e+04, TOL));
assert(isequalRel(mag([5.487222672618e-04, 1.014241870948e-03, 1.038720782070e-04]), 1.157830776929e-03, TOL));
assert(isequalRel(mag([5.487222672618e-04, 1.014241870948e-03, 1.038720782070e-04]), 1.157830776929e-03, TOL));
assert(isequalRel(mag([2.213697605384e+04, -3.538819823762e+04, -8.447623934009e+03]), 4.258794000001e+04, TOL));
assert(isequalRel(mag([3.705015790219e+04, -1.953723321425e+04, -7.564834635430e+03]), 4.256341627861e+04, TOL));
assert(isequalRel(mag([1.461844493729e+00, 2.674654255715e+00, 2.722021906567e-01]), 3.060205670222e+00, TOL));
assert(isequalRel(mag([1.491523947114e+04, -2.114374600293e+04, 1.276567593049e+05]), 1.302527180513e+05, TOL));
assert(isequalRel(mag([2.114374600293e+04, 1.491523947114e+04, 0.000000000000e+00]), 2.587513021258e+04, TOL));
assert(isequalRel(mag([5.607633067807e-04, 1.026309293925e-03, 1.044684519373e-04]), 1.174172010601e-03, TOL));
assert(isequalRel(mag([2.114374600293e+04, 1.491523947114e+04, 0.000000000000e+00]), 2.587513021258e+04, TOL));
assert(isequalRel(mag([5.607633067807e-04, 1.026309293925e-03, 1.044684519373e-04]), 1.174172010601e-03, TOL));
assert(isequalRel(mag([5.607633067807e-04, 1.026309293925e-03, 1.044684519373e-04]), 1.174172010601e-03, TOL));
assert(isequalRel(mag([3.705015790219e+04, -1.953723321425e+04, -7.564834635430e+03]), 4.256341627861e+04, TOL));
assert(isequalRel(mag([4.225381760945e+04, 1.431818675929e+03, -4.699876211736e+03]), 4.253850072227e+04, TOL));
assert(isequalRel(mag([-4.924733417179e-02, 3.019518960346e+00, 5.058900579504e-01]), 3.062000131050e+00, TOL));
assert(isequalRel(mag([1.491570816556e+04, -2.114432986470e+04, 1.276567166716e+05]), 1.302528247174e+05, TOL));
assert(isequalRel(mag([2.114432986470e+04, 1.491570816556e+04, 0.000000000000e+00]), 2.587587748285e+04, TOL));
assert(isequalRel(mag([5.662812190698e-04, 1.043215107943e-03, 1.066265787951e-04]), 1.191780771710e-03, TOL));
assert(isequalRel(mag([2.114432986470e+04, 1.491570816556e+04, 0.000000000000e+00]), 2.587587748285e+04, TOL));
assert(isequalRel(mag([5.662812190698e-04, 1.043215107943e-03, 1.066265787951e-04]), 1.191780771710e-03, TOL));
assert(isequalRel(mag([5.662812190698e-04, 1.043215107943e-03, 1.066265787951e-04]), 1.191780771710e-03, TOL));
assert(isequalRel(mag([4.225381760945e+04, 1.431818675929e+03, -4.699876211736e+03]), 4.253850072227e+04, TOL));
assert(isequalRel(mag([3.636659147396e+04, 2.202354245720e+04, -6.014712182108e+02]), 4.251972677975e+04, TOL));
assert(isequalRel(mag([-1.549681545806e+00, 2.571788981157e+00, 6.070574177354e-01]), 3.063352765425e+00, TOL));
assert(isequalRel(mag([1.491641186493e+04, -2.114452026482e+04, 1.276566765542e+05]), 1.302528968930e+05, TOL));
assert(isequalRel(mag([2.114452026482e+04, 1.491641186493e+04, 0.000000000000e+00]), 2.587643870694e+04, TOL));
assert(isequalRel(mag([5.619424035107e-04, 1.061206154224e-03, 1.101119900458e-04]), 1.205845104887e-03, TOL));
assert(isequalRel(mag([2.114452026482e+04, 1.491641186493e+04, 0.000000000000e+00]), 2.587643870694e+04, TOL));
assert(isequalRel(mag([5.619424035107e-04, 1.061206154224e-03, 1.101119900458e-04]), 1.205845104887e-03, TOL));
assert(isequalRel(mag([5.619424035107e-04, 1.061206154224e-03, 1.101119900458e-04]), 1.205845104887e-03, TOL));
assert(isequalRel(mag([3.636659147396e+04, 2.202354245720e+04, -6.014712182108e+02]), 4.251972677975e+04, TOL));
assert(isequalRel(mag([2.092212287985e+04, 3.682633975981e+04, 3.654911258864e+03]), 4.251203244041e+04, TOL));
assert(isequalRel(mag([-2.644070067530e+00, 1.447521215940e+00, 5.487229830555e-01]), 3.063906184063e+00, TOL));
assert(isequalRel(mag([1.491689741843e+04, -2.114429113753e+04, 1.276566394067e+05]), 1.302528788968e+05, TOL));
assert(isequalRel(mag([2.114429113753e+04, 1.491689741843e+04, 0.000000000000e+00]), 2.587653138078e+04, TOL));
assert(isequalRel(mag([5.481061560642e-04, 1.073697446075e-03, 1.137937529651e-04]), 1.210865633436e-03, TOL));
assert(isequalRel(mag([2.114429113753e+04, 1.491689741843e+04, 0.000000000000e+00]), 2.587653138078e+04, TOL));
assert(isequalRel(mag([5.481061560642e-04, 1.073697446075e-03, 1.137937529651e-04]), 1.210865633436e-03, TOL));
assert(isequalRel(mag([5.481061560642e-04, 1.073697446075e-03, 1.137937529651e-04]), 1.210865633436e-03, TOL));
assert(isequalRel(mag([2.092212287985e+04, 3.682633975981e+04, 3.654911258864e+03]), 4.251203244041e+04, TOL));
assert(isequalRel(mag([-2.377224182361e+01, 4.194551688402e+04, 6.950298917514e+03]), 4.251745061536e+04, TOL));
assert(isequalRel(mag([-3.043358385199e+00, -5.741743997494e-02, 3.461120940566e-01]), 3.063514420535e+00, TOL));
assert(isequalRel(mag([1.491691905592e+04, -2.114402262986e+04, 1.276566054717e+05]), 1.302528045290e+05, TOL));
assert(isequalRel(mag([2.114402262986e+04, 1.491691905592e+04, 0.000000000000e+00]), 2.587632445098e+04, TOL));
assert(isequalRel(mag([5.302323939245e-04, 1.076654259857e-03, 1.163697583768e-04]), 1.205766439863e-03, TOL));
assert(isequalRel(mag([2.114402262986e+04, 1.491691905592e+04, 0.000000000000e+00]), 2.587632445098e+04, TOL));
assert(isequalRel(mag([5.302323939245e-04, 1.076654259857e-03, 1.163697583768e-04]), 1.205766439863e-03, TOL));
assert(isequalRel(mag([5.302323939245e-04, 1.076654259857e-03, 1.163697583768e-04]), 1.205766439863e-03, TOL));
assert(isequalRel(mag([-2.377224182361e+01, 4.194551688402e+04, 6.950298917514e+03]), 4.251745061536e+04, TOL));
assert(isequalRel(mag([-2.096417821076e+04, 3.603906206172e+04, 8.418919849633e+03]), 4.253456210866e+04, TOL));
assert(isequalRel(mag([-2.642795221088e+00, -1.546099885695e+00, 5.272585177377e-02]), 3.062282066140e+00, TOL));
assert(isequalRel(mag([1.491668126153e+04, -2.114412699244e+04, 1.276565745246e+05]), 1.302527639072e+05, TOL));
assert(isequalRel(mag([2.114412699244e+04, 1.491668126153e+04, 0.000000000000e+00]), 2.587627264755e+04, TOL));
assert(isequalRel(mag([5.138138158844e-04, 1.071129180207e-03, 1.173750317843e-04]), 1.193775211743e-03, TOL));
assert(isequalRel(mag([2.114412699244e+04, 1.491668126153e+04, 0.000000000000e+00]), 2.587627264755e+04, TOL));
assert(isequalRel(mag([5.138138158844e-04, 1.071129180207e-03, 1.173750317843e-04]), 1.193775211743e-03, TOL));
assert(isequalRel(mag([5.138138158844e-04, 1.071129180207e-03, 1.173750317843e-04]), 1.193775211743e-03, TOL));
assert(isequalRel(mag([-2.096417821076e+04, 3.603906206172e+04, 8.418919849633e+03]), 4.253456210866e+04, TOL));
assert(isequalRel(mag([-3.640163863057e+04, 2.066975286162e+04, 7.677197693592e+03]), 4.255886914355e+04, TOL));
assert(isequalRel(mag([-1.549488154416e+00, -2.627052310288e+00, -2.540796524511e-01]), 3.060534896298e+00, TOL));
assert(isequalRel(mag([1.491663631416e+04, -2.114464257724e+04, 1.276565460765e+05]), 1.302528145755e+05, TOL));
assert(isequalRel(mag([2.114464257724e+04, 1.491663631416e+04, 0.000000000000e+00]), 2.587666803605e+04, TOL));
assert(isequalRel(mag([5.013303995693e-04, 1.059369884468e-03, 1.168904751004e-04]), 1.177820064704e-03, TOL));
assert(isequalRel(mag([2.114464257724e+04, 1.491663631416e+04, 0.000000000000e+00]), 2.587666803605e+04, TOL));
assert(isequalRel(mag([5.013303995693e-04, 1.059369884468e-03, 1.168904751004e-04]), 1.177820064704e-03, TOL));
assert(isequalRel(mag([5.013303995693e-04, 1.059369884468e-03, 1.168904751004e-04]), 1.177820064704e-03, TOL));
assert(isequalRel(mag([-3.640163863057e+04, 2.066975286162e+04, 7.677197693592e+03]), 4.255886914355e+04, TOL));
assert(isequalRel(mag([-4.229830327543e+04, -1.190335111769e+02, 4.922963888414e+03]), 4.258398997750e+04, TOL));
assert(isequalRel(mag([-5.223276790967e-02, -3.018152669338e+00, -4.938273311773e-01]), 3.058731637541e+00, TOL));
assert(isequalRel(mag([1.491703860202e+04, -2.114519825005e+04, 1.276565194895e+05]), 1.302529247958e+05, TOL));
assert(isequalRel(mag([2.114519825005e+04, 1.491703860202e+04, 0.000000000000e+00]), 2.587735399317e+04, TOL));
assert(isequalRel(mag([4.951737811864e-04, 1.042662209547e-03, 1.148454679688e-04]), 1.159970274751e-03, TOL));
assert(isequalRel(mag([2.114519825005e+04, 1.491703860202e+04, 0.000000000000e+00]), 2.587735399317e+04, TOL));
assert(isequalRel(mag([4.951737811864e-04, 1.042662209547e-03, 1.148454679688e-04]), 1.159970274751e-03, TOL));
assert(isequalRel(mag([4.951737811864e-04, 1.042662209547e-03, 1.148454679688e-04]), 1.159970274751e-03, TOL));
assert(isequalRel(mag([-4.229830327543e+04, -1.190335111769e+02, 4.922963888414e+03]), 4.258398997750e+04, TOL));
assert(isequalRel(mag([-3.712562383511e+04, -2.087963058368e+04, 8.798697134838e+02]), 4.260334598561e+04, TOL));
assert(isequalRel(mag([1.456499841448e+00, -2.619358420834e+00, -6.040816936099e-01]), 3.057342803397e+00, TOL));
assert(isequalRel(mag([1.491769674819e+04, -2.114537962445e+04, 1.276564940558e+05]), 1.302530046884e+05, TOL));
assert(isequalRel(mag([2.114537962445e+04, 1.491769674819e+04, 0.000000000000e+00]), 2.587788159284e+04, TOL));
assert(isequalRel(mag([4.986678031938e-04, 1.024550333379e-03, 1.114360125800e-04]), 1.144897789529e-03, TOL));
assert(isequalRel(mag([2.114537962445e+04, 1.491769674819e+04, 0.000000000000e+00]), 2.587788159284e+04, TOL));
assert(isequalRel(mag([4.986678031938e-04, 1.024550333379e-03, 1.114360125800e-04]), 1.144897789529e-03, TOL));
assert(isequalRel(mag([4.986678031938e-04, 1.024550333379e-03, 1.114360125800e-04]), 1.144897789529e-03, TOL));
assert(isequalRel(mag([-3.712562383511e+04, -2.087963058368e+04, 8.798697134838e+02]), 4.260334598561e+04, TOL));
assert(isequalRel(mag([-2.225012320553e+04, -3.618274736487e+04, -3.393153651825e+03]), 4.261188427230e+04, TOL));
assert(isequalRel(mag([2.583161225931e+00, -1.536647628308e+00, -5.564045550439e-01]), 3.056729278431e+00, TOL));
assert(isequalRel(mag([1.491816393625e+04, -2.114513284887e+04, 1.276564690939e+05]), 1.302529936699e+05, TOL));
assert(isequalRel(mag([2.114513284887e+04, 1.491816393625e+04, 0.000000000000e+00]), 2.587794927009e+04, TOL));
assert(isequalRel(mag([5.118624434904e-04, 1.011490021423e-03, 1.077269576004e-04]), 1.138736282854e-03, TOL));
assert(isequalRel(mag([2.114513284887e+04, 1.491816393625e+04, 0.000000000000e+00]), 2.587794927009e+04, TOL));
assert(isequalRel(mag([5.118624434904e-04, 1.011490021423e-03, 1.077269576004e-04]), 1.138736282854e-03, TOL));
assert(isequalRel(mag([5.118624434904e-04, 1.011490021423e-03, 1.077269576004e-04]), 1.138736282854e-03, TOL));
assert(isequalRel(mag([-2.225012320553e+04, -3.618274736487e+04, -3.393153651825e+03]), 4.261188427230e+04, TOL));
assert(isequalRel(mag([-1.563062586537e+03, -4.203543179159e+04, -6.780021617604e+03]), 4.260738649213e+04, TOL));
assert(isequalRel(mag([3.034917505677e+00, -5.270204580917e-02, -3.633956537186e-01]), 3.057050567629e+00, TOL));
assert(isequalRel(mag([1.491817220537e+04, -2.114481644657e+04, 1.276564443990e+05]), 1.302529190502e+05, TOL));
assert(isequalRel(mag([2.114481644657e+04, 1.491817220537e+04, 0.000000000000e+00]), 2.587769550227e+04, TOL));
assert(isequalRel(mag([5.295185272341e-04, 1.007818366101e-03, 1.050529477819e-04]), 1.143295172548e-03, TOL));
assert(isequalRel(mag([2.114481644657e+04, 1.491817220537e+04, 0.000000000000e+00]), 2.587769550227e+04, TOL));
assert(isequalRel(mag([5.295185272341e-04, 1.007818366101e-03, 1.050529477819e-04]), 1.143295172548e-03, TOL));
assert(isequalRel(mag([5.295185272341e-04, 1.007818366101e-03, 1.050529477819e-04]), 1.143295172548e-03, TOL));
assert(isequalRel(mag([-1.563062586537e+03, -4.203543179159e+04, -6.780021617604e+03]), 4.260738649213e+04, TOL));
assert(isequalRel(mag([1.953164069587e+04, -3.690565470956e+04, -8.395468920325e+03]), 4.259103469283e+04, TOL));
assert(isequalRel(mag([2.693682199348e+00, 1.446079999021e+00, -7.525605408714e-02]), 3.058224097141e+00, TOL));
assert(isequalRel(mag([1.491789363503e+04, -2.114485097724e+04, 1.276564201048e+05]), 1.302528689409e+05, TOL));
assert(isequalRel(mag([2.114485097724e+04, 1.491789363503e+04, 0.000000000000e+00]), 2.587756312631e+04, TOL));
assert(isequalRel(mag([5.460194811995e-04, 1.012770010409e-03, 1.039462832363e-04]), 1.155268452626e-03, TOL));
assert(isequalRel(mag([2.114485097724e+04, 1.491789363503e+04, 0.000000000000e+00]), 2.587756312631e+04, TOL));
assert(isequalRel(mag([5.460194811995e-04, 1.012770010409e-03, 1.039462832363e-04]), 1.155268452626e-03, TOL));
assert(isequalRel(mag([5.460194811995e-04, 1.012770010409e-03, 1.039462832363e-04]), 1.155268452626e-03, TOL));
assert(isequalRel(mag([1.953164069587e+04, -3.690565470956e+04, -8.395468920325e+03]), 4.259103469283e+04, TOL));
assert(isequalRel(mag([3.551653506142e+04, -2.212371916638e+04, -7.815045169350e+03]), 4.256710165751e+04, TOL));
assert(isequalRel(mag([1.646882125394e+00, 2.568416058022e+00, 2.329859120639e-01]), 3.059945133049e+00, TOL));
assert(isequalRel(mag([1.491777261890e+04, -2.114531051319e+04, 1.276563966194e+05]), 1.302529066642e+05, TOL));
assert(isequalRel(mag([2.114531051319e+04, 1.491777261890e+04, 0.000000000000e+00]), 2.587786885755e+04, TOL));
assert(isequalRel(mag([5.587309190562e-04, 1.024062523047e-03, 1.043355412014e-04]), 1.171225937288e-03, TOL));
assert(isequalRel(mag([2.114531051319e+04, 1.491777261890e+04, 0.000000000000e+00]), 2.587786885755e+04, TOL));
assert(isequalRel(mag([5.587309190562e-04, 1.024062523047e-03, 1.043355412014e-04]), 1.171225937288e-03, TOL));
assert(isequalRel(mag([5.587309190562e-04, 1.024062523047e-03, 1.043355412014e-04]), 1.171225937288e-03, TOL));
assert(isequalRel(mag([3.551653506142e+04, -2.212371916638e+04, -7.815045169350e+03]), 4.256710165751e+04, TOL));
assert(isequalRel(mag([4.219603535976e+04, -1.547326467506e+03, -5.187394019815e+03]), 4.254184617521e+04, TOL));
assert(isequalRel(mag([1.664918412208e-01, 3.019211548679e+00, 4.806657802209e-01]), 3.061763789247e+00, TOL));
assert(isequalRel(mag([1.491809304841e+04, -2.114584903992e+04, 1.276563744992e+05]), 1.302530091096e+05, TOL));
assert(isequalRel(mag([2.114584903992e+04, 1.491809304841e+04, 0.000000000000e+00]), 2.587849361575e+04, TOL));
assert(isequalRel(mag([5.653689655489e-04, 1.040428249522e-03, 1.062736735220e-04]), 1.188876403708e-03, TOL));
assert(isequalRel(mag([2.114584903992e+04, 1.491809304841e+04, 0.000000000000e+00]), 2.587849361575e+04, TOL));
assert(isequalRel(mag([5.653689655489e-04, 1.040428249522e-03, 1.062736735220e-04]), 1.188876403708e-03, TOL));
assert(isequalRel(mag([5.653689655489e-04, 1.040428249522e-03, 1.062736735220e-04]), 1.188876403708e-03, TOL));
assert(isequalRel(mag([4.219603535976e+04, -1.547326467506e+03, -5.187394019815e+03]), 4.254184617521e+04, TOL));
assert(isequalRel(mag([3.780225393045e+04, 1.943357330019e+04, -1.198666342264e+03]), 4.252188818052e+04, TOL));
assert(isequalRel(mag([-1.359930579954e+00, 2.677830902827e+00, 6.025074661403e-01]), 3.063201719310e+00, TOL));
assert(isequalRel(mag([1.491869878065e+04, -2.114603721602e+04, 1.276563543802e+05]), 1.302530893180e+05, TOL));
assert(isequalRel(mag([2.114603721602e+04, 1.491869878065e+04, 0.000000000000e+00]), 2.587899656573e+04, TOL));
assert(isequalRel(mag([5.625050041782e-04, 1.058633028284e-03, 1.096228289003e-04]), 1.203799374030e-03, TOL));
assert(isequalRel(mag([2.114603721602e+04, 1.491869878065e+04, 0.000000000000e+00]), 2.587899656573e+04, TOL));
assert(isequalRel(mag([5.625050041782e-04, 1.058633028284e-03, 1.096228289003e-04]), 1.203799374030e-03, TOL));
assert(isequalRel(mag([5.625050041782e-04, 1.058633028284e-03, 1.096228289003e-04]), 1.203799374030e-03, TOL));
assert(isequalRel(mag([3.780225393045e+04, 1.943357330019e+04, -1.198666342264e+03]), 4.252188818052e+04, TOL));
# 16925
assert(isequalRel(mag([1.233983273749e+04, -2.771144478711e+03, 1.890457603433e+04]), 2.274497106503e+04, TOL));
assert(isequalRel(mag([-8.712476135168e-01, 2.600917692680e+00, 5.815600021766e-01]), 2.803936034271e+00, TOL));
assert(isequalRel(mag([-5.078083306938e+04, -2.364691990814e+04, 2.968053627787e+04]), 6.339403806435e+04, TOL));
assert(isequalRel(mag([2.364691990814e+04, -5.078083306938e+04, 0.000000000000e+00]), 5.601669240826e+04, TOL));
assert(isequalRel(mag([-3.143599772089e-01, 1.126207265650e-01, -4.481161694904e-01]), 5.588503598295e-01, TOL));
assert(isequalRel(mag([2.364691990814e+04, -5.078083306938e+04, 0.000000000000e+00]), 5.601669240826e+04, TOL));
assert(isequalRel(mag([-3.143599772089e-01, 1.126207265650e-01, -4.481161694904e-01]), 5.588503598295e-01, TOL));
assert(isequalRel(mag([-3.143599772089e-01, 1.126207265650e-01, -4.481161694904e-01]), 5.588503598295e-01, TOL));
assert(isequalRel(mag([1.233983273749e+04, -2.771144478711e+03, 1.890457603433e+04]), 2.274497106503e+04, TOL));
assert(isequalRel(mag([-3.385002156585e+03, 7.538139557293e+03, 2.005900861598e+02]), 8.265713760346e+03, TOL));
assert(isequalRel(mag([-2.023512864987e+00, -4.261808344403e+00, -6.856385786922e+00]), 8.322718350292e+00, TOL));
assert(isequalRel(mag([-5.082951641746e+04, -2.361477729504e+04, 2.967975280901e+04]), 6.342069987575e+04, TOL));
assert(isequalRel(mag([2.361477729504e+04, -5.082951641746e+04, 0.000000000000e+00]), 5.604727866656e+04, TOL));
assert(isequalRel(mag([-3.140119044932e-01, 1.130198501674e-01, -4.478519328860e-01]), 5.585233356674e-01, TOL));
assert(isequalRel(mag([2.361477729504e+04, -5.082951641746e+04, 0.000000000000e+00]), 5.604727866656e+04, TOL));
assert(isequalRel(mag([-3.140119044932e-01, 1.130198501674e-01, -4.478519328860e-01]), 5.585233356674e-01, TOL));
assert(isequalRel(mag([-3.140119044932e-01, 1.130198501674e-01, -4.478519328860e-01]), 5.585233356674e-01, TOL));
assert(isequalRel(mag([-3.385002156585e+03, 7.538139557293e+03, 2.005900861598e+02]), 8.265713760346e+03, TOL));
assert(isequalRel(mag([1.280522442200e+04, -1.025894667177e+04, 1.378016486738e+04]), 2.142691538893e+04, TOL));
assert(isequalRel(mag([6.192792241561e-01, 1.821510541914e+00, 2.507365975050e+00]), 3.160425848618e+00, TOL));
assert(isequalRel(mag([-5.082364939990e+04, -2.357361421077e+04, 2.967800381179e+04]), 6.339986226748e+04, TOL));
assert(isequalRel(mag([2.357361421077e+04, -5.082364939990e+04, 0.000000000000e+00]), 5.602462516860e+04, TOL));
assert(isequalRel(mag([-3.137137677888e-01, 1.129767605108e-01, -4.474966734009e-01]), 5.580621374190e-01, TOL));
assert(isequalRel(mag([2.357361421077e+04, -5.082364939990e+04, 0.000000000000e+00]), 5.602462516860e+04, TOL));
assert(isequalRel(mag([-3.137137677888e-01, 1.129767605108e-01, -4.474966734009e-01]), 5.580621374190e-01, TOL));
assert(isequalRel(mag([-3.137137677888e-01, 1.129767605108e-01, -4.474966734009e-01]), 5.580621374190e-01, TOL));
assert(isequalRel(mag([1.280522442200e+04, -1.025894667177e+04, 1.378016486738e+04]), 2.142691538893e+04, TOL));
assert(isequalRel(mag([5.682465563184e+03, 7.199302704725e+03, 1.543767134070e+04]), 1.795667203951e+04, TOL));
assert(isequalRel(mag([-2.474365405658e+00, 2.087897335908e+00, -2.583767459781e+00]), 4.142179828572e+00, TOL));
assert(isequalRel(mag([-5.083359692644e+04, -2.351627029584e+04, 2.967811026819e+04]), 6.338658986093e+04, TOL));
assert(isequalRel(mag([2.351627029584e+04, -5.083359692644e+04, 0.000000000000e+00]), 5.600954869580e+04, TOL));
assert(isequalRel(mag([-3.134330166371e-01, 1.128128925294e-01, -4.474674781375e-01]), 5.578477826700e-01, TOL));
assert(isequalRel(mag([2.351627029584e+04, -5.083359692644e+04, 0.000000000000e+00]), 5.600954869580e+04, TOL));
assert(isequalRel(mag([-3.134330166371e-01, 1.128128925294e-01, -4.474674781375e-01]), 5.578477826700e-01, TOL));
assert(isequalRel(mag([-3.134330166371e-01, 1.128128925294e-01, -4.474674781375e-01]), 5.578477826700e-01, TOL));
assert(isequalRel(mag([5.682465563184e+03, 7.199302704725e+03, 1.543767134070e+04]), 1.795667203951e+04, TOL));
assert(isequalRel(mag([7.628942439817e+03, -1.285272097492e+04, 2.902872089813e+03]), 1.522563186141e+04, TOL));
assert(isequalRel(mag([2.748131081188e+00, -7.400845792519e-01, 4.125307943253e+00]), 5.011797606698e+00, TOL));
assert(isequalRel(mag([-5.087306106104e+04, -2.349426383087e+04, 2.967489933331e+04]), 6.340858321329e+04, TOL));
assert(isequalRel(mag([2.349426383087e+04, -5.087306106104e+04, 0.000000000000e+00]), 5.603613811350e+04, TOL));
assert(isequalRel(mag([-3.130033362217e-01, 1.130483126578e-01, -4.470933769202e-01]), 5.573540142195e-01, TOL));
assert(isequalRel(mag([2.349426383087e+04, -5.087306106104e+04, 0.000000000000e+00]), 5.603613811350e+04, TOL));
assert(isequalRel(mag([-3.130033362217e-01, 1.130483126578e-01, -4.470933769202e-01]), 5.573540142195e-01, TOL));
assert(isequalRel(mag([-3.130033362217e-01, 1.130483126578e-01, -4.470933769202e-01]), 5.573540142195e-01, TOL));
assert(isequalRel(mag([7.628942439817e+03, -1.285272097492e+04, 2.902872089813e+03]), 1.522563186141e+04, TOL));
assert(isequalRel(mag([1.153164866625e+04, -8.582754273594e+02, 1.908685993771e+04]), 2.231644640065e+04, TOL));
assert(isequalRel(mag([-1.170071901192e+00, 2.660311985956e+00, 9.600570477341e-02]), 2.907842019768e+00, TOL));
assert(isequalRel(mag([-5.085940160386e+04, -2.344010255251e+04, 2.967353920362e+04]), 6.337693640468e+04, TOL));
assert(isequalRel(mag([2.344010255251e+04, -5.085940160386e+04, 0.000000000000e+00]), 5.600104587572e+04, TOL));
assert(isequalRel(mag([-3.130423638721e-01, 1.133146887554e-01, -4.470325998875e-01]), 5.573812749174e-01, TOL));
assert(isequalRel(mag([2.344010255251e+04, -5.085940160386e+04, 0.000000000000e+00]), 5.600104587572e+04, TOL));
assert(isequalRel(mag([-3.130423638721e-01, 1.133146887554e-01, -4.470325998875e-01]), 5.573812749174e-01, TOL));
assert(isequalRel(mag([-3.130423638721e-01, 1.133146887554e-01, -4.470325998875e-01]), 5.573812749174e-01, TOL));
assert(isequalRel(mag([1.153164866625e+04, -8.582754273594e+02, 1.908685993771e+04]), 2.231644640065e+04, TOL));
assert(isequalRel(mag([-3.866980695155e+03, 2.603734427863e+03, -4.577364845770e+03]), 6.533394339762e+03, TOL));
assert(isequalRel(mag([1.157257297884e+00, -8.453281163796e+00, -4.683959406933e+00]), 9.733277074732e+00, TOL));
assert(isequalRel(mag([-5.088953839711e+04, -2.340996947634e+04, 2.967548440272e+04]), 6.339089969144e+04, TOL));
assert(isequalRel(mag([2.340996947634e+04, -5.088953839711e+04, 0.000000000000e+00]), 5.601581731221e+04, TOL));
assert(isequalRel(mag([-3.125516359443e-01, 1.133197430198e-01, -4.465907472126e-01]), 5.567523549887e-01, TOL));
assert(isequalRel(mag([2.340996947634e+04, -5.088953839711e+04, 0.000000000000e+00]), 5.601581731221e+04, TOL));
assert(isequalRel(mag([-3.125516359443e-01, 1.133197430198e-01, -4.465907472126e-01]), 5.567523549887e-01, TOL));
assert(isequalRel(mag([-3.125516359443e-01, 1.133197430198e-01, -4.465907472126e-01]), 5.567523549887e-01, TOL));
assert(isequalRel(mag([-3.866980695155e+03, 2.603734427863e+03, -4.577364845770e+03]), 6.533394339762e+03, TOL));
assert(isequalRel(mag([1.305477732721e+04, -8.707927577304e+03, 1.553763259903e+04]), 2.208332494298e+04, TOL));
assert(isequalRel(mag([2.298467482862e-01, 2.119467054482e+00, 2.063396852035e+00]), 2.966913664352e+00, TOL));
assert(isequalRel(mag([-5.089941074904e+04, -2.336591211203e+04, 2.967065928658e+04]), 6.338031150071e+04, TOL));
assert(isequalRel(mag([2.336591211203e+04, -5.089941074904e+04, 0.000000000000e+00]), 5.600639127302e+04, TOL));
assert(isequalRel(mag([-3.124368939257e-01, 1.137261539973e-01, -4.464187448619e-01]), 5.566328651392e-01, TOL));
assert(isequalRel(mag([2.336591211203e+04, -5.089941074904e+04, 0.000000000000e+00]), 5.600639127302e+04, TOL));
assert(isequalRel(mag([-3.124368939257e-01, 1.137261539973e-01, -4.464187448619e-01]), 5.566328651392e-01, TOL));
assert(isequalRel(mag([-3.124368939257e-01, 1.137261539973e-01, -4.464187448619e-01]), 5.566328651392e-01, TOL));
assert(isequalRel(mag([1.305477732721e+04, -8.707927577304e+03, 1.553763259903e+04]), 2.208332494298e+04, TOL));
assert(isequalRel(mag([3.496910646522e+03, 8.712839197782e+03, 1.284581838327e+04]), 1.591090823592e+04, TOL));
assert(isequalRel(mag([-2.782184997107e+00, 1.552950643964e+00, -3.554436131460e+00]), 4.773491937077e+00, TOL));
assert(isequalRel(mag([-5.091815238273e+04, -2.330989763100e+04, 2.967126013868e+04]), 6.337502069314e+04, TOL));
assert(isequalRel(mag([2.330989763100e+04, -5.091815238273e+04, 0.000000000000e+00]), 5.600008544314e+04, TOL));
assert(isequalRel(mag([-3.120423695543e-01, 1.135523224860e-01, -4.462812785180e-01]), 5.562657187843e-01, TOL));
assert(isequalRel(mag([2.330989763100e+04, -5.091815238273e+04, 0.000000000000e+00]), 5.600008544314e+04, TOL));
assert(isequalRel(mag([-3.120423695543e-01, 1.135523224860e-01, -4.462812785180e-01]), 5.562657187843e-01, TOL));
assert(isequalRel(mag([-3.120423695543e-01, 1.135523224860e-01, -4.462812785180e-01]), 5.562657187843e-01, TOL));
assert(isequalRel(mag([3.496910646522e+03, 8.712839197782e+03, 1.284581838327e+04]), 1.591090823592e+04, TOL));
assert(isequalRel(mag([9.593074247290e+03, -1.302375963608e+04, 6.250464849314e+03]), 1.734109856396e+04, TOL));
assert(isequalRel(mag([2.072666375563e+00, 2.787353335092e-01, 3.778111073109e+00]), 4.318305520836e+00, TOL));
assert(isequalRel(mag([-5.094743589895e+04, -2.328857171403e+04, 2.966783743082e+04]), 6.338911085493e+04, TOL));
assert(isequalRel(mag([2.328857171403e+04, -5.094743589895e+04, 0.000000000000e+00]), 5.601784356040e+04, TOL));
assert(isequalRel(mag([-3.117131153060e-01, 1.138633929549e-01, -4.459127902170e-01]), 5.558490397474e-01, TOL));
assert(isequalRel(mag([2.328857171403e+04, -5.094743589895e+04, 0.000000000000e+00]), 5.601784356040e+04, TOL));
assert(isequalRel(mag([-3.117131153060e-01, 1.138633929549e-01, -4.459127902170e-01]), 5.558490397474e-01, TOL));
assert(isequalRel(mag([-3.117131153060e-01, 1.138633929549e-01, -4.459127902170e-01]), 5.558490397474e-01, TOL));
assert(isequalRel(mag([9.593074247290e+03, -1.302375963608e+04, 6.250464849314e+03]), 1.734109856396e+04, TOL));
assert(isequalRel(mag([1.028479205084e+04, 1.487899141688e+03, 1.882437381327e+04]), 2.150227524813e+04, TOL));
assert(isequalRel(mag([-1.530335053060e+00, 2.663107729732e+00, -5.422059660099e-01]), 3.118983081769e+00, TOL));
assert(isequalRel(mag([-5.093808320092e+04, -2.323112348921e+04, 2.966649342123e+04]), 6.335987887194e+04, TOL));
assert(isequalRel(mag([2.323112348921e+04, -5.093808320092e+04, 0.000000000000e+00]), 5.598547506948e+04, TOL));
assert(isequalRel(mag([-3.117063327769e-01, 1.139901838998e-01, -4.459442808648e-01]), 5.558964845678e-01, TOL));
assert(isequalRel(mag([2.323112348921e+04, -5.093808320092e+04, 0.000000000000e+00]), 5.598547506948e+04, TOL));
assert(isequalRel(mag([-3.117063327769e-01, 1.139901838998e-01, -4.459442808648e-01]), 5.558964845678e-01, TOL));
assert(isequalRel(mag([-3.117063327769e-01, 1.139901838998e-01, -4.459442808648e-01]), 5.558964845678e-01, TOL));
assert(isequalRel(mag([1.028479205084e+04, 1.487899141688e+03, 1.882437381327e+04]), 2.150227524813e+04, TOL));
assert(isequalRel(mag([-9.846203514641e+02, -5.187034808132e+03, -5.745595941443e+03]), 7.802991737764e+03, TOL));
assert(isequalRel(mag([4.340271916475e+00, -7.266811354072e+00, 1.777668888176e+00]), 8.648966079284e+00, TOL));
assert(isequalRel(mag([-5.097299222349e+04, -2.318711974260e+04, 2.966819185698e+04]), 6.337262868334e+04, TOL));
assert(isequalRel(mag([2.318711974260e+04, -5.097299222349e+04, 0.000000000000e+00]), 5.599900408198e+04, TOL));
assert(isequalRel(mag([-3.112809985410e-01, 1.143709710493e-01, -4.454262187886e-01]), 5.553207140524e-01, TOL));
assert(isequalRel(mag([2.318711974260e+04, -5.097299222349e+04, 0.000000000000e+00]), 5.599900408198e+04, TOL));
assert(isequalRel(mag([-3.112809985410e-01, 1.143709710493e-01, -4.454262187886e-01]), 5.553207140524e-01, TOL));
assert(isequalRel(mag([-3.112809985410e-01, 1.143709710493e-01, -4.454262187886e-01]), 5.553207140524e-01, TOL));
assert(isequalRel(mag([-9.846203514641e+02, -5.187034808132e+03, -5.745595941443e+03]), 7.802991737764e+03, TOL));
# 20413
assert(isequalRel(mag([-1.516690528051e+05, -5.645204545496e+03, -2.198515921184e+03]), 1.517899976462e+05, TOL));
assert(isequalRel(mag([-8.691828888193e-01, -8.707598718530e-01, 1.565082188288e-01]), 1.240240489263e+00, TOL));
assert(isequalRel(mag([-2.797900350137e+03, 2.564836572547e+04, 1.271606097899e+05]), 1.297516381125e+05, TOL));
assert(isequalRel(mag([-2.564836572547e+04, -2.797900350137e+03, 0.000000000000e+00]), 2.580052152102e+04, TOL));
assert(isequalRel(mag([7.113446817054e-01, 3.133770622808e-01, -4.755669211822e-02]), 7.787670244171e-01, TOL));
assert(isequalRel(mag([-2.564836572547e+04, -2.797900350137e+03, 0.000000000000e+00]), 2.580052152102e+04, TOL));
assert(isequalRel(mag([7.113446817054e-01, 3.133770622808e-01, -4.755669211822e-02]), 7.787670244171e-01, TOL));
assert(isequalRel(mag([7.113446817054e-01, 3.133770622808e-01, -4.755669211822e-02]), 7.787670244171e-01, TOL));
assert(isequalRel(mag([-1.516690528051e+05, -5.645204545496e+03, -2.198515921184e+03]), 1.517899976462e+05, TOL));
assert(isequalRel(mag([-1.574977165749e+05, -1.188499595074e+04, -1.061444394024e+03]), 1.579490757152e+05, TOL));
assert(isequalRel(mag([-7.496579608381e-01, -8.640167152926e-01, 1.577661011570e-01]), 1.154730308439e+00, TOL));
assert(isequalRel(mag([-2.792155172206e+03, 2.564352092512e+04, 1.271709779122e+05]), 1.297607179353e+05, TOL));
assert(isequalRel(mag([-2.564352092512e+04, -2.792155172206e+03, 0.000000000000e+00]), 2.579508278612e+04, TOL));
assert(isequalRel(mag([7.113335379656e-01, 3.133142938169e-01, -4.756060016003e-02]), 7.787318278023e-01, TOL));
assert(isequalRel(mag([-2.564352092512e+04, -2.792155172206e+03, 0.000000000000e+00]), 2.579508278612e+04, TOL));
assert(isequalRel(mag([7.113335379656e-01, 3.133142938169e-01, -4.756060016003e-02]), 7.787318278023e-01, TOL));
assert(isequalRel(mag([7.113335379656e-01, 3.133142938169e-01, -4.756060016003e-02]), 7.787318278023e-01, TOL));
assert(isequalRel(mag([-1.574977165749e+05, -1.188499595074e+04, -1.061444394024e+03]), 1.579490757152e+05, TOL));
assert(isequalRel(mag([-1.624983225558e+05, -1.806299733167e+04, 8.100915252769e+01]), 1.634991843054e+05, TOL));
assert(isequalRel(mag([-6.389803775814e-01, -8.536871051597e-01, 1.580989915460e-01]), 1.077994845803e+00, TOL));
assert(isequalRel(mag([-2.786585193522e+03, 2.563905766511e+04, 1.271808217207e+05]), 1.297693636747e+05, TOL));
assert(isequalRel(mag([-2.563905766511e+04, -2.786585193522e+03, 0.000000000000e+00]), 2.579004333063e+04, TOL));
assert(isequalRel(mag([7.113245223411e-01, 3.132508142966e-01, -4.756447731509e-02]), 7.786982908955e-01, TOL));
assert(isequalRel(mag([-2.563905766511e+04, -2.786585193522e+03, 0.000000000000e+00]), 2.579004333063e+04, TOL));
assert(isequalRel(mag([7.113245223411e-01, 3.132508142966e-01, -4.756447731509e-02]), 7.786982908955e-01, TOL));
assert(isequalRel(mag([7.113245223411e-01, 3.132508142966e-01, -4.756447731509e-02]), 7.786982908955e-01, TOL));
assert(isequalRel(mag([-1.624983225558e+05, -1.806299733167e+04, 8.100915252769e+01]), 1.634991843054e+05, TOL));
assert(isequalRel(mag([-1.667287601092e+05, -2.415599648299e+04, 1.222841286769e+03]), 1.684739948908e+05, TOL));
assert(isequalRel(mag([-5.356006870121e-01, -8.404554444322e-01, 1.576808569901e-01]), 1.009007781271e+00, TOL));
assert(isequalRel(mag([-2.781194609747e+03, 2.563497914562e+04, 1.271901258655e+05]), 1.297775609145e+05, TOL));
assert(isequalRel(mag([-2.563497914562e+04, -2.781194609747e+03, 0.000000000000e+00]), 2.578540671104e+04, TOL));
assert(isequalRel(mag([7.113176526545e-01, 3.131867340948e-01, -4.756833547145e-02]), 7.786664754119e-01, TOL));
assert(isequalRel(mag([-2.563497914562e+04, -2.781194609747e+03, 0.000000000000e+00]), 2.578540671104e+04, TOL));
assert(isequalRel(mag([7.113176526545e-01, 3.131867340948e-01, -4.756833547145e-02]), 7.786664754119e-01, TOL));
assert(isequalRel(mag([7.113176526545e-01, 3.131867340948e-01, -4.756833547145e-02]), 7.786664754119e-01, TOL));
assert(isequalRel(mag([-1.667287601092e+05, -2.415599648299e+04, 1.222841286769e+03]), 1.684739948908e+05, TOL));
assert(isequalRel(mag([-1.699358192459e+05, -3.176729787964e+04, 2.749015403445e+03]), 1.729014197832e+05, TOL));
assert(isequalRel(mag([-4.300504306249e-01, -8.289041834268e-01, 1.578123404668e-01]), 9.470640173646e-01, TOL));
assert(isequalRel(mag([-2.734601260471e+03, 2.563575410629e+04, 1.271989713541e+05]), 1.297853930386e+05, TOL));
assert(isequalRel(mag([-2.563575410629e+04, -2.734601260471e+03, 0.000000000000e+00]), 2.578119339077e+04, TOL));
assert(isequalRel(mag([7.081835096527e-01, 3.198831237443e-01, -4.924446729593e-02]), 7.786360598891e-01, TOL));
assert(isequalRel(mag([-2.563575410629e+04, -2.734601260471e+03, 0.000000000000e+00]), 2.578119339077e+04, TOL));
assert(isequalRel(mag([7.081835096527e-01, 3.198831237443e-01, -4.924446729593e-02]), 7.786360598891e-01, TOL));
assert(isequalRel(mag([7.081835096527e-01, 3.198831237443e-01, -4.924446729593e-02]), 7.786360598891e-01, TOL));
assert(isequalRel(mag([-1.699358192459e+05, -3.176729787964e+04, 2.749015403445e+03]), 1.729014197832e+05, TOL));
assert(isequalRel(mag([-1.727030783182e+05, -3.766295639336e+04, 3.883600525786e+03]), 1.768047903703e+05, TOL));
assert(isequalRel(mag([-3.380048910818e-01, -8.102774874652e-01, 1.560200348876e-01]), 8.917057610975e-01, TOL));
assert(isequalRel(mag([-2.729381694110e+03, 2.563246433167e+04, 1.272071529036e+05]), 1.297926519568e+05, TOL));
assert(isequalRel(mag([-2.563246433167e+04, -2.729381694110e+03, 0.000000000000e+00]), 2.577736899194e+04, TOL));
assert(isequalRel(mag([7.081803489839e-01, 3.198206882454e-01, -4.924957253059e-02]), 7.786078600369e-01, TOL));
assert(isequalRel(mag([-2.563246433167e+04, -2.729381694110e+03, 0.000000000000e+00]), 2.577736899194e+04, TOL));
assert(isequalRel(mag([7.081803489839e-01, 3.198206882454e-01, -4.924957253059e-02]), 7.786078600369e-01, TOL));
assert(isequalRel(mag([7.081803489839e-01, 3.198206882454e-01, -4.924957253059e-02]), 7.786078600369e-01, TOL));
assert(isequalRel(mag([-1.727030783182e+05, -3.766295639336e+04, 3.883600525786e+03]), 1.768047903703e+05, TOL));
assert(isequalRel(mag([-1.748231933740e+05, -4.341755605219e+04, 5.003263128095e+03]), 1.802034010694e+05, TOL));
assert(isequalRel(mag([-2.502586222837e-01, -7.898286720211e-01, 1.537649030472e-01]), 8.426757113997e-01, TOL));
assert(isequalRel(mag([-2.724375624676e+03, 2.562956164220e+04, 1.272147529006e+05]), 1.297994222178e+05, TOL));
assert(isequalRel(mag([-2.562956164220e+04, -2.724375624676e+03, 0.000000000000e+00]), 2.577395298583e+04, TOL));
assert(isequalRel(mag([7.081801459520e-01, 3.197563566343e-01, -4.925424435820e-02]), 7.785815482761e-01, TOL));
assert(isequalRel(mag([-2.562956164220e+04, -2.724375624676e+03, 0.000000000000e+00]), 2.577395298583e+04, TOL));
assert(isequalRel(mag([7.081801459520e-01, 3.197563566343e-01, -4.925424435820e-02]), 7.785815482761e-01, TOL));
assert(isequalRel(mag([7.081801459520e-01, 3.197563566343e-01, -4.925424435820e-02]), 7.785815482761e-01, TOL));
assert(isequalRel(mag([-1.748231933740e+05, -4.341755605219e+04, 5.003263128095e+03]), 1.802034010694e+05, TOL));
assert(isequalRel(mag([-1.763246392577e+05, -4.901851958648e+04, 6.104850250015e+03]), 1.831132514822e+05, TOL));
assert(isequalRel(mag([-1.661366126847e-01, -7.677062623608e-01, 1.510922423753e-01]), 7.998769561928e-01, TOL));
assert(isequalRel(mag([-2.719586274528e+03, 2.562704598998e+04, 1.272217589638e+05]), 1.298056916684e+05, TOL));
assert(isequalRel(mag([-2.562704598998e+04, -2.719586274528e+03, 0.000000000000e+00]), 2.577094557205e+04, TOL));
assert(isequalRel(mag([7.081829073503e-01, 3.196902316374e-01, -4.925849009696e-02]), 7.785571740818e-01, TOL));
assert(isequalRel(mag([-2.562704598998e+04, -2.719586274528e+03, 0.000000000000e+00]), 2.577094557205e+04, TOL));
assert(isequalRel(mag([7.081829073503e-01, 3.196902316374e-01, -4.925849009696e-02]), 7.785571740818e-01, TOL));
assert(isequalRel(mag([7.081829073503e-01, 3.196902316374e-01, -4.925849009696e-02]), 7.785571740818e-01, TOL));
assert(isequalRel(mag([-1.763246392577e+05, -4.901851958648e+04, 6.104850250015e+03]), 1.831132514822e+05, TOL));
assert(isequalRel(mag([-1.772314214246e+05, -5.445412699497e+04, 7.185486616066e+03]), 1.855474599796e+05, TOL));
assert(isequalRel(mag([-8.506785380971e-02, -7.440015671476e-01, 1.480334033218e-01]), 7.633405270054e-01, TOL));
assert(isequalRel(mag([-2.715016440914e+03, 2.562491656404e+04, 1.272281595731e+05]), 1.298114488462e+05, TOL));
assert(isequalRel(mag([-2.562491656404e+04, -2.715016440914e+03, 0.000000000000e+00]), 2.576834614771e+04, TOL));
assert(isequalRel(mag([7.081886353423e-01, 3.196224185978e-01, -4.926231772408e-02]), 7.785347838381e-01, TOL));
assert(isequalRel(mag([-2.562491656404e+04, -2.715016440914e+03, 0.000000000000e+00]), 2.576834614771e+04, TOL));
assert(isequalRel(mag([7.081886353423e-01, 3.196224185978e-01, -4.926231772408e-02]), 7.785347838381e-01, TOL));
assert(isequalRel(mag([7.081886353423e-01, 3.196224185978e-01, -4.926231772408e-02]), 7.785347838381e-01, TOL));
assert(isequalRel(mag([-1.772314214246e+05, -5.445412699497e+04, 7.185486616066e+03]), 1.855474599796e+05, TOL));
assert(isequalRel(mag([-1.775637358323e+05, -5.971314859144e+04, 8.242484725914e+03]), 1.875166098027e+05, TOL));
assert(isequalRel(mag([-6.561729659597e-03, -7.187603090748e-01, 1.446086760399e-01]), 7.331924081600e-01, TOL));
assert(isequalRel(mag([-2.710668490840e+03, 2.562317179492e+04, 1.272339441091e+05]), 1.298166830190e+05, TOL));
assert(isequalRel(mag([-2.562317179492e+04, -2.710668490840e+03, 0.000000000000e+00]), 2.576615331203e+04, TOL));
assert(isequalRel(mag([7.081973273634e-01, 3.195530255105e-01, -4.926573591309e-02]), 7.785144207609e-01, TOL));
assert(isequalRel(mag([-2.562317179492e+04, -2.710668490840e+03, 0.000000000000e+00]), 2.576615331203e+04, TOL));
assert(isequalRel(mag([7.081973273634e-01, 3.195530255105e-01, -4.926573591309e-02]), 7.785144207609e-01, TOL));
assert(isequalRel(mag([7.081973273634e-01, 3.195530255105e-01, -4.926573591309e-02]), 7.785144207609e-01, TOL));
assert(isequalRel(mag([-1.775637358323e+05, -5.971314859144e+04, 8.242484725914e+03]), 1.875166098027e+05, TOL));
assert(isequalRel(mag([-1.773384802648e+05, -6.478454644698e+04, 9.273272200031e+03]), 1.890290126364e+05, TOL));
assert(isequalRel(mag([6.980994561026e-02, -6.919902383374e-01, 1.408292362313e-01]), 7.096173562124e-01, TOL));
assert(isequalRel(mag([-2.706544355855e+03, 2.562180935804e+04, 1.272391028887e+05]), 1.298213842210e+05, TOL));
assert(isequalRel(mag([-2.562180935804e+04, -2.706544355855e+03, 0.000000000000e+00]), 2.576436486952e+04, TOL));
assert(isequalRel(mag([7.082089760363e-01, 3.194821630060e-01, -4.926875405950e-02]), 7.784961248099e-01, TOL));
assert(isequalRel(mag([-2.562180935804e+04, -2.706544355855e+03, 0.000000000000e+00]), 2.576436486952e+04, TOL));
assert(isequalRel(mag([7.082089760363e-01, 3.194821630060e-01, -4.926875405950e-02]), 7.784961248099e-01, TOL));
assert(isequalRel(mag([7.082089760363e-01, 3.194821630060e-01, -4.926875405950e-02]), 7.784961248099e-01, TOL));
assert(isequalRel(mag([-1.773384802648e+05, -6.478454644698e+04, 9.273272200031e+03]), 1.890290126364e+05, TOL));
assert(isequalRel(mag([-1.765696515146e+05, -6.965721976255e+04, 1.027533063459e+04]), 1.900909059389e+05, TOL));
assert(isequalRel(mag([1.444268782413e-01, -6.636658757354e-01, 1.366984192526e-01]), 6.928188620414e-01, TOL));
assert(isequalRel(mag([-2.702645526995e+03, 2.562082617648e+04, 1.272436271980e+05]), 1.298255432853e+05, TOL));
assert(isequalRel(mag([-2.562082617648e+04, -2.702645526995e+03, 0.000000000000e+00]), 2.576297783273e+04, TOL));
assert(isequalRel(mag([7.082235690997e-01, 3.194099442963e-01, -4.927138229845e-02]), 7.784799325977e-01, TOL));
assert(isequalRel(mag([-2.562082617648e+04, -2.702645526995e+03, 0.000000000000e+00]), 2.576297783273e+04, TOL));
assert(isequalRel(mag([7.082235690997e-01, 3.194099442963e-01, -4.927138229845e-02]), 7.784799325977e-01, TOL));
assert(isequalRel(mag([7.082235690997e-01, 3.194099442963e-01, -4.927138229845e-02]), 7.784799325977e-01, TOL));
assert(isequalRel(mag([-1.765696515146e+05, -6.965721976255e+04, 1.027533063459e+04]), 1.900909059389e+05, TOL));
assert(isequalRel(mag([-1.752686529907e+05, -7.431977625463e+04, 1.124614177160e+04]), 1.907065955033e+05, TOL));
assert(isequalRel(mag([2.176313698749e-01, -6.337310905951e-01, 1.322124908760e-01]), 6.829777822770e-01, TOL));
assert(isequalRel(mag([-2.698973050069e+03, 2.562021842394e+04, 1.272475093220e+05]), 1.298291518738e+05, TOL));
assert(isequalRel(mag([-2.562021842394e+04, -2.698973050069e+03, 0.000000000000e+00]), 2.576198842511e+04, TOL));
assert(isequalRel(mag([7.082410893492e-01, 3.193364850937e-01, -4.927363151653e-02]), 7.784658772980e-01, TOL));
assert(isequalRel(mag([-2.562021842394e+04, -2.698973050069e+03, 0.000000000000e+00]), 2.576198842511e+04, TOL));
assert(isequalRel(mag([7.082410893492e-01, 3.193364850937e-01, -4.927363151653e-02]), 7.784658772980e-01, TOL));
assert(isequalRel(mag([7.082410893492e-01, 3.193364850937e-01, -4.927363151653e-02]), 7.784658772980e-01, TOL));
assert(isequalRel(mag([-1.752686529907e+05, -7.431977625463e+04, 1.124614177160e+04]), 1.907065955033e+05, TOL));
assert(isequalRel(mag([-1.734445303961e+05, -7.876031560396e+04, 1.218313775212e+04]), 1.908785511362e+05, TOL));
assert(isequalRel(mag([2.897373248714e-01, -6.020999289137e-01, 1.273610170173e-01]), 6.802153118515e-01, TOL));
assert(isequalRel(mag([-2.695527521424e+03, 2.561998152817e+04, 1.272507425711e+05]), 1.298322025039e+05, TOL));
assert(isequalRel(mag([-2.561998152817e+04, -2.695527521424e+03, 0.000000000000e+00]), 2.576139208433e+04, TOL));
assert(isequalRel(mag([7.082615145901e-01, 3.192619035079e-01, -4.927551335956e-02]), 7.784539885554e-01, TOL));
assert(isequalRel(mag([-2.561998152817e+04, -2.695527521424e+03, 0.000000000000e+00]), 2.576139208433e+04, TOL));
assert(isequalRel(mag([7.082615145901e-01, 3.192619035079e-01, -4.927551335956e-02]), 7.784539885554e-01, TOL));
assert(isequalRel(mag([7.082615145901e-01, 3.192619035079e-01, -4.927551335956e-02]), 7.784539885554e-01, TOL));
assert(isequalRel(mag([-1.734445303961e+05, -7.876031560396e+04, 1.218313775212e+04]), 1.908785511362e+05, TOL));
assert(isequalRel(mag([-1.711041481365e+05, -8.296621323591e+04, 1.308365278381e+04]), 1.906074605528e+05, TOL));
assert(isequalRel(mag([3.610377794607e-01, -5.686559032440e-01, 1.221268885320e-01]), 6.845675944673e-01, TOL));
assert(isequalRel(mag([-2.692309084274e+03, 2.562011017514e+04, 1.272533213043e+05]), 1.298346885720e+05, TOL));
assert(isequalRel(mag([-2.562011017514e+04, -2.692309084274e+03, 0.000000000000e+00]), 2.576118346644e+04, TOL));
assert(isequalRel(mag([7.082848176013e-01, 3.191863199281e-01, -4.927704023752e-02]), 7.784442923988e-01, TOL));
assert(isequalRel(mag([-2.562011017514e+04, -2.692309084274e+03, 0.000000000000e+00]), 2.576118346644e+04, TOL));
assert(isequalRel(mag([7.082848176013e-01, 3.191863199281e-01, -4.927704023752e-02]), 7.784442923988e-01, TOL));
assert(isequalRel(mag([7.082848176013e-01, 3.191863199281e-01, -4.927704023752e-02]), 7.784442923988e-01, TOL));
assert(isequalRel(mag([-1.711041481365e+05, -8.296621323591e+04, 1.308365278381e+04]), 1.906074605528e+05, TOL));
assert(isequalRel(mag([-1.682523154380e+05, -8.692389363433e+04, 1.394487382716e+04]), 1.898922442884e+05, TOL));
assert(isequalRel(mag([4.318113960749e-01, -5.332497972119e-01, 1.164860217688e-01]), 6.959780321779e-01, TOL));
assert(isequalRel(mag([-2.689317425643e+03, 2.562059831417e+04, 1.272552409503e+05]), 1.298366043745e+05, TOL));
assert(isequalRel(mag([-2.562059831417e+04, -2.689317425643e+03, 0.000000000000e+00]), 2.576135645093e+04, TOL));
assert(isequalRel(mag([7.083109661082e-01, 3.191098568950e-01, -4.927822532763e-02]), 7.784368111594e-01, TOL));
assert(isequalRel(mag([-2.562059831417e+04, -2.689317425643e+03, 0.000000000000e+00]), 2.576135645093e+04, TOL));
assert(isequalRel(mag([7.083109661082e-01, 3.191098568950e-01, -4.927822532763e-02]), 7.784368111594e-01, TOL));
assert(isequalRel(mag([7.083109661082e-01, 3.191098568950e-01, -4.927822532763e-02]), 7.784368111594e-01, TOL));
assert(isequalRel(mag([-1.682523154380e+05, -8.692389363433e+04, 1.394487382716e+04]), 1.898922442884e+05, TOL));
assert(isequalRel(mag([-1.648918683289e+05, -9.061858225954e+04, 1.476378794247e+04]), 1.887300323905e+05, TOL));
assert(isequalRel(mag([5.023282686524e-01, -4.956958964576e-01, 1.104067247985e-01]), 7.143092860469e-01, TOL));
assert(isequalRel(mag([-2.686551773905e+03, 2.562143916398e+04, 1.272564980240e+05]), 1.298379451262e+05, TOL));
assert(isequalRel(mag([-2.562143916398e+04, -2.686551773905e+03, 0.000000000000e+00]), 2.576190414678e+04, TOL));
assert(isequalRel(mag([7.083399227635e-01, 3.190326389659e-01, -4.927908257683e-02]), 7.784315633925e-01, TOL));
assert(isequalRel(mag([-2.562143916398e+04, -2.686551773905e+03, 0.000000000000e+00]), 2.576190414678e+04, TOL));
assert(isequalRel(mag([7.083399227635e-01, 3.190326389659e-01, -4.927908257683e-02]), 7.784315633925e-01, TOL));
assert(isequalRel(mag([7.083399227635e-01, 3.190326389659e-01, -4.927908257683e-02]), 7.784315633925e-01, TOL));
assert(isequalRel(mag([-1.648918683289e+05, -9.061858225954e+04, 1.476378794247e+04]), 1.887300323905e+05, TOL));
assert(isequalRel(mag([-1.610237113982e+05, -9.403402398835e+04, 1.553712375729e+04]), 1.871161016977e+05, TOL));
assert(isequalRel(mag([5.728553207495e-01, -4.557664118588e-01, 1.038486882530e-01]), 7.393718893369e-01, TOL));
assert(isequalRel(mag([-2.684010896878e+03, 2.562262521985e+04, 1.272570901414e+05]), 1.298387069749e+05, TOL));
assert(isequalRel(mag([-2.562262521985e+04, -2.684010896878e+03, 0.000000000000e+00]), 2.576281889956e+04, TOL));
assert(isequalRel(mag([7.083716451347e-01, 3.189547925769e-01, -4.927962670469e-02]), 7.784285638045e-01, TOL));
assert(isequalRel(mag([-2.562262521985e+04, -2.684010896878e+03, 0.000000000000e+00]), 2.576281889956e+04, TOL));
assert(isequalRel(mag([7.083716451347e-01, 3.189547925769e-01, -4.927962670469e-02]), 7.784285638045e-01, TOL));
assert(isequalRel(mag([7.083716451347e-01, 3.189547925769e-01, -4.927962670469e-02]), 7.784285638045e-01, TOL));
assert(isequalRel(mag([-1.610237113982e+05, -9.403402398835e+04, 1.553712375729e+04]), 1.871161016977e+05, TOL));
assert(isequalRel(mag([-1.566468213673e+05, -9.715215370791e+04, 1.626128409305e+04]), 1.850437704299e+05, TOL));
assert(isequalRel(mag([6.436615381409e-01, -4.131836878365e-01, 9.676152377564e-02]), 7.709628577690e-01, TOL));
assert(isequalRel(mag([-2.681693100338e+03, 2.562414826159e+04, 1.272570160297e+05]), 1.298388870131e+05, TOL));
assert(isequalRel(mag([-2.562414826159e+04, -2.681693100338e+03, 0.000000000000e+00]), 2.576409229948e+04, TOL));
assert(isequalRel(mag([7.084060856939e-01, 3.188764459070e-01, -4.927987320827e-02]), 7.784278231833e-01, TOL));
assert(isequalRel(mag([-2.562414826159e+04, -2.681693100338e+03, 0.000000000000e+00]), 2.576409229948e+04, TOL));
assert(isequalRel(mag([7.084060856939e-01, 3.188764459070e-01, -4.927987320827e-02]), 7.784278231833e-01, TOL));
assert(isequalRel(mag([7.084060856939e-01, 3.188764459070e-01, -4.927987320827e-02]), 7.784278231833e-01, TOL));
assert(isequalRel(mag([-1.566468213673e+05, -9.715215370791e+04, 1.626128409305e+04]), 1.850437704299e+05, TOL));
assert(isequalRel(mag([-1.517582128574e+05, -9.995270098346e+04, 1.693226607548e+04]), 1.825042444383e+05, TOL));
assert(isequalRel(mag([7.150232542983e-01, -3.676095609687e-01, 8.908272650298e-02]), 8.089071489758e-01, TOL));
assert(isequalRel(mag([-2.679596226730e+03, 2.562599936249e+04, 1.272562755350e+05]), 1.298384832871e+05, TOL));
assert(isequalRel(mag([-2.562599936249e+04, -2.679596226730e+03, 0.000000000000e+00]), 2.576571519024e+04, TOL));
assert(isequalRel(mag([7.084431918081e-01, 3.187977287486e-01, -4.927983837095e-02]), 7.784293483318e-01, TOL));
assert(isequalRel(mag([-2.562599936249e+04, -2.679596226730e+03, 0.000000000000e+00]), 2.576571519024e+04, TOL));
assert(isequalRel(mag([7.084431918081e-01, 3.187977287486e-01, -4.927983837095e-02]), 7.784293483318e-01, TOL));
assert(isequalRel(mag([7.084431918081e-01, 3.187977287486e-01, -4.927983837095e-02]), 7.784293483318e-01, TOL));
assert(isequalRel(mag([-1.517582128574e+05, -9.995270098346e+04, 1.693226607548e+04]), 1.825042444383e+05, TOL));
assert(isequalRel(mag([-1.463528652128e+05, -1.024127050628e+05, 1.754556394158e+04]), 1.794864065280e+05, TOL));
assert(isequalRel(mag([7.872296948625e-01, -3.186309130390e-01, 8.073487275970e-02]), 8.530969293679e-01, TOL));
assert(isequalRel(mag([-2.677717653734e+03, 2.562816889890e+04, 1.272548696253e+05]), 1.298374948014e+05, TOL));
assert(isequalRel(mag([-2.562816889890e+04, -2.677717653734e+03, 0.000000000000e+00]), 2.576767767851e+04, TOL));
assert(isequalRel(mag([7.084829057230e-01, 3.187187723882e-01, -4.927953927778e-02]), 7.784331420011e-01, TOL));
assert(isequalRel(mag([-2.562816889890e+04, -2.677717653734e+03, 0.000000000000e+00]), 2.576767767851e+04, TOL));
assert(isequalRel(mag([7.084829057230e-01, 3.187187723882e-01, -4.927953927778e-02]), 7.784331420011e-01, TOL));
assert(isequalRel(mag([7.084829057230e-01, 3.187187723882e-01, -4.927953927778e-02]), 7.784331420011e-01, TOL));
assert(isequalRel(mag([-1.463528652128e+05, -1.024127050628e+05, 1.754556394158e+04]), 1.794864065280e+05, TOL));
assert(isequalRel(mag([-1.404236077744e+05, -1.045059079973e+05, 1.809604807097e+04]), 1.759765364545e+05, TOL));
assert(isequalRel(mag([8.605889788509e-01, -2.657399872729e-01, 7.162176779901e-02]), 9.035268723055e-01, TOL));
assert(isequalRel(mag([-2.676054292142e+03, 2.563064656015e+04, 1.272528003901e+05]), 1.298359215194e+05, TOL));
assert(isequalRel(mag([-2.563064656015e+04, -2.676054292142e+03, 0.000000000000e+00]), 2.576996914367e+04, TOL));
assert(isequalRel(mag([7.085251645345e-01, 3.186397095062e-01, -4.927899384152e-02]), 7.784392028199e-01, TOL));
assert(isequalRel(mag([-2.563064656015e+04, -2.676054292142e+03, 0.000000000000e+00]), 2.576996914367e+04, TOL));
assert(isequalRel(mag([7.085251645345e-01, 3.186397095062e-01, -4.927899384152e-02]), 7.784392028199e-01, TOL));
assert(isequalRel(mag([7.085251645345e-01, 3.186397095062e-01, -4.927899384152e-02]), 7.784392028199e-01, TOL));
assert(isequalRel(mag([-1.404236077744e+05, -1.045059079973e+05, 1.809604807097e+04]), 1.759765364545e+05, TOL));
assert(isequalRel(mag([-1.339609596185e+05, -1.062019809132e+05, 1.857781121953e+04]), 1.719579440488e+05, TOL));
assert(isequalRel(mag([9.354347581087e-01, -2.083073067579e-01, 6.162311047804e-02]), 9.603267821276e-01, TOL));
assert(isequalRel(mag([-2.674602582203e+03, 2.563342135865e+04, 1.272500710350e+05]), 1.298337643602e+05, TOL));
assert(isequalRel(mag([-2.563342135865e+04, -2.674602582203e+03, 0.000000000000e+00]), 2.577257824748e+04, TOL));
assert(isequalRel(mag([7.085699001348e-01, 3.185606741032e-01, -4.927822084503e-02]), 7.784475252140e-01, TOL));
assert(isequalRel(mag([-2.563342135865e+04, -2.674602582203e+03, 0.000000000000e+00]), 2.577257824748e+04, TOL));
assert(isequalRel(mag([7.085699001348e-01, 3.185606741032e-01, -4.927822084503e-02]), 7.784475252140e-01, TOL));
assert(isequalRel(mag([7.085699001348e-01, 3.185606741032e-01, -4.927822084503e-02]), 7.784475252140e-01, TOL));
assert(isequalRel(mag([-1.339609596185e+05, -1.062019809132e+05, 1.857781121953e+04]), 1.719579440488e+05, TOL));
assert(isequalRel(mag([-1.269529186001e+05, -1.074655190619e+05, 1.898396903112e+04]), 1.674104907361e+05, TOL));
assert(isequalRel(mag([1.012133628387e+00, -1.455438783178e-01, 5.058700700673e-02]), 1.023795168725e+00, TOL));
assert(isequalRel(mag([-2.673358487111e+03, 2.563648163940e+04, 1.272466858714e+05]), 1.298310251893e+05, TOL));
assert(isequalRel(mag([-2.563648163940e+04, -2.673358487111e+03, 0.000000000000e+00]), 2.577549294287e+04, TOL));
assert(isequalRel(mag([7.086170391176e-01, 3.184818014634e-01, -4.927724000921e-02]), 7.784580993053e-01, TOL));
assert(isequalRel(mag([-2.563648163940e+04, -2.673358487111e+03, 0.000000000000e+00]), 2.577549294287e+04, TOL));
assert(isequalRel(mag([7.086170391176e-01, 3.184818014634e-01, -4.927724000921e-02]), 7.784580993053e-01, TOL));
assert(isequalRel(mag([7.086170391176e-01, 3.184818014634e-01, -4.927724000921e-02]), 7.784580993053e-01, TOL));
assert(isequalRel(mag([-1.269529186001e+05, -1.074655190619e+05, 1.898396903112e+04]), 1.674104907361e+05, TOL));
assert(isequalRel(mag([-1.193846939645e+05, -1.082547111537e+05, 1.930639581892e+04]), 1.623099644492e+05, TOL));
assert(isequalRel(mag([1.091093313277e+00, -7.644747853773e-02, 3.831928160303e-02]), 1.094439218319e+00, TOL));
assert(isequalRel(mag([-2.672317481546e+03, 2.563981508861e+04, 1.272426503001e+05]), 1.298277068037e+05, TOL));
assert(isequalRel(mag([-2.563981508861e+04, -2.672317481546e+03, 0.000000000000e+00]), 2.577870048122e+04, TOL));
assert(isequalRel(mag([7.086665026140e-01, 3.184032281730e-01, -4.927607210054e-02]), 7.784709107731e-01, TOL));
assert(isequalRel(mag([-2.563981508861e+04, -2.672317481546e+03, 0.000000000000e+00]), 2.577870048122e+04, TOL));
assert(isequalRel(mag([7.086665026140e-01, 3.184032281730e-01, -4.927607210054e-02]), 7.784709107731e-01, TOL));
assert(isequalRel(mag([7.086665026140e-01, 3.184032281730e-01, -4.927607210054e-02]), 7.784709107731e-01, TOL));
assert(isequalRel(mag([-1.193846939645e+05, -1.082547111537e+05, 1.930639581892e+04]), 1.623099644492e+05, TOL));
# 21897
assert(isequalRel(mag([-1.941046286123e+04, -1.914303318969e+04, 2.311405522619e+04]), 3.574187092457e+04, TOL));
assert(isequalRel(mag([5.086022367297e-01, -1.156882269205e+00, 2.379923454711e+00]), 2.694640694098e+00, TOL));
assert(isequalRel(mag([-1.881871302184e+04, 5.795127601818e+04, 3.219180981928e+04]), 6.891158807759e+04, TOL));
assert(isequalRel(mag([-5.795127601818e+04, -1.881871302184e+04, 0.000000000000e+00]), 6.093024168616e+04, TOL));
assert(isequalRel(mag([1.036315989774e-01, 3.821545798631e-01, -6.273686484695e-01]), 7.418713178843e-01, TOL));
assert(isequalRel(mag([-5.795127601818e+04, -1.881871302184e+04, 0.000000000000e+00]), 6.093024168616e+04, TOL));
assert(isequalRel(mag([1.036315989774e-01, 3.821545798631e-01, -6.273686484695e-01]), 7.418713178843e-01, TOL));
assert(isequalRel(mag([1.036315989774e-01, 3.821545798631e-01, -6.273686484695e-01]), 7.418713178843e-01, TOL));
assert(isequalRel(mag([-1.941046286123e+04, -1.914303318969e+04, 2.311405522619e+04]), 3.574187092457e+04, TOL));
assert(isequalRel(mag([-1.268606129708e+04, -2.385375335645e+04, 3.552981733588e+04]), 4.463525087131e+04, TOL));
assert(isequalRel(mag([1.231633828844e+00, -2.217182021642e-01, 1.118440290893e+00]), 1.678388969762e+00, TOL));
assert(isequalRel(mag([-1.880139161995e+04, 5.794832705092e+04, 3.219182028205e+04]), 6.890438467847e+04, TOL));
assert(isequalRel(mag([-5.794832705092e+04, -1.880139161995e+04, 0.000000000000e+00]), 6.092208905517e+04, TOL));
assert(isequalRel(mag([1.037114901353e-01, 3.821905893750e-01, -6.274073584658e-01]), 7.419337660802e-01, TOL));
assert(isequalRel(mag([-5.794832705092e+04, -1.880139161995e+04, 0.000000000000e+00]), 6.092208905517e+04, TOL));
assert(isequalRel(mag([1.037114901353e-01, 3.821905893750e-01, -6.274073584658e-01]), 7.419337660802e-01, TOL));
assert(isequalRel(mag([1.037114901353e-01, 3.821905893750e-01, -6.274073584658e-01]), 7.419337660802e-01, TOL));
assert(isequalRel(mag([-1.268606129708e+04, -2.385375335645e+04, 3.552981733588e+04]), 4.463525087131e+04, TOL));
assert(isequalRel(mag([-2.775466493588e+03, -2.283964574119e+04, 3.949464689967e+04]), 4.570754604625e+04, TOL));
assert(isequalRel(mag([1.468963404931e+00, 4.894817687596e-01, -2.397278779863e-02]), 1.548554352139e+00, TOL));
assert(isequalRel(mag([-1.878437964024e+04, 5.794965531699e+04, 3.219206352698e+04]), 6.890097549347e+04, TOL));
assert(isequalRel(mag([-5.794965531699e+04, -1.878437964024e+04, 0.000000000000e+00]), 6.091810461452e+04, TOL));
assert(isequalRel(mag([1.037394017177e-01, 3.821831494718e-01, -6.274435143744e-01]), 7.419644108308e-01, TOL));
assert(isequalRel(mag([-5.794965531699e+04, -1.878437964024e+04, 0.000000000000e+00]), 6.091810461452e+04, TOL));
assert(isequalRel(mag([1.037394017177e-01, 3.821831494718e-01, -6.274435143744e-01]), 7.419644108308e-01, TOL));
assert(isequalRel(mag([1.037394017177e-01, 3.821831494718e-01, -6.274435143744e-01]), 7.419644108308e-01, TOL));
assert(isequalRel(mag([-2.775466493588e+03, -2.283964574119e+04, 3.949464689967e+04]), 4.570754604625e+04, TOL));
assert(isequalRel(mag([7.679878835699e+03, -1.678050760106e+04, 3.468621815555e+04]), 3.928994405970e+04, TOL));
assert(isequalRel(mag([1.364171080400e+00, 1.211183896523e+00, -1.385151370861e+00]), 2.290539999213e+00, TOL));
assert(isequalRel(mag([-1.876784575395e+04, 5.795573039356e+04, 3.219322875685e+04]), 6.890212404190e+04, TOL));
assert(isequalRel(mag([-5.795573039356e+04, -1.876784575395e+04, 0.000000000000e+00]), 6.091878790402e+04, TOL));
assert(isequalRel(mag([1.037536104123e-01, 3.821349909813e-01, -6.274512229633e-01]), 7.419481115307e-01, TOL));
assert(isequalRel(mag([-5.795573039356e+04, -1.876784575395e+04, 0.000000000000e+00]), 6.091878790402e+04, TOL));
assert(isequalRel(mag([1.037536104123e-01, 3.821349909813e-01, -6.274512229633e-01]), 7.419481115307e-01, TOL));
assert(isequalRel(mag([1.037536104123e-01, 3.821349909813e-01, -6.274512229633e-01]), 7.419481115307e-01, TOL));
assert(isequalRel(mag([7.679878835699e+03, -1.678050760106e+04, 3.468621815555e+04]), 3.928994405970e+04, TOL));
assert(isequalRel(mag([1.455240023028e+04, -4.819501214612e+03, 1.715470672449e+04]), 2.300617106829e+04, TOL));
assert(isequalRel(mag([1.092015914958e-01, 2.176124494271e+00, -3.854856804902e+00]), 4.428020301269e+00, TOL));
assert(isequalRel(mag([-1.875229044183e+04, 5.797074033132e+04, 3.219413179440e+04]), 6.891093710995e+04, TOL));
assert(isequalRel(mag([-5.797074033132e+04, -1.875229044183e+04, 0.000000000000e+00]), 6.092827858537e+04, TOL));
assert(isequalRel(mag([1.038515854498e-01, 3.820203591191e-01, -6.273984363226e-01]), 7.418581430988e-01, TOL));
assert(isequalRel(mag([-5.797074033132e+04, -1.875229044183e+04, 0.000000000000e+00]), 6.092827858537e+04, TOL));
assert(isequalRel(mag([1.038515854498e-01, 3.820203591191e-01, -6.273984363226e-01]), 7.418581430988e-01, TOL));
assert(isequalRel(mag([1.038515854498e-01, 3.820203591191e-01, -6.273984363226e-01]), 7.418581430988e-01, TOL));
assert(isequalRel(mag([1.455240023028e+04, -4.819501214612e+03, 1.715470672449e+04]), 2.300617106829e+04, TOL));
assert(isequalRel(mag([-1.530238845375e+04, -5.556434402997e+03, 1.095950887533e+03]), 1.631680618296e+04, TOL));
assert(isequalRel(mag([-2.838224312259e+00, -3.134231137481e+00, 3.992596325784e+00]), 5.815474829325e+00, TOL));
assert(isequalRel(mag([-1.874963618501e+04, 5.798570546213e+04, 3.219081515752e+04]), 6.892125561477e+04, TOL));
assert(isequalRel(mag([-5.798570546213e+04, -1.874963618501e+04, 0.000000000000e+00]), 6.094170078863e+04, TOL));
assert(isequalRel(mag([1.038946073948e-01, 3.819418812403e-01, -6.274828158333e-01]), 7.418951234893e-01, TOL));
assert(isequalRel(mag([-5.798570546213e+04, -1.874963618501e+04, 0.000000000000e+00]), 6.094170078863e+04, TOL));
assert(isequalRel(mag([1.038946073948e-01, 3.819418812403e-01, -6.274828158333e-01]), 7.418951234893e-01, TOL));
assert(isequalRel(mag([1.038946073948e-01, 3.819418812403e-01, -6.274828158333e-01]), 7.418951234893e-01, TOL));
assert(isequalRel(mag([-1.530238845375e+04, -5.556434402997e+03, 1.095950887533e+03]), 1.631680618296e+04, TOL));
assert(isequalRel(mag([-1.928920066748e+04, -1.942704851118e+04, 2.375945685636e+04]), 3.624907262752e+04, TOL));
assert(isequalRel(mag([5.524950869889e-01, -1.112499437338e+00, 2.325112653904e+00]), 2.636105967629e+00, TOL));
assert(isequalRel(mag([-1.873769393720e+04, 5.797654773831e+04, 3.219257374640e+04]), 6.891112440059e+04, TOL));
assert(isequalRel(mag([-5.797654773831e+04, -1.873769393720e+04, 0.000000000000e+00]), 6.092931364899e+04, TOL));
assert(isequalRel(mag([1.040912703836e-01, 3.820100119644e-01, -6.273866602990e-01]), 7.418764474845e-01, TOL));
assert(isequalRel(mag([-5.797654773831e+04, -1.873769393720e+04, 0.000000000000e+00]), 6.092931364899e+04, TOL));
assert(isequalRel(mag([1.040912703836e-01, 3.820100119644e-01, -6.273866602990e-01]), 7.418764474845e-01, TOL));
assert(isequalRel(mag([1.040912703836e-01, 3.820100119644e-01, -6.273866602990e-01]), 7.418764474845e-01, TOL));
assert(isequalRel(mag([-1.928920066748e+04, -1.942704851118e+04, 2.375945685636e+04]), 3.624907262752e+04, TOL));
assert(isequalRel(mag([-1.237621976437e+04, -2.389338020018e+04, 3.583133691892e+04]), 4.481014548563e+04, TOL));
assert(isequalRel(mag([1.246701528718e+00, -1.942940481169e-01, 1.074867282458e+00]), 1.657514571200e+00, TOL));
assert(isequalRel(mag([-1.872039714508e+04, 5.797377621804e+04, 3.219253946020e+04]), 6.890407531594e+04, TOL));
assert(isequalRel(mag([-5.797377621804e+04, -1.872039714508e+04, 0.000000000000e+00]), 6.092135913002e+04, TOL));
assert(isequalRel(mag([1.041681283795e-01, 3.820436225275e-01, -6.274262013343e-01]), 7.419379802954e-01, TOL));
assert(isequalRel(mag([-5.797377621804e+04, -1.872039714508e+04, 0.000000000000e+00]), 6.092135913002e+04, TOL));
assert(isequalRel(mag([1.041681283795e-01, 3.820436225275e-01, -6.274262013343e-01]), 7.419379802954e-01, TOL));
assert(isequalRel(mag([1.041681283795e-01, 3.820436225275e-01, -6.274262013343e-01]), 7.419379802954e-01, TOL));
assert(isequalRel(mag([-1.237621976437e+04, -2.389338020018e+04, 3.583133691892e+04]), 4.481014548563e+04, TOL));
assert(isequalRel(mag([-2.400556776651e+03, -2.269862264640e+04, 3.948275964390e+04]), 4.560568442617e+04, TOL));
assert(isequalRel(mag([1.472582921869e+00, 5.135556538063e-01, -6.930656058462e-02]), 1.561103222301e+00, TOL));
assert(isequalRel(mag([-1.870343097737e+04, 5.797526322620e+04, 3.219278455411e+04]), 6.890083347696e+04, TOL));
assert(isequalRel(mag([-5.797526322620e+04, -1.870343097737e+04, 0.000000000000e+00]), 6.091756295579e+04, TOL));
assert(isequalRel(mag([1.041947532128e-01, 3.820343286172e-01, -6.274617641152e-01]), 7.419670075317e-01, TOL));
assert(isequalRel(mag([-5.797526322620e+04, -1.870343097737e+04, 0.000000000000e+00]), 6.091756295579e+04, TOL));
assert(isequalRel(mag([1.041947532128e-01, 3.820343286172e-01, -6.274617641152e-01]), 7.419670075317e-01, TOL));
assert(isequalRel(mag([1.041947532128e-01, 3.820343286172e-01, -6.274617641152e-01]), 7.419670075317e-01, TOL));
assert(isequalRel(mag([-2.400556776651e+03, -2.269862264640e+04, 3.948275964390e+04]), 4.560568442617e+04, TOL));
assert(isequalRel(mag([8.031668192521e+03, -1.645577592085e+04, 3.429894391742e+04]), 3.888081543592e+04, TOL));
assert(isequalRel(mag([1.351357425528e+00, 1.239633233998e+00, -1.448195324033e+00]), 2.336691495023e+00, TOL));
assert(isequalRel(mag([-1.868693302917e+04, 5.798155687115e+04, 3.219395779936e+04]), 6.890220114064e+04, TOL));
assert(isequalRel(mag([-5.798155687115e+04, -1.868693302917e+04, 0.000000000000e+00]), 6.091848983058e+04, TOL));
assert(isequalRel(mag([1.042091925155e-01, 3.819840138663e-01, -6.274679785628e-01]), 7.419483855201e-01, TOL));
assert(isequalRel(mag([-5.798155687115e+04, -1.868693302917e+04, 0.000000000000e+00]), 6.091848983058e+04, TOL));
assert(isequalRel(mag([1.042091925155e-01, 3.819840138663e-01, -6.274679785628e-01]), 7.419483855201e-01, TOL));
assert(isequalRel(mag([1.042091925155e-01, 3.819840138663e-01, -6.274679785628e-01]), 7.419483855201e-01, TOL));
assert(isequalRel(mag([8.031668192521e+03, -1.645577592085e+04, 3.429894391742e+04]), 3.888081543592e+04, TOL));
assert(isequalRel(mag([1.455948780372e+04, -4.238437738131e+03, 1.607923154704e+04]), 2.210169058489e+04, TOL));
assert(isequalRel(mag([-2.640965547724e-02, 2.218938770316e+00, -4.012628895727e+00]), 4.585365567884e+00, TOL));
assert(isequalRel(mag([-1.867155253587e+04, 5.799717450270e+04, 3.219467628320e+04]), 6.891151068853e+04, TOL));
assert(isequalRel(mag([-5.799717450270e+04, -1.867155253587e+04, 0.000000000000e+00]), 6.092863960730e+04, TOL));
assert(isequalRel(mag([1.043178179449e-01, 3.818656223316e-01, -6.274127852405e-01]), 7.418560262900e-01, TOL));
assert(isequalRel(mag([-5.799717450270e+04, -1.867155253587e+04, 0.000000000000e+00]), 6.092863960730e+04, TOL));
assert(isequalRel(mag([1.043178179449e-01, 3.818656223316e-01, -6.274127852405e-01]), 7.418560262900e-01, TOL));
assert(isequalRel(mag([1.043178179449e-01, 3.818656223316e-01, -6.274127852405e-01]), 7.418560262900e-01, TOL));
assert(isequalRel(mag([1.455948780372e+04, -4.238437738131e+03, 1.607923154704e+04]), 2.210169058489e+04, TOL));
assert(isequalRel(mag([-1.603604980660e+04, -6.372514064680e+03, 2.183448342318e+03]), 1.739342621705e+04, TOL));
assert(isequalRel(mag([-2.485113443020e+00, -2.994994354835e+00, 3.955891271958e+00]), 5.549311287513e+00, TOL));
assert(isequalRel(mag([-1.866955730958e+04, 5.801075263897e+04, 3.219145827664e+04]), 6.892089507437e+04, TOL));
assert(isequalRel(mag([-5.801075263897e+04, -1.866955730958e+04, 0.000000000000e+00]), 6.094095332266e+04, TOL));
assert(isequalRel(mag([1.043560009002e-01, 3.817905132654e-01, -6.274855432751e-01]), 7.418842753170e-01, TOL));
assert(isequalRel(mag([-5.801075263897e+04, -1.866955730958e+04, 0.000000000000e+00]), 6.094095332266e+04, TOL));
assert(isequalRel(mag([1.043560009002e-01, 3.817905132654e-01, -6.274855432751e-01]), 7.418842753170e-01, TOL));
assert(isequalRel(mag([1.043560009002e-01, 3.817905132654e-01, -6.274855432751e-01]), 7.418842753170e-01, TOL));
assert(isequalRel(mag([-1.603604980660e+04, -6.372514064680e+03, 2.183448342318e+03]), 1.739342621705e+04, TOL));
assert(isequalRel(mag([-1.915671583814e+04, -1.969889059957e+04, 2.438929473934e+04]), 3.674049197329e+04, TOL));
assert(isequalRel(mag([5.942781327432e-01, -1.069418599251e+00, 2.271152044320e+00]), 2.579719800269e+00, TOL));
assert(isequalRel(mag([-1.865681023918e+04, 5.800183887488e+04, 3.219316814051e+04]), 6.891073904764e+04, TOL));
assert(isequalRel(mag([-5.800183887488e+04, -1.865681023918e+04, 0.000000000000e+00]), 6.092856375436e+04, TOL));
assert(isequalRel(mag([1.045501236889e-01, 3.818626991848e-01, -6.274053812952e-01]), 7.418809620621e-01, TOL));
assert(isequalRel(mag([-5.800183887488e+04, -1.865681023918e+04, 0.000000000000e+00]), 6.092856375436e+04, TOL));
assert(isequalRel(mag([1.045501236889e-01, 3.818626991848e-01, -6.274053812952e-01]), 7.418809620621e-01, TOL));
assert(isequalRel(mag([1.045501236889e-01, 3.818626991848e-01, -6.274053812952e-01]), 7.418809620621e-01, TOL));
assert(isequalRel(mag([-1.915671583814e+04, -1.969889059957e+04, 2.438929473934e+04]), 3.674049197329e+04, TOL));
assert(isequalRel(mag([-1.206272925552e+04, -2.392582362911e+04, 3.612066680667e+04]), 4.497395962089e+04, TOL));
assert(isequalRel(mag([1.261238797599e+00, -1.672018558678e-01, 1.031478938786e+00]), 1.637873183837e+00, TOL));
assert(isequalRel(mag([-1.863954064127e+04, 5.799923754307e+04, 3.219308774391e+04]), 6.890383827757e+04, TOL));
assert(isequalRel(mag([-5.799923754307e+04, -1.863954064127e+04, 0.000000000000e+00]), 6.092080129885e+04, TOL));
assert(isequalRel(mag([1.046241295702e-01, 3.818939781727e-01, -6.274456803213e-01]), 7.419415750629e-01, TOL));
assert(isequalRel(mag([-5.799923754307e+04, -1.863954064127e+04, 0.000000000000e+00]), 6.092080129885e+04, TOL));
assert(isequalRel(mag([1.046241295702e-01, 3.818939781727e-01, -6.274456803213e-01]), 7.419415750629e-01, TOL));
assert(isequalRel(mag([1.046241295702e-01, 3.818939781727e-01, -6.274456803213e-01]), 7.419415750629e-01, TOL));
assert(isequalRel(mag([-1.206272925552e+04, -2.392582362911e+04, 3.612066680667e+04]), 4.497395962089e+04, TOL));
assert(isequalRel(mag([-2.024961369658e+03, -2.255156626703e+04, 3.945850085787e+04]), 4.549337204028e+04, TOL));
assert(isequalRel(mag([1.475816889364e+00, 5.376157637619e-01, -1.148874718034e-01]), 1.574885815402e+00, TOL));
assert(isequalRel(mag([-1.862261964198e+04, 5.800087930275e+04, 3.219333122515e+04]), 6.890075861407e+04, TOL));
assert(isequalRel(mag([-5.800087930275e+04, -1.862261964198e+04, 0.000000000000e+00]), 6.091718938216e+04, TOL));
assert(isequalRel(mag([1.046495894360e-01, 3.818828655120e-01, -6.274806527263e-01]), 7.419690216489e-01, TOL));
assert(isequalRel(mag([-5.800087930275e+04, -1.862261964198e+04, 0.000000000000e+00]), 6.091718938216e+04, TOL));
assert(isequalRel(mag([1.046495894360e-01, 3.818828655120e-01, -6.274806527263e-01]), 7.419690216489e-01, TOL));
assert(isequalRel(mag([1.046495894360e-01, 3.818828655120e-01, -6.274806527263e-01]), 7.419690216489e-01, TOL));
assert(isequalRel(mag([-2.024961369658e+03, -2.255156626703e+04, 3.945850085787e+04]), 4.549337204028e+04, TOL));
assert(isequalRel(mag([8.379809162036e+03, -1.612395878459e+04, 3.389475123231e+04]), 3.845851543650e+04, TOL));
assert(isequalRel(mag([1.337468253958e+00, 1.268432782853e+00, -1.512473301062e+00]), 2.384390601681e+00, TOL));
assert(isequalRel(mag([-1.860615646057e+04, 5.800739137458e+04, 3.219450765769e+04]), 6.890234274421e+04, TOL));
assert(isequalRel(mag([-5.800739137458e+04, -1.860615646057e+04, 0.000000000000e+00]), 6.091835940272e+04, TOL));
assert(isequalRel(mag([1.046644267092e-01, 3.818303908108e-01, -6.274853597407e-01]), 7.419480886518e-01, TOL));
assert(isequalRel(mag([-5.800739137458e+04, -1.860615646057e+04, 0.000000000000e+00]), 6.091835940272e+04, TOL));
assert(isequalRel(mag([1.046644267092e-01, 3.818303908108e-01, -6.274853597407e-01]), 7.419480886518e-01, TOL));
assert(isequalRel(mag([1.046644267092e-01, 3.818303908108e-01, -6.274853597407e-01]), 7.419480886518e-01, TOL));
assert(isequalRel(mag([8.379809162036e+03, -1.612395878459e+04, 3.389475123231e+04]), 3.845851543650e+04, TOL));
assert(isequalRel(mag([1.452786748873e+04, -3.646338171202e+03, 1.496074306518e+04]), 2.117022788945e+04, TOL));
assert(isequalRel(mag([-1.800358394778e-01, 2.261273514931e+00, -4.179355590360e+00]), 4.755290102980e+00, TOL));
assert(isequalRel(mag([-1.859098823682e+04, 5.802365426808e+04, 3.219501042703e+04]), 6.891217595345e+04, TOL));
assert(isequalRel(mag([-5.802365426808e+04, -1.859098823682e+04, 0.000000000000e+00]), 6.092921547372e+04, TOL));
assert(isequalRel(mag([1.047852503453e-01, 3.817083939556e-01, -6.274281094372e-01]), 7.418539473630e-01, TOL));
assert(isequalRel(mag([-5.802365426808e+04, -1.859098823682e+04, 0.000000000000e+00]), 6.092921547372e+04, TOL));
assert(isequalRel(mag([1.047852503453e-01, 3.817083939556e-01, -6.274281094372e-01]), 7.418539473630e-01, TOL));
assert(isequalRel(mag([1.047852503453e-01, 3.817083939556e-01, -6.274281094372e-01]), 7.418539473630e-01, TOL));
assert(isequalRel(mag([1.452786748873e+04, -3.646338171202e+03, 1.496074306518e+04]), 2.117022788945e+04, TOL));
assert(isequalRel(mag([-1.668012147335e+04, -7.149808004251e+03, 3.257642272081e+03]), 1.843796192739e+04, TOL));
assert(isequalRel(mag([-2.178897351030e+00, -2.863927094807e+00, 3.904876942823e+00]), 5.310154047604e+00, TOL));
assert(isequalRel(mag([-1.858947045321e+04, 5.803575362751e+04, 3.219195411136e+04]), 6.892052684325e+04, TOL));
assert(isequalRel(mag([-5.803575362751e+04, -1.858947045321e+04, 0.000000000000e+00]), 6.094027494887e+04, TOL));
assert(isequalRel(mag([1.048186067723e-01, 3.816384276642e-01, -6.274906860048e-01]), 7.418755898522e-01, TOL));
assert(isequalRel(mag([-5.803575362751e+04, -1.858947045321e+04, 0.000000000000e+00]), 6.094027494887e+04, TOL));
assert(isequalRel(mag([1.048186067723e-01, 3.816384276642e-01, -6.274906860048e-01]), 7.418755898522e-01, TOL));
assert(isequalRel(mag([1.048186067723e-01, 3.816384276642e-01, -6.274906860048e-01]), 7.418755898522e-01, TOL));
assert(isequalRel(mag([-1.668012147335e+04, -7.149808004251e+03, 3.257642272081e+03]), 1.843796192739e+04, TOL));
assert(isequalRel(mag([-1.901358793448e+04, -1.995893766022e+04, 2.500381778666e+04]), 3.721648321074e+04, TOL));
assert(isequalRel(mag([6.341004308335e-01, -1.027559822779e+00, 2.218002684850e+00]), 2.525370954092e+00, TOL));
assert(isequalRel(mag([-1.857605874346e+04, 5.802712071832e+04, 3.219357001767e+04]), 6.891039578889e+04, TOL));
assert(isequalRel(mag([-5.802712071832e+04, -1.857605874346e+04, 0.000000000000e+00]), 6.092796318029e+04, TOL));
assert(isequalRel(mag([1.050086169707e-01, 3.817128307768e-01, -6.274249877448e-01]), 7.418851730991e-01, TOL));
assert(isequalRel(mag([-5.802712071832e+04, -1.857605874346e+04, 0.000000000000e+00]), 6.092796318029e+04, TOL));
assert(isequalRel(mag([1.050086169707e-01, 3.817128307768e-01, -6.274249877448e-01]), 7.418851730991e-01, TOL));
assert(isequalRel(mag([1.050086169707e-01, 3.817128307768e-01, -6.274249877448e-01]), 7.418851730991e-01, TOL));
assert(isequalRel(mag([-1.901358793448e+04, -1.995893766022e+04, 2.500381778666e+04]), 3.721648321074e+04, TOL));
assert(isequalRel(mag([-1.174576155818e+04, -2.395119438627e+04, 3.639787676581e+04]), 4.512679979978e+04, TOL));
assert(isequalRel(mag([1.275261812541e+00, -1.404251324752e-01, 9.882594409508e-01]), 1.619465538683e+00, TOL));
assert(isequalRel(mag([-1.855881730762e+04, 5.802468204802e+04, 3.219344368837e+04]), 6.890363737240e+04, TOL));
assert(isequalRel(mag([-5.802468204802e+04, -1.855881730762e+04, 0.000000000000e+00]), 6.092038596916e+04, TOL));
assert(isequalRel(mag([1.050799414634e-01, 3.817418572559e-01, -6.274659726035e-01]), 7.419448675302e-01, TOL));
assert(isequalRel(mag([-5.802468204802e+04, -1.855881730762e+04, 0.000000000000e+00]), 6.092038596916e+04, TOL));
assert(isequalRel(mag([1.050799414634e-01, 3.817418572559e-01, -6.274659726035e-01]), 7.419448675302e-01, TOL));
assert(isequalRel(mag([1.050799414634e-01, 3.817418572559e-01, -6.274659726035e-01]), 7.419448675302e-01, TOL));
assert(isequalRel(mag([-1.174576155818e+04, -2.395119438627e+04, 3.639787676581e+04]), 4.512679979978e+04, TOL));
assert(isequalRel(mag([-1.648819450702e+03, -2.239850594576e+04, 3.942183273890e+04]), 4.537061351444e+04, TOL));
assert(isequalRel(mag([1.478660173878e+00, 5.616715190740e-01, -1.607330927066e-01]), 1.589888654040e+00, TOL));
assert(isequalRel(mag([-1.854193954647e+04, 5.802647420268e+04, 3.219368377082e+04]), 6.890071483863e+04, TOL));
assert(isequalRel(mag([-5.802647420268e+04, -1.854193954647e+04, 0.000000000000e+00]), 6.091695355596e+04, TOL));
assert(isequalRel(mag([1.051043520485e-01, 3.817289725508e-01, -6.275003500748e-01]), 7.419707694028e-01, TOL));
assert(isequalRel(mag([-5.802647420268e+04, -1.854193954647e+04, 0.000000000000e+00]), 6.091695355596e+04, TOL));
assert(isequalRel(mag([1.051043520485e-01, 3.817289725508e-01, -6.275003500748e-01]), 7.419707694028e-01, TOL));
assert(isequalRel(mag([1.051043520485e-01, 3.817289725508e-01, -6.275003500748e-01]), 7.419707694028e-01, TOL));
assert(isequalRel(mag([-1.648819450702e+03, -2.239850594576e+04, 3.942183273890e+04]), 4.537061351444e+04, TOL));
assert(isequalRel(mag([8.723976527952e+03, -1.578499406275e+04, 3.347335215527e+04]), 3.802287612125e+04, TOL));
assert(isequalRel(mag([1.322433592992e+00, 1.297602496744e+00, -1.578055492520e+00]), 2.433693075328e+00, TOL));
assert(isequalRel(mag([-1.852550875097e+04, 5.803320443672e+04, 3.219486013796e+04]), 6.890251309626e+04, TOL));
assert(isequalRel(mag([-5.803320443672e+04, -1.852550875097e+04, 0.000000000000e+00]), 6.091836579946e+04, TOL));
assert(isequalRel(mag([1.051197541601e-01, 3.816743437108e-01, -6.275035271052e-01]), 7.419475344599e-01, TOL));
assert(isequalRel(mag([-5.803320443672e+04, -1.852550875097e+04, 0.000000000000e+00]), 6.091836579946e+04, TOL));
assert(isequalRel(mag([1.051197541601e-01, 3.816743437108e-01, -6.275035271052e-01]), 7.419475344599e-01, TOL));
assert(isequalRel(mag([1.051197541601e-01, 3.816743437108e-01, -6.275035271052e-01]), 7.419475344599e-01, TOL));
assert(isequalRel(mag([8.723976527952e+03, -1.578499406275e+04, 3.347335215527e+04]), 3.802287612125e+04, TOL));
assert(isequalRel(mag([1.445225571587e+04, -3.043423326450e+03, 1.379684870805e+04]), 2.021096620881e+04, TOL));
assert(isequalRel(mag([-3.551901693436e-01, 2.302485443236e+00, -4.355767076879e+00]), 4.939666598136e+00, TOL));
assert(isequalRel(mag([-1.851060018646e+04, 5.805015460481e+04, 3.219511436101e+04]), 6.891290269335e+04, TOL));
assert(isequalRel(mag([-5.805015460481e+04, -1.851060018646e+04, 0.000000000000e+00]), 6.092998251194e+04, TOL));
assert(isequalRel(mag([1.052545605297e-01, 3.815490267474e-01, -6.274447320709e-01]), 7.418524611590e-01, TOL));
assert(isequalRel(mag([-5.805015460481e+04, -1.851060018646e+04, 0.000000000000e+00]), 6.092998251194e+04, TOL));
assert(isequalRel(mag([1.052545605297e-01, 3.815490267474e-01, -6.274447320709e-01]), 7.418524611590e-01, TOL));
assert(isequalRel(mag([1.052545605297e-01, 3.815490267474e-01, -6.274447320709e-01]), 7.418524611590e-01, TOL));
assert(isequalRel(mag([1.445225571587e+04, -3.043423326450e+03, 1.379684870805e+04]), 2.021096620881e+04, TOL));
assert(isequalRel(mag([-1.724631075678e+04, -7.890726015081e+03, 4.315394103066e+03]), 1.945048631858e+04, TOL));
assert(isequalRel(mag([-1.910968457683e+00, -2.740945671846e+00, 3.844722725601e+00]), 5.093768394718e+00, TOL));
assert(isequalRel(mag([-1.850939284256e+04, 5.806070088596e+04, 3.219227230109e+04]), 6.892013498736e+04, TOL));
assert(isequalRel(mag([-5.806070088596e+04, -1.850939284256e+04, 0.000000000000e+00]), 6.093966369097e+04, TOL));
assert(isequalRel(mag([1.052821768240e-01, 3.814853809433e-01, -6.274984019837e-01]), 7.418690431082e-01, TOL));
assert(isequalRel(mag([-5.806070088596e+04, -1.850939284256e+04, 0.000000000000e+00]), 6.093966369097e+04, TOL));
assert(isequalRel(mag([1.052821768240e-01, 3.814853809433e-01, -6.274984019837e-01]), 7.418690431082e-01, TOL));
assert(isequalRel(mag([1.052821768240e-01, 3.814853809433e-01, -6.274984019837e-01]), 7.418690431082e-01, TOL));
assert(isequalRel(mag([-1.724631075678e+04, -7.890726015081e+03, 4.315394103066e+03]), 1.945048631858e+04, TOL));
# 22312
assert(isequalRel(mag([3.061047845321e+02, -5.816456555246e+03, -2.979558460681e+03]), 6.542372323461e+03, TOL));
assert(isequalRel(mag([3.950663854595e+00, 3.415332542537e+00, -5.879974328913e+00]), 7.864244361462e+00, TOL));
assert(isequalRel(mag([4.437679820324e+04, -9.971345638261e+03, 2.402431430667e+04]), 5.143827009644e+04, TOL));
assert(isequalRel(mag([9.971345638261e+03, 4.437679820324e+04, 0.000000000000e+00]), 4.548327112916e+04, TOL));
assert(isequalRel(mag([1.196695179114e-02, -3.695710357492e-03, -2.363881036718e-02]), 2.675181425237e-02, TOL));
assert(isequalRel(mag([9.971345638261e+03, 4.437679820324e+04, 0.000000000000e+00]), 4.548327112916e+04, TOL));
assert(isequalRel(mag([1.196695179114e-02, -3.695710357492e-03, -2.363881036718e-02]), 2.675181425237e-02, TOL));
assert(isequalRel(mag([1.196695179114e-02, -3.695710357492e-03, -2.363881036718e-02]), 2.675181425237e-02, TOL));
assert(isequalRel(mag([3.061047845321e+02, -5.816456555246e+03, -2.979558460681e+03]), 6.542372323461e+03, TOL));
assert(isequalRel(mag([3.282820854640e+03, 2.077469729049e+03, -5.189179887704e+03]), 6.482312947223e+03, TOL));
assert(isequalRel(mag([9.734270093810e-02, 7.375135691837e+00, 2.900196701780e+00]), 7.925480615297e+00, TOL));
assert(isequalRel(mag([4.429597665741e+04, -1.002595500108e+04, 2.400902274042e+04]), 5.137204000882e+04, TOL));
assert(isequalRel(mag([1.002595500108e+04, 4.429597665741e+04, 0.000000000000e+00]), 4.541644329665e+04, TOL));
assert(isequalRel(mag([1.074975997096e-02, -4.050770194567e-03, -2.152457274185e-02]), 2.439822350749e-02, TOL));
assert(isequalRel(mag([1.002595500108e+04, 4.429597665741e+04, 0.000000000000e+00]), 4.541644329665e+04, TOL));
assert(isequalRel(mag([1.074975997096e-02, -4.050770194567e-03, -2.152457274185e-02]), 2.439822350749e-02, TOL));
assert(isequalRel(mag([1.074975997096e-02, -4.050770194567e-03, -2.152457274185e-02]), 2.439822350749e-02, TOL));
assert(isequalRel(mag([3.282820854640e+03, 2.077469729049e+03, -5.189179887704e+03]), 6.482312947223e+03, TOL));
assert(isequalRel(mag([5.308272917598e+02, 6.426207900027e+03, 1.712370767934e+03]), 6.671591956567e+03, TOL));
assert(isequalRel(mag([-3.837120394519e+00, -1.252430636871e+00, 6.561602576910e+00]), 7.703681184961e+00, TOL));
assert(isequalRel(mag([4.431084792802e+04, -1.005365052212e+04, 2.399330902952e+04]), 5.138293501842e+04, TOL));
assert(isequalRel(mag([1.005365052212e+04, 4.431084792802e+04, 0.000000000000e+00]), 4.543706782927e+04, TOL));
assert(isequalRel(mag([1.054523561933e-02, -2.820756199036e-03, -2.065689348295e-02]), 2.336377341457e-02, TOL));
assert(isequalRel(mag([1.005365052212e+04, 4.431084792802e+04, 0.000000000000e+00]), 4.543706782927e+04, TOL));
assert(isequalRel(mag([1.054523561933e-02, -2.820756199036e-03, -2.065689348295e-02]), 2.336377341457e-02, TOL));
assert(isequalRel(mag([1.054523561933e-02, -2.820756199036e-03, -2.065689348295e-02]), 2.336377341457e-02, TOL));
assert(isequalRel(mag([5.308272917598e+02, 6.426207900027e+03, 1.712370767934e+03]), 6.671591956567e+03, TOL));
assert(isequalRel(mag([-3.191691702120e+03, 1.702721991216e+02, 5.956298077747e+03]), 6.759687517493e+03, TOL));
assert(isequalRel(mag([-1.394956871507e+00, -7.438073470735e+00, -5.575531150954e-01]), 7.588261138467e+00, TOL));
assert(isequalRel(mag([4.420844692085e+04, -1.008831658324e+04, 2.397755975050e+04]), 5.129409597825e+04, TOL));
assert(isequalRel(mag([1.008831658324e+04, 4.420844692085e+04, 0.000000000000e+00]), 4.534491052629e+04, TOL));
assert(isequalRel(mag([1.062161629164e-02, -3.114360300471e-03, -2.089386150722e-02]), 2.364469118874e-02, TOL));
assert(isequalRel(mag([1.008831658324e+04, 4.420844692085e+04, 0.000000000000e+00]), 4.534491052629e+04, TOL));
assert(isequalRel(mag([1.062161629164e-02, -3.114360300471e-03, -2.089386150722e-02]), 2.364469118874e-02, TOL));
assert(isequalRel(mag([1.062161629164e-02, -3.114360300471e-03, -2.089386150722e-02]), 2.364469118874e-02, TOL));
assert(isequalRel(mag([-3.191691702120e+03, 1.702721991216e+02, 5.956298077747e+03]), 6.759687517493e+03, TOL));
assert(isequalRel(mag([-1.818992224649e+03, -6.322451466164e+03, 6.819524715393e+02]), 6.614165437058e+03, TOL));
assert(isequalRel(mag([3.349795172805e+00, -1.530140265238e+00, -6.831522764535e+00]), 7.760938101377e+00, TOL));
assert(isequalRel(mag([4.423545405445e+04, -1.014208569396e+04, 2.396223064674e+04]), 5.132081249546e+04, TOL));
assert(isequalRel(mag([1.014208569396e+04, 4.423545405445e+04, 0.000000000000e+00]), 4.538322705171e+04, TOL));
assert(isequalRel(mag([9.205929604240e-03, -3.621867187711e-03, -1.852756406412e-02]), 2.100327812399e-02, TOL));
assert(isequalRel(mag([1.014208569396e+04, 4.423545405445e+04, 0.000000000000e+00]), 4.538322705171e+04, TOL));
assert(isequalRel(mag([9.205929604240e-03, -3.621867187711e-03, -1.852756406412e-02]), 2.100327812399e-02, TOL));
assert(isequalRel(mag([9.205929604240e-03, -3.621867187711e-03, -1.852756406412e-02]), 2.100327812399e-02, TOL));
assert(isequalRel(mag([-1.818992224649e+03, -6.322451466164e+03, 6.819524715393e+02]), 6.614165437058e+03, TOL));
assert(isequalRel(mag([2.515664486339e+03, -2.158830912240e+03, -5.552133205438e+03]), 6.466475225840e+03, TOL));
assert(isequalRel(mag([2.571979660072e+00, 7.311930508595e+00, -1.639865619678e+00]), 7.922661572032e+00, TOL));
assert(isequalRel(mag([4.413700476431e+04, -1.015462197261e+04, 2.394683310286e+04]), 5.123126342994e+04, TOL));
assert(isequalRel(mag([1.015462197261e+04, 4.413700476431e+04, 0.000000000000e+00]), 4.529008210382e+04, TOL));
assert(isequalRel(mag([8.472437633250e-03, -2.250073708766e-03, -1.656990159837e-02]), 1.874584407606e-02, TOL));
assert(isequalRel(mag([1.015462197261e+04, 4.413700476431e+04, 0.000000000000e+00]), 4.529008210382e+04, TOL));
assert(isequalRel(mag([8.472437633250e-03, -2.250073708766e-03, -1.656990159837e-02]), 1.874584407606e-02, TOL));
assert(isequalRel(mag([8.472437633250e-03, -2.250073708766e-03, -1.656990159837e-02]), 1.874584407606e-02, TOL));
assert(isequalRel(mag([2.515664486339e+03, -2.158830912240e+03, -5.552133205438e+03]), 6.466475225840e+03, TOL));
assert(isequalRel(mag([2.414528332105e+03, 5.749101509221e+03, -1.998596931649e+03]), 6.548015342458e+03, TOL));
assert(isequalRel(mag([-2.681032960105e+00, 3.527589300630e+00, 6.452951428507e+00]), 7.827669266504e+00, TOL));
assert(isequalRel(mag([4.414890194892e+04, -1.022252980211e+04, 2.393099494761e+04]), 5.124761631562e+04, TOL));
assert(isequalRel(mag([1.022252980211e+04, 4.414890194892e+04, 0.000000000000e+00]), 4.531694670706e+04, TOL));
assert(isequalRel(mag([8.538581446375e-03, -2.301239825585e-03, -1.673534630025e-02]), 1.892815082464e-02, TOL));
assert(isequalRel(mag([1.022252980211e+04, 4.414890194892e+04, 0.000000000000e+00]), 4.531694670706e+04, TOL));
assert(isequalRel(mag([8.538581446375e-03, -2.301239825585e-03, -1.673534630025e-02]), 1.892815082464e-02, TOL));
assert(isequalRel(mag([8.538581446375e-03, -2.301239825585e-03, -1.673534630025e-02]), 1.892815082464e-02, TOL));
assert(isequalRel(mag([2.414528332105e+03, 5.749101509221e+03, -1.998596931649e+03]), 6.548015342458e+03, TOL));
assert(isequalRel(mag([-1.877989443311e+03, 3.862278483018e+03, 5.112484358627e+03]), 6.676940597817e+03, TOL));
assert(isequalRel(mag([-3.261489804108e+00, -6.026859137476e+00, 3.433254767552e+00]), 7.664697326326e+00, TOL));
assert(isequalRel(mag([4.407240908743e+04, -1.022669939966e+04, 2.391515972949e+04]), 5.117516476053e+04, TOL));
assert(isequalRel(mag([1.022669939966e+04, 4.407240908743e+04, 0.000000000000e+00]), 4.524337104351e+04, TOL));
assert(isequalRel(mag([7.751882110092e-03, -3.160303348835e-03, -1.563709363198e-02]), 1.773690758731e-02, TOL));
assert(isequalRel(mag([1.022669939966e+04, 4.407240908743e+04, 0.000000000000e+00]), 4.524337104351e+04, TOL));
assert(isequalRel(mag([7.751882110092e-03, -3.160303348835e-03, -1.563709363198e-02]), 1.773690758731e-02, TOL));
assert(isequalRel(mag([7.751882110092e-03, -3.160303348835e-03, -1.563709363198e-02]), 1.773690758731e-02, TOL));
assert(isequalRel(mag([-1.877989443311e+03, 3.862278483018e+03, 5.112484358627e+03]), 6.676940597817e+03, TOL));
assert(isequalRel(mag([-3.117365843953e+03, -4.419747738641e+03, 3.840859609123e+03]), 6.633576894501e+03, TOL));
assert(isequalRel(mag([1.545479181810e+00, -5.475416581198e+00, -5.207913748470e+00]), 7.713044680965e+00, TOL));
assert(isequalRel(mag([4.404797140268e+04, -1.029900387158e+04, 2.389950475056e+04]), 5.116130952937e+04, TOL));
assert(isequalRel(mag([1.029900387158e+04, 4.404797140268e+04, 0.000000000000e+00]), 4.523597313465e+04, TOL));
assert(isequalRel(mag([7.077726049730e-03, -1.904261236916e-03, -1.386520231045e-02]), 1.568324749544e-02, TOL));
assert(isequalRel(mag([1.029900387158e+04, 4.404797140268e+04, 0.000000000000e+00]), 4.523597313465e+04, TOL));
assert(isequalRel(mag([7.077726049730e-03, -1.904261236916e-03, -1.386520231045e-02]), 1.568324749544e-02, TOL));
assert(isequalRel(mag([7.077726049730e-03, -1.904261236916e-03, -1.386520231045e-02]), 1.568324749544e-02, TOL));
assert(isequalRel(mag([-3.117365843953e+03, -4.419747738641e+03, 3.840859609123e+03]), 6.633576894501e+03, TOL));
assert(isequalRel(mag([8.153203467830e+02, -5.231676922491e+03, -3.760046903535e+03]), 6.494085263221e+03, TOL));
assert(isequalRel(mag([3.870864200432e+00, 4.455588551932e+00, -5.211082190603e+00]), 7.873451377859e+00, TOL));
assert(isequalRel(mag([4.401592037590e+04, -1.030592961208e+04, 2.388384291078e+04]), 5.112779463162e+04, TOL));
assert(isequalRel(mag([1.030592961208e+04, 4.401592037590e+04, 0.000000000000e+00]), 4.520634282605e+04, TOL));
assert(isequalRel(mag([6.693383025519e-03, -1.772721557225e-03, -1.310027699713e-02]), 1.481759681755e-02, TOL));
assert(isequalRel(mag([1.030592961208e+04, 4.401592037590e+04, 0.000000000000e+00]), 4.520634282605e+04, TOL));
assert(isequalRel(mag([6.693383025519e-03, -1.772721557225e-03, -1.310027699713e-02]), 1.481759681755e-02, TOL));
assert(isequalRel(mag([6.693383025519e-03, -1.772721557225e-03, -1.310027699713e-02]), 1.481759681755e-02, TOL));
assert(isequalRel(mag([8.153203467830e+02, -5.231676922491e+03, -3.760046903535e+03]), 6.494085263221e+03, TOL));
assert(isequalRel(mag([3.269543418101e+03, 3.029000810825e+03, -4.704679697131e+03]), 6.480645888137e+03, TOL));
assert(isequalRel(mag([-5.267113448095e-01, 6.812157949700e+00, 3.929825087305e+00]), 7.882033112670e+00, TOL));
assert(isequalRel(mag([4.395246457545e+04, -1.037072557831e+04, 2.386805527801e+04]), 5.107891104978e+04, TOL));
assert(isequalRel(mag([1.037072557831e+04, 4.395246457545e+04, 0.000000000000e+00]), 4.515939648929e+04, TOL));
assert(isequalRel(mag([5.646346987786e-03, -2.522597503891e-03, -1.149369017389e-02]), 1.305180624613e-02, TOL));
assert(isequalRel(mag([1.037072557831e+04, 4.395246457545e+04, 0.000000000000e+00]), 4.515939648929e+04, TOL));
assert(isequalRel(mag([5.646346987786e-03, -2.522597503891e-03, -1.149369017389e-02]), 1.305180624613e-02, TOL));
assert(isequalRel(mag([5.646346987786e-03, -2.522597503891e-03, -1.149369017389e-02]), 1.305180624613e-02, TOL));
assert(isequalRel(mag([3.269543418101e+03, 3.029000810825e+03, -4.704679697131e+03]), 6.480645888137e+03, TOL));
assert(isequalRel(mag([-1.018099755532e+01, 6.026233414534e+03, 2.643505184071e+03]), 6.580555635914e+03, TOL));
assert(isequalRel(mag([-3.953623254352e+00, -2.616070011952e+00, 6.145637499655e+00]), 7.761689211889e+00, TOL));
assert(isequalRel(mag([4.395064069252e+04, -1.038885484838e+04, 2.385209076625e+04]), 5.107356807846e+04, TOL));
assert(isequalRel(mag([1.038885484838e+04, 4.395064069252e+04, 0.000000000000e+00]), 4.516178829878e+04, TOL));
assert(isequalRel(mag([5.178329995608e-03, -1.547652650061e-03, -1.021584489802e-02]), 1.155741395162e-02, TOL));
assert(isequalRel(mag([1.038885484838e+04, 4.395064069252e+04, 0.000000000000e+00]), 4.516178829878e+04, TOL));
assert(isequalRel(mag([5.178329995608e-03, -1.547652650061e-03, -1.021584489802e-02]), 1.155741395162e-02, TOL));
assert(isequalRel(mag([5.178329995608e-03, -1.547652650061e-03, -1.021584489802e-02]), 1.155741395162e-02, TOL));
assert(isequalRel(mag([-1.018099755532e+01, 6.026233414534e+03, 2.643505184071e+03]), 6.580555635914e+03, TOL));
assert(isequalRel(mag([-3.320588195837e+03, -1.248426799446e+03, 5.563060179268e+03]), 6.597917398548e+03, TOL));
assert(isequalRel(mag([-6.370469743005e-01, -7.417786043641e+00, -2.076120187110e+00]), 7.729143139315e+00, TOL));
assert(isequalRel(mag([4.385747423817e+04, -1.043787084151e+04, 2.383610626053e+04]), 5.099595234839e+04, TOL));
assert(isequalRel(mag([1.043787084151e+04, 4.385747423817e+04, 0.000000000000e+00]), 4.508244884937e+04, TOL));
assert(isequalRel(mag([5.332443810257e-03, -1.122360405157e-03, -1.030296506054e-02]), 1.165528802335e-02, TOL));
assert(isequalRel(mag([1.043787084151e+04, 4.385747423817e+04, 0.000000000000e+00]), 4.508244884937e+04, TOL));
assert(isequalRel(mag([5.332443810257e-03, -1.122360405157e-03, -1.030296506054e-02]), 1.165528802335e-02, TOL));
assert(isequalRel(mag([5.332443810257e-03, -1.122360405157e-03, -1.030296506054e-02]), 1.165528802335e-02, TOL));
assert(isequalRel(mag([-3.320588195837e+03, -1.248426799446e+03, 5.563060179268e+03]), 6.597917398548e+03, TOL));
assert(isequalRel(mag([-1.025489746164e+03, -6.366989457818e+03, -9.112355915263e+02]), 6.513104810973e+03, TOL));
assert(isequalRel(mag([3.811771908909e+00, 4.380714897433e-01, -6.829260617052e+00]), 7.833282344668e+00, TOL));
assert(isequalRel(mag([4.388101668655e+04, -1.047675896685e+04, 2.382027373881e+04]), 5.101677709231e+04, TOL));
assert(isequalRel(mag([1.047675896685e+04, 4.388101668655e+04, 0.000000000000e+00]), 4.511436693443e+04, TOL));
assert(isequalRel(mag([4.129925804556e-03, -2.042476226677e-03, -8.506362121953e-03]), 9.673995701750e-03, TOL));
assert(isequalRel(mag([1.047675896685e+04, 4.388101668655e+04, 0.000000000000e+00]), 4.511436693443e+04, TOL));
assert(isequalRel(mag([4.129925804556e-03, -2.042476226677e-03, -8.506362121953e-03]), 9.673995701750e-03, TOL));
assert(isequalRel(mag([4.129925804556e-03, -2.042476226677e-03, -8.506362121953e-03]), 9.673995701750e-03, TOL));
assert(isequalRel(mag([-1.025489746164e+03, -6.366989457818e+03, -9.112355915263e+02]), 6.513104810973e+03, TOL));
assert(isequalRel(mag([3.003759961276e+03, -4.138570800321e+02, -5.706155914353e+03]), 6.461738690675e+03, TOL));
assert(isequalRel(mag([1.674350083380e+00, 7.694169068130e+00, 3.169152040347e-01]), 7.880616796751e+00, TOL));
assert(isequalRel(mag([4.377297073318e+04, -1.050603983198e+04, 2.380437861860e+04]), 5.092247324293e+04, TOL));
assert(isequalRel(mag([1.050603983198e+04, 4.377297073318e+04, 0.000000000000e+00]), 4.501610644824e+04, TOL));
assert(isequalRel(mag([2.994836688099e-03, -1.142124189390e-03, -6.011167240207e-03]), 6.812314294138e-03, TOL));
assert(isequalRel(mag([1.050603983198e+04, 4.377297073318e+04, 0.000000000000e+00]), 4.501610644824e+04, TOL));
assert(isequalRel(mag([2.994836688099e-03, -1.142124189390e-03, -6.011167240207e-03]), 6.812314294138e-03, TOL));
assert(isequalRel(mag([2.994836688099e-03, -1.142124189390e-03, -6.011167240207e-03]), 6.812314294138e-03, TOL));
assert(isequalRel(mag([3.003759961276e+03, -4.138570800321e+02, -5.706155914353e+03]), 6.461738690675e+03, TOL));
assert(isequalRel(mag([1.731428169801e+03, 6.258276769247e+03, -4.093252798221e+02]), 6.506259971165e+03, TOL));
assert(isequalRel(mag([-3.400497805702e+00, 1.447945424057e+00, 6.904010051792e+00]), 7.831046294900e+00, TOL));
assert(isequalRel(mag([4.379988638765e+04, -1.056188777241e+04, 2.378826991685e+04]), 5.094963499893e+04, TOL));
assert(isequalRel(mag([1.056188777241e+04, 4.379988638765e+04, 0.000000000000e+00]), 4.505533842829e+04, TOL));
assert(isequalRel(mag([3.233897039313e-03, -3.039331667020e-04, -6.089321813423e-03]), 6.901471261849e-03, TOL));
assert(isequalRel(mag([1.056188777241e+04, 4.379988638765e+04, 0.000000000000e+00]), 4.505533842829e+04, TOL));
assert(isequalRel(mag([3.233897039313e-03, -3.039331667020e-04, -6.089321813423e-03]), 6.901471261849e-03, TOL));
assert(isequalRel(mag([3.233897039313e-03, -3.039331667020e-04, -6.089321813423e-03]), 6.901471261849e-03, TOL));
assert(isequalRel(mag([1.731428169801e+03, 6.258276769247e+03, -4.093252798221e+02]), 6.506259971165e+03, TOL));
assert(isequalRel(mag([-2.582521114602e+03, 2.024190206799e+03, 5.647556502679e+03]), 6.531589067878e+03, TOL));
assert(isequalRel(mag([-2.530348120669e+00, -7.221719392625e+00, 1.438141552585e+00]), 7.786150764200e+00, TOL));
assert(isequalRel(mag([4.369614036308e+04, -1.057625305759e+04, 2.377214870083e+04]), 5.085592261696e+04, TOL));
assert(isequalRel(mag([1.057625305759e+04, 4.369614036308e+04, 0.000000000000e+00]), 4.495786706871e+04, TOL));
assert(isequalRel(mag([2.851861344650e-03, -1.345526264365e-03, -5.840698778507e-03]), 6.637568551695e-03, TOL));
assert(isequalRel(mag([1.057625305759e+04, 4.369614036308e+04, 0.000000000000e+00]), 4.495786706871e+04, TOL));
assert(isequalRel(mag([2.851861344650e-03, -1.345526264365e-03, -5.840698778507e-03]), 6.637568551695e-03, TOL));
assert(isequalRel(mag([2.851861344650e-03, -1.345526264365e-03, -5.840698778507e-03]), 6.637568551695e-03, TOL));
assert(isequalRel(mag([-2.582521114602e+03, 2.024190206799e+03, 5.647556502679e+03]), 6.531589067878e+03, TOL));
assert(isequalRel(mag([-2.440568485779e+03, -5.702773118774e+03, 1.934810946889e+03]), 6.497806489746e+03, TOL));
assert(isequalRel(mag([2.731792946601e+00, -3.350576075382e+00, -6.527773338653e+00]), 7.829487690829e+00, TOL));
assert(isequalRel(mag([4.370914159015e+04, -1.064597499490e+04, 2.375610576071e+04]), 5.087414277463e+04, TOL));
assert(isequalRel(mag([1.064597499490e+04, 4.370914159015e+04, 0.000000000000e+00]), 4.498695190986e+04, TOL));
assert(isequalRel(mag([1.562232177623e-03, -9.786599752102e-04, -3.312942696322e-03]), 3.791297143854e-03, TOL));
assert(isequalRel(mag([1.064597499490e+04, 4.370914159015e+04, 0.000000000000e+00]), 4.498695190986e+04, TOL));
assert(isequalRel(mag([1.562232177623e-03, -9.786599752102e-04, -3.312942696322e-03]), 3.791297143854e-03, TOL));
assert(isequalRel(mag([1.562232177623e-03, -9.786599752102e-04, -3.312942696322e-03]), 3.791297143854e-03, TOL));
assert(isequalRel(mag([-2.440568485779e+03, -5.702773118774e+03, 1.934810946889e+03]), 6.497806489746e+03, TOL));
assert(isequalRel(mag([1.951229343914e+03, -3.423594430447e+03, -5.121678082006e+03]), 6.462188572955e+03, TOL));
assert(isequalRel(mag([3.249039132643e+00, 6.465974362321e+00, -3.069806658892e+00]), 7.860584753224e+00, TOL));
assert(isequalRel(mag([4.362641215024e+04, -1.065063568027e+04, 2.373999119157e+04]), 5.079652605516e+04, TOL));
assert(isequalRel(mag([1.065063568027e+04, 4.362641215024e+04, 0.000000000000e+00]), 4.490768172035e+04, TOL));
assert(isequalRel(mag([1.131800908539e-03, 2.940180208521e-04, -1.947976042249e-03]), 2.272010245208e-03, TOL));
assert(isequalRel(mag([1.065063568027e+04, 4.362641215024e+04, 0.000000000000e+00]), 4.490768172035e+04, TOL));
assert(isequalRel(mag([1.131800908539e-03, 2.940180208521e-04, -1.947976042249e-03]), 2.272010245208e-03, TOL));
assert(isequalRel(mag([1.131800908539e-03, 2.940180208521e-04, -1.947976042249e-03]), 2.272010245208e-03, TOL));
assert(isequalRel(mag([1.951229343914e+03, -3.423594430447e+03, -5.121678082006e+03]), 6.462188572955e+03, TOL));
assert(isequalRel(mag([2.886509393556e+03, 4.888686262157e+03, -3.096298859890e+03]), 6.466703679514e+03, TOL));
assert(isequalRel(mag([-1.973162138508e+00, 4.877039020188e+00, 5.832414910422e+00]), 7.854676448880e+00, TOL));
assert(isequalRel(mag([4.361361700563e+04, -1.072582074621e+04, 2.372378958404e+04]), 5.079378910084e+04, TOL));
assert(isequalRel(mag([1.072582074621e+04, 4.361361700563e+04, 0.000000000000e+00]), 4.491314750708e+04, TOL));
assert(isequalRel(mag([8.480851454081e-04, -3.753258619029e-04, -1.728802158310e-03]), 1.961854943427e-03, TOL));
assert(isequalRel(mag([1.072582074621e+04, 4.361361700563e+04, 0.000000000000e+00]), 4.491314750708e+04, TOL));
assert(isequalRel(mag([8.480851454081e-04, -3.753258619029e-04, -1.728802158310e-03]), 1.961854943427e-03, TOL));
assert(isequalRel(mag([8.480851454081e-04, -3.753258619029e-04, -1.728802158310e-03]), 1.961854943427e-03, TOL));
assert(isequalRel(mag([2.886509393556e+03, 4.888686262157e+03, -3.096298859890e+03]), 6.466703679514e+03, TOL));
assert(isequalRel(mag([-1.276555321818e+03, 4.553268984633e+03, 4.406197873753e+03]), 6.463469009653e+03, TOL));
assert(isequalRel(mag([-3.715146421403e+00, -5.320176914386e+00, 4.418210777087e+00]), 7.850298198387e+00, TOL));
assert(isequalRel(mag([4.355905430704e+04, -1.072957978227e+04, 2.370756112702e+04]), 5.074015716391e+04, TOL));
assert(isequalRel(mag([1.072957978227e+04, 4.355905430704e+04, 0.000000000000e+00]), 4.486106434791e+04, TOL));
assert(isequalRel(mag([4.912537182218e-06, -6.742648178917e-04, -3.141851492840e-04]), 7.438880868106e-04, TOL));
assert(isequalRel(mag([1.072957978227e+04, 4.355905430704e+04, 0.000000000000e+00]), 4.486106434791e+04, TOL));
assert(isequalRel(mag([4.912537182218e-06, -6.742648178917e-04, -3.141851492840e-04]), 7.438880868106e-04, TOL));
assert(isequalRel(mag([4.912537182218e-06, -6.742648178917e-04, -3.141851492840e-04]), 7.438880868106e-04, TOL));
assert(isequalRel(mag([-1.276555321818e+03, 4.553268984633e+03, 4.406197873753e+03]), 6.463469009653e+03, TOL));
assert(isequalRel(mag([-3.181546980418e+03, -3.831299765064e+03, 4.096802427872e+03]), 6.448634678085e+03, TOL));
assert(isequalRel(mag([1.114159969833e+00, -6.104773577810e+00, -4.829967400236e+00]), 7.863726722239e+00, TOL));
assert(isequalRel(mag([4.351510418097e+04, -1.080227492829e+04, 2.369130477329e+04]), 5.071026875661e+04, TOL));
assert(isequalRel(mag([1.080227492829e+04, 4.351510418097e+04, 0.000000000000e+00]), 4.483584989165e+04, TOL));
assert(isequalRel(mag([-3.717272632119e-04, 6.180102749590e-04, 9.645592635301e-04]), 1.204363911379e-03, TOL));
assert(isequalRel(mag([1.080227492829e+04, 4.351510418097e+04, 0.000000000000e+00]), 4.483584989165e+04, TOL));
assert(isequalRel(mag([-3.717272632119e-04, 6.180102749590e-04, 9.645592635301e-04]), 1.204363911379e-03, TOL));
assert(isequalRel(mag([-3.717272632119e-04, 6.180102749590e-04, 9.645592635301e-04]), 1.204363911379e-03, TOL));
assert(isequalRel(mag([-3.181546980418e+03, -3.831299765064e+03, 4.096802427872e+03]), 6.448634678085e+03, TOL));
# *** error: t:= 494.202867 *** code =   1
# 22674
assert(isequalRel(mag([2.541888807860e+04, 9.342603079886e+03, 2.361146690798e+04]), 3.592917300756e+04, TOL));
assert(isequalRel(mag([5.128408585237e-02, 1.213127306022e+00, 2.429004158884e+00]), 2.715578966253e+00, TOL));
assert(isequalRel(mag([-5.950493505451e+03, -6.053169236113e+04, 3.035722035843e+04]), 6.797834199914e+04, TOL));
assert(isequalRel(mag([6.053169236113e+04, -5.950493505451e+03, 0.000000000000e+00]), 6.082346712463e+04, TOL));
assert(isequalRel(mag([-2.462109484617e-01, -3.001954160800e-01, -6.468449018822e-01]), 7.544172890840e-01, TOL));
assert(isequalRel(mag([6.053169236113e+04, -5.950493505451e+03, 0.000000000000e+00]), 6.082346712463e+04, TOL));
assert(isequalRel(mag([-2.462109484617e-01, -3.001954160800e-01, -6.468449018822e-01]), 7.544172890840e-01, TOL));
assert(isequalRel(mag([-2.462109484617e-01, -3.001954160800e-01, -6.468449018822e-01]), 7.544172890840e-01, TOL));
assert(isequalRel(mag([2.541888807860e+04, 9.342603079886e+03, 2.361146690798e+04]), 3.592917300756e+04, TOL));
assert(isequalRel(mag([2.161959550749e+04, 1.612524978864e+04, 3.639679365831e+04]), 4.530074148686e+04, TOL));
assert(isequalRel(mag([-9.636043798930e-01, 6.854549653297e-01, 1.177181936797e+00]), 1.668574008777e+00, TOL));
assert(isequalRel(mag([-5.966010157636e+03, -6.052230709550e+04, 3.035762041224e+04]), 6.797152382032e+04, TOL));
assert(isequalRel(mag([6.052230709550e+04, -5.966010157636e+03, 0.000000000000e+00]), 6.081564710963e+04, TOL));
assert(isequalRel(mag([-2.463015309978e-01, -3.001906801607e-01, -6.468777756952e-01]), 7.544731574519e-01, TOL));
assert(isequalRel(mag([6.052230709550e+04, -5.966010157636e+03, 0.000000000000e+00]), 6.081564710963e+04, TOL));
assert(isequalRel(mag([-2.463015309978e-01, -3.001906801607e-01, -6.468777756952e-01]), 7.544731574519e-01, TOL));
assert(isequalRel(mag([-2.463015309978e-01, -3.001906801607e-01, -6.468777756952e-01]), 7.544731574519e-01, TOL));
assert(isequalRel(mag([2.161959550749e+04, 1.612524978864e+04, 3.639679365831e+04]), 4.530074148686e+04, TOL));
assert(isequalRel(mag([1.272150543331e+04, 1.925896193362e+04, 4.089847648359e+04]), 4.696200266097e+04, TOL));
assert(isequalRel(mag([-1.457448564647e+00, 1.799554689286e-01, 7.150260130699e-02]), 1.470256070004e+00, TOL));
assert(isequalRel(mag([-5.982838637341e+03, -6.051704657828e+04, 3.035825090247e+04]), 6.796860071073e+04, TOL));
assert(isequalRel(mag([6.051704657828e+04, -5.982838637341e+03, 0.000000000000e+00]), 6.081206528903e+04, TOL));
assert(isequalRel(mag([-2.463277426825e-01, -3.001675596045e-01, -6.469079323883e-01]), 7.544983721924e-01, TOL));
assert(isequalRel(mag([6.051704657828e+04, -5.982838637341e+03, 0.000000000000e+00]), 6.081206528903e+04, TOL));
assert(isequalRel(mag([-2.463277426825e-01, -3.001675596045e-01, -6.469079323883e-01]), 7.544983721924e-01, TOL));
assert(isequalRel(mag([-2.463277426825e-01, -3.001675596045e-01, -6.469079323883e-01]), 7.544983721924e-01, TOL));
assert(isequalRel(mag([1.272150543331e+04, 1.925896193362e+04, 4.089847648359e+04]), 4.696200266097e+04, TOL));
assert(isequalRel(mag([1.272807600538e+03, 1.845841971897e+04, 3.704474742696e+04]), 4.140829155661e+04, TOL));
assert(isequalRel(mag([-1.674863385527e+00, -4.364549830031e-01, -1.201040990250e+00]), 2.106694038684e+00, TOL));
assert(isequalRel(mag([-6.000954089142e+03, -6.051619699055e+04, 3.035980812233e+04]), 6.797013680583e+04, TOL));
assert(isequalRel(mag([6.051619699055e+04, -6.000954089142e+03, 0.000000000000e+00]), 6.081300476196e+04, TOL));
assert(isequalRel(mag([-2.463251123232e-01, -3.001168518388e-01, -6.469117372869e-01]), 7.544806038316e-01, TOL));
assert(isequalRel(mag([6.051619699055e+04, -6.000954089142e+03, 0.000000000000e+00]), 6.081300476196e+04, TOL));
assert(isequalRel(mag([-2.463251123232e-01, -3.001168518388e-01, -6.469117372869e-01]), 7.544806038316e-01, TOL));
assert(isequalRel(mag([-2.463251123232e-01, -3.001168518388e-01, -6.469117372869e-01]), 7.544806038316e-01, TOL));
assert(isequalRel(mag([1.272807600538e+03, 1.845841971897e+04, 3.704474742696e+04]), 4.140829155661e+04, TOL));
assert(isequalRel(mag([-1.005843188619e+04, 1.190660764454e+04, 2.173962097733e+04]), 2.674977528594e+04, TOL));
assert(isequalRel(mag([-1.245829682640e+00, -1.543789125451e+00, -3.324449220718e+00]), 3.871348483815e+00, TOL));
assert(isequalRel(mag([-6.021522049043e+03, -6.052261114860e+04, 3.036170298811e+04]), 6.797851275491e+04, TOL));
assert(isequalRel(mag([6.052261114860e+04, -6.021522049043e+03, 0.000000000000e+00]), 6.082142047036e+04, TOL));
assert(isequalRel(mag([-2.463493347213e-01, -2.999934295930e-01, -6.468604098023e-01]), 7.543954150750e-01, TOL));
assert(isequalRel(mag([6.052261114860e+04, -6.021522049043e+03, 0.000000000000e+00]), 6.082142047036e+04, TOL));
assert(isequalRel(mag([-2.463493347213e-01, -2.999934295930e-01, -6.468604098023e-01]), 7.543954150750e-01, TOL));
assert(isequalRel(mag([-2.463493347213e-01, -2.999934295930e-01, -6.468604098023e-01]), 7.543954150750e-01, TOL));
assert(isequalRel(mag([-1.005843188619e+04, 1.190660764454e+04, 2.173962097733e+04]), 2.674977528594e+04, TOL));
assert(isequalRel(mag([1.092440116466e+04, -2.571924141697e+03, -2.956348562941e+03]), 1.160591794830e+04, TOL));
assert(isequalRel(mag([6.071727751453e+00, 1.349579101948e+00, 3.898430260132e+00]), 7.340640308127e+00, TOL));
assert(isequalRel(mag([-6.036640662136e+03, -6.053815968670e+04, 3.035936669889e+04]), 6.799265368474e+04, TOL));
assert(isequalRel(mag([6.053815968670e+04, -6.036640662136e+03, 0.000000000000e+00]), 6.083839091179e+04, TOL));
assert(isequalRel(mag([-2.464068263950e-01, -2.998881854978e-01, -6.469880786474e-01]), 7.544818233776e-01, TOL));
assert(isequalRel(mag([6.053815968670e+04, -6.036640662136e+03, 0.000000000000e+00]), 6.083839091179e+04, TOL));
assert(isequalRel(mag([-2.464068263950e-01, -2.998881854978e-01, -6.469880786474e-01]), 7.544818233776e-01, TOL));
assert(isequalRel(mag([-2.464068263950e-01, -2.998881854978e-01, -6.469880786474e-01]), 7.544818233776e-01, TOL));
assert(isequalRel(mag([1.092440116466e+04, -2.571924141697e+03, -2.956348562941e+03]), 1.160591794830e+04, TOL));
assert(isequalRel(mag([2.533214851525e+04, 8.398910999243e+03, 2.178390654357e+04]), 3.444993524915e+04, TOL));
assert(isequalRel(mag([2.223207536625e-01, 1.272214305745e+00, 2.580527192026e+00]), 2.885667400453e+00, TOL));
assert(isequalRel(mag([-6.040179322794e+03, -6.052728355556e+04, 3.036066951307e+04]), 6.798386627832e+04, TOL));
assert(isequalRel(mag([6.052728355556e+04, -6.040179322794e+03, 0.000000000000e+00]), 6.082791974798e+04, TOL));
assert(isequalRel(mag([-2.465782061318e-01, -2.998381921042e-01, -6.468160344078e-01]), 7.543704233005e-01, TOL));
assert(isequalRel(mag([6.052728355556e+04, -6.040179322794e+03, 0.000000000000e+00]), 6.082791974798e+04, TOL));
assert(isequalRel(mag([-2.465782061318e-01, -2.998381921042e-01, -6.468160344078e-01]), 7.543704233005e-01, TOL));
assert(isequalRel(mag([-2.465782061318e-01, -2.998381921042e-01, -6.468160344078e-01]), 7.543704233005e-01, TOL));
assert(isequalRel(mag([2.533214851525e+04, 8.398910999243e+03, 2.178390654357e+04]), 3.444993524915e+04, TOL));
assert(isequalRel(mag([2.231771926039e+04, 1.557482086129e+04, 3.549577144092e+04]), 4.472812792900e+04, TOL));
assert(isequalRel(mag([-8.927500564006e-01, 7.373833814583e-01, 1.291738834447e+00]), 1.734740940565e+00, TOL));
assert(isequalRel(mag([-6.055391026490e+03, -6.051751662080e+04, 3.036113749701e+04]), 6.797673314116e+04, TOL));
assert(isequalRel(mag([6.051751662080e+04, -6.055391026490e+03, 0.000000000000e+00]), 6.081971373192e+04, TOL));
assert(isequalRel(mag([-2.466795798636e-01, -2.998343084231e-01, -6.468456282226e-01]), 7.544273950354e-01, TOL));
assert(isequalRel(mag([6.051751662080e+04, -6.055391026490e+03, 0.000000000000e+00]), 6.081971373192e+04, TOL));
assert(isequalRel(mag([-2.466795798636e-01, -2.998343084231e-01, -6.468456282226e-01]), 7.544273950354e-01, TOL));
assert(isequalRel(mag([-2.466795798636e-01, -2.998343084231e-01, -6.468456282226e-01]), 7.544273950354e-01, TOL));
assert(isequalRel(mag([2.231771926039e+04, 1.557482086129e+04, 3.549577144092e+04]), 4.472812792900e+04, TOL));
assert(isequalRel(mag([1.379568675885e+04, 1.908883051008e+04, 4.080369584385e+04]), 4.711311938206e+04, TOL));
assert(isequalRel(mag([-1.420277668718e+00, 2.355994561611e-01, 1.855170558402e-01]), 1.451589590074e+00, TOL));
assert(isequalRel(mag([-6.072024914509e+03, -6.051191319898e+04, 3.036169599318e+04]), 6.797347798330e+04, TOL));
assert(isequalRel(mag([6.051191319898e+04, -6.072024914509e+03, 0.000000000000e+00]), 6.081579667787e+04, TOL));
assert(isequalRel(mag([-2.467111819231e-01, -2.998125966401e-01, -6.468765865907e-01]), 7.544556439375e-01, TOL));
assert(isequalRel(mag([6.051191319898e+04, -6.072024914509e+03, 0.000000000000e+00]), 6.081579667787e+04, TOL));
assert(isequalRel(mag([-2.467111819231e-01, -2.998125966401e-01, -6.468765865907e-01]), 7.544556439375e-01, TOL));
assert(isequalRel(mag([-2.467111819231e-01, -2.998125966401e-01, -6.468765865907e-01]), 7.544556439375e-01, TOL));
assert(isequalRel(mag([1.379568675885e+04, 1.908883051008e+04, 4.080369584385e+04]), 4.711311938206e+04, TOL));
assert(isequalRel(mag([2.515171450487e+03, 1.874663776282e+04, 3.786458088636e+04]), 4.232598493285e+04, TOL));
assert(isequalRel(mag([-1.668016052819e+00, -3.604314584858e-01, -1.052854595701e+00]), 2.005166124893e+00, TOL));
assert(isequalRel(mag([-6.089897608707e+03, -6.051061893109e+04, 3.036314581053e+04]), 6.797457230332e+04, TOL));
assert(isequalRel(mag([6.051061893109e+04, -6.089897608707e+03, 0.000000000000e+00]), 6.081629597656e+04, TOL));
assert(isequalRel(mag([-2.467109022176e-01, -2.997650146749e-01, -6.468832586679e-01]), 7.544423660167e-01, TOL));
assert(isequalRel(mag([6.051061893109e+04, -6.089897608707e+03, 0.000000000000e+00]), 6.081629597656e+04, TOL));
assert(isequalRel(mag([-2.467109022176e-01, -2.997650146749e-01, -6.468832586679e-01]), 7.544423660167e-01, TOL));
assert(isequalRel(mag([-2.467109022176e-01, -2.997650146749e-01, -6.468832586679e-01]), 7.544423660167e-01, TOL));
assert(isequalRel(mag([2.515171450487e+03, 1.874663776282e+04, 3.786458088636e+04]), 4.232598493285e+04, TOL));
assert(isequalRel(mag([-9.084486021062e+03, 1.298262608646e+04, 2.404563900249e+04]), 2.879703494122e+04, TOL));
assert(isequalRel(mag([-1.378032362870e+00, -1.373184736469e+00, -3.013963835302e+00]), 3.587281354187e+00, TOL));
assert(isequalRel(mag([-6.110061054966e+03, -6.051598106110e+04, 3.036515644497e+04]), 6.798205304204e+04, TOL));
assert(isequalRel(mag([6.051598106110e+04, -6.110061054966e+03, 0.000000000000e+00]), 6.082365337501e+04, TOL));
assert(isequalRel(mag([-2.467258993893e-01, -2.996539078717e-01, -6.468387725370e-01]), 7.543649856597e-01, TOL));
assert(isequalRel(mag([6.051598106110e+04, -6.110061054966e+03, 0.000000000000e+00]), 6.082365337501e+04, TOL));
assert(isequalRel(mag([-2.467258993893e-01, -2.996539078717e-01, -6.468387725370e-01]), 7.543649856597e-01, TOL));
assert(isequalRel(mag([-2.467258993893e-01, -2.996539078717e-01, -6.468387725370e-01]), 7.543649856597e-01, TOL));
assert(isequalRel(mag([-9.084486021062e+03, 1.298262608646e+04, 2.404563900249e+04]), 2.879703494122e+04, TOL));
assert(isequalRel(mag([5.647009094950e+03, -3.293905186928e+03, -5.425852350631e+03]), 8.495787004731e+03, TOL));
assert(isequalRel(mag([8.507977175552e+00, 4.145607966602e-01, 2.543322805760e+00]), 8.889658439341e+00, TOL));
assert(isequalRel(mag([-6.128118508886e+03, -6.052519497260e+04, 3.036549873796e+04]), 6.799203318430e+04, TOL));
assert(isequalRel(mag([6.052519497260e+04, -6.128118508886e+03, 0.000000000000e+00]), 6.083463703295e+04, TOL));
assert(isequalRel(mag([-2.469130892230e-01, -2.995310458542e-01, -6.468620124546e-01]), 7.543973649324e-01, TOL));
assert(isequalRel(mag([6.052519497260e+04, -6.128118508886e+03, 0.000000000000e+00]), 6.083463703295e+04, TOL));
assert(isequalRel(mag([-2.469130892230e-01, -2.995310458542e-01, -6.468620124546e-01]), 7.543973649324e-01, TOL));
assert(isequalRel(mag([-2.469130892230e-01, -2.995310458542e-01, -6.468620124546e-01]), 7.543973649324e-01, TOL));
assert(isequalRel(mag([5.647009094950e+03, -3.293905186928e+03, -5.425852350631e+03]), 8.495787004731e+03, TOL));
assert(isequalRel(mag([2.511163372210e+04, 7.412551094883e+03, 1.984425781729e+04]), 3.285322861221e+04, TOL));
assert(isequalRel(mag([4.164962896993e-01, 1.332106005655e+00, 2.739301737209e+00]), 3.074369785357e+00, TOL));
assert(isequalRel(mag([-6.129440924816e+03, -6.052328212639e+04, 3.036405806481e+04]), 6.798980620331e+04, TOL));
assert(isequalRel(mag([6.052328212639e+04, -6.129440924816e+03, 0.000000000000e+00]), 6.083286714763e+04, TOL));
assert(isequalRel(mag([-2.469486187646e-01, -2.994769198091e-01, -6.467838730979e-01]), 7.543205050293e-01, TOL));
assert(isequalRel(mag([6.052328212639e+04, -6.129440924816e+03, 0.000000000000e+00]), 6.083286714763e+04, TOL));
assert(isequalRel(mag([-2.469486187646e-01, -2.994769198091e-01, -6.467838730979e-01]), 7.543205050293e-01, TOL));
assert(isequalRel(mag([-2.469486187646e-01, -2.994769198091e-01, -6.467838730979e-01]), 7.543205050293e-01, TOL));
assert(isequalRel(mag([2.511163372210e+04, 7.412551094883e+03, 1.984425781729e+04]), 3.285322861221e+04, TOL));
assert(isequalRel(mag([2.296147461641e+04, 1.498574459578e+04, 3.451109257381e+04]), 4.407740201382e+04, TOL));
assert(isequalRel(mag([-8.167110480218e-01, 7.893911075507e-01, 1.407901804256e+00]), 1.808961787067e+00, TOL));
assert(isequalRel(mag([-6.144292735101e+03, -6.051309212516e+04, 3.036460705266e+04]), 6.798232132860e+04, TOL));
assert(isequalRel(mag([6.051309212516e+04, -6.144292735101e+03, 0.000000000000e+00]), 6.082422750650e+04, TOL));
assert(isequalRel(mag([-2.470619392286e-01, -2.994738965704e-01, -6.468093704131e-01]), 7.543782726170e-01, TOL));
assert(isequalRel(mag([6.051309212516e+04, -6.144292735101e+03, 0.000000000000e+00]), 6.082422750650e+04, TOL));
assert(isequalRel(mag([-2.470619392286e-01, -2.994738965704e-01, -6.468093704131e-01]), 7.543782726170e-01, TOL));
assert(isequalRel(mag([-2.470619392286e-01, -2.994738965704e-01, -6.468093704131e-01]), 7.543782726170e-01, TOL));
assert(isequalRel(mag([2.296147461641e+04, 1.498574459578e+04, 3.451109257381e+04]), 4.407740201382e+04, TOL));
assert(isequalRel(mag([1.484115301459e+04, 1.887691439870e+04, 4.062625901619e+04]), 4.719206121446e+04, TOL));
assert(isequalRel(mag([-1.380403340809e+00, 2.902288098752e-01, 2.982581201764e-01]), 1.441771150928e+00, TOL));
assert(isequalRel(mag([-6.160717800665e+03, -6.050711806990e+04, 3.036508587673e+04]), 6.797870417451e+04, TOL));
assert(isequalRel(mag([6.050711806990e+04, -6.160717800665e+03, 0.000000000000e+00]), 6.081994558485e+04, TOL));
assert(isequalRel(mag([-2.470994254522e-01, -2.994536426967e-01, -6.468411393192e-01]), 7.544097492072e-01, TOL));
assert(isequalRel(mag([6.050711806990e+04, -6.160717800665e+03, 0.000000000000e+00]), 6.081994558485e+04, TOL));
assert(isequalRel(mag([-2.470994254522e-01, -2.994536426967e-01, -6.468411393192e-01]), 7.544097492072e-01, TOL));
assert(isequalRel(mag([-2.470994254522e-01, -2.994536426967e-01, -6.468411393192e-01]), 7.544097492072e-01, TOL));
assert(isequalRel(mag([1.484115301459e+04, 1.887691439870e+04, 4.062625901619e+04]), 4.719206121446e+04, TOL));
assert(isequalRel(mag([3.750701740805e+03, 1.897857939698e+04, 3.857811783220e+04]), 4.315698570279e+04, TOL));
assert(isequalRel(mag([-1.656939412449e+00, -2.879308805679e-01, -9.108255985567e-01]), 1.912578280620e+00, TOL));
assert(isequalRel(mag([-6.178344500930e+03, -6.050536873621e+04, 3.036641334017e+04]), 6.797933984545e+04, TOL));
assert(isequalRel(mag([6.050536873621e+04, -6.178344500930e+03, 0.000000000000e+00]), 6.081999331369e+04, TOL));
assert(isequalRel(mag([-2.471020022727e-01, -2.994090181277e-01, -6.468506544264e-01]), 7.544010397628e-01, TOL));
assert(isequalRel(mag([6.050536873621e+04, -6.178344500930e+03, 0.000000000000e+00]), 6.081999331369e+04, TOL));
assert(isequalRel(mag([-2.471020022727e-01, -2.994090181277e-01, -6.468506544264e-01]), 7.544010397628e-01, TOL));
assert(isequalRel(mag([-2.471020022727e-01, -2.994090181277e-01, -6.468506544264e-01]), 7.544010397628e-01, TOL));
assert(isequalRel(mag([3.750701740805e+03, 1.897857939698e+04, 3.857811783220e+04]), 4.315698570279e+04, TOL));
assert(isequalRel(mag([-8.027302194887e+03, 1.393954436955e+04, 2.613649045637e+04]), 3.068981282339e+04, TOL));
assert(isequalRel(mag([-1.474476060920e+00, -1.222693623774e+00, -2.737178731434e+00]), 3.340839229843e+00, TOL));
assert(isequalRel(mag([-6.198104145358e+03, -6.050979033302e+04, 3.036845568282e+04]), 6.798598621556e+04, TOL));
assert(isequalRel(mag([6.050979033302e+04, -6.198104145358e+03, 0.000000000000e+00]), 6.082640233602e+04, TOL));
assert(isequalRel(mag([-2.471109298729e-01, -2.993083640667e-01, -6.468127928057e-01]), 7.543315566779e-01, TOL));
assert(isequalRel(mag([6.050979033302e+04, -6.198104145358e+03, 0.000000000000e+00]), 6.082640233602e+04, TOL));
assert(isequalRel(mag([-2.471109298729e-01, -2.993083640667e-01, -6.468127928057e-01]), 7.543315566779e-01, TOL));
assert(isequalRel(mag([-2.471109298729e-01, -2.993083640667e-01, -6.468127928057e-01]), 7.543315566779e-01, TOL));
assert(isequalRel(mag([-8.027302194887e+03, 1.393954436955e+04, 2.613649045637e+04]), 3.068981282339e+04, TOL));
assert(isequalRel(mag([-1.296956570925e+03, -2.813693697683e+03, -5.871095872577e+03]), 6.638428678252e+03, TOL));
assert(isequalRel(mag([9.881929371107e+00, -1.978467206547e+00, -1.922261005276e+00]), 1.025972455553e+01, TOL));
assert(isequalRel(mag([-6.207116974537e+03, -6.051084378563e+04, 3.037070843632e+04]), 6.798875236176e+04, TOL));
assert(isequalRel(mag([6.051084378563e+04, -6.207116974537e+03, 0.000000000000e+00]), 6.082836934182e+04, TOL));
assert(isequalRel(mag([-2.471901722525e-01, -2.991541029255e-01, -6.465573743613e-01]), 7.540773149328e-01, TOL));
assert(isequalRel(mag([6.051084378563e+04, -6.207116974537e+03, 0.000000000000e+00]), 6.082836934182e+04, TOL));
assert(isequalRel(mag([-2.471901722525e-01, -2.991541029255e-01, -6.465573743613e-01]), 7.540773149328e-01, TOL));
assert(isequalRel(mag([-2.471901722525e-01, -2.991541029255e-01, -6.465573743613e-01]), 7.540773149328e-01, TOL));
assert(isequalRel(mag([-1.296956570925e+03, -2.813693697683e+03, -5.871095872577e+03]), 6.638428678252e+03, TOL));
assert(isequalRel(mag([2.473860364819e+04, 6.383416440188e+03, 1.778727631900e+04]), 3.113091252694e+04, TOL));
assert(isequalRel(mag([6.395569516125e-01, 1.392554379179e+00, 2.906206323925e+00]), 3.285464349305e+00, TOL));
assert(isequalRel(mag([-6.218224304976e+03, -6.051951014739e+04, 3.036729248571e+04]), 6.799595484218e+04, TOL));
assert(isequalRel(mag([6.051951014739e+04, -6.218224304976e+03, 0.000000000000e+00]), 6.083812474088e+04, TOL));
assert(isequalRel(mag([-2.473228087639e-01, -2.991124850075e-01, -6.467501105504e-01]), 7.542695512343e-01, TOL));
assert(isequalRel(mag([6.051951014739e+04, -6.218224304976e+03, 0.000000000000e+00]), 6.083812474088e+04, TOL));
assert(isequalRel(mag([-2.473228087639e-01, -2.991124850075e-01, -6.467501105504e-01]), 7.542695512343e-01, TOL));
assert(isequalRel(mag([-2.473228087639e-01, -2.991124850075e-01, -6.467501105504e-01]), 7.542695512343e-01, TOL));
assert(isequalRel(mag([2.473860364819e+04, 6.383416440188e+03, 1.778727631900e+04]), 3.113091252694e+04, TOL));
assert(isequalRel(mag([2.354685388669e+04, 1.435815602832e+04, 3.344167679479e+04]), 4.334693437075e+04, TOL));
assert(isequalRel(mag([-7.348950062910e-01, 8.415648514604e-01, 1.526009908521e+00]), 1.891298049063e+00, TOL));
assert(isequalRel(mag([-6.232651397095e+03, -6.050885362407e+04, 3.036794175828e+04]), 6.798808128614e+04, TOL));
assert(isequalRel(mag([6.050885362407e+04, -6.232651397095e+03, 0.000000000000e+00]), 6.082900056994e+04, TOL));
assert(isequalRel(mag([-2.474493141299e-01, -2.991102821918e-01, -6.467703920258e-01]), 7.543275574825e-01, TOL));
assert(isequalRel(mag([6.050885362407e+04, -6.232651397095e+03, 0.000000000000e+00]), 6.082900056994e+04, TOL));
assert(isequalRel(mag([-2.474493141299e-01, -2.991102821918e-01, -6.467703920258e-01]), 7.543275574825e-01, TOL));
assert(isequalRel(mag([-2.474493141299e-01, -2.991102821918e-01, -6.467703920258e-01]), 7.543275574825e-01, TOL));
assert(isequalRel(mag([2.354685388669e+04, 1.435815602832e+04, 3.344167679479e+04]), 4.334693437075e+04, TOL));
assert(isequalRel(mag([1.585587696303e+04, 1.862405633582e+04, 4.036713420574e+04]), 4.719925669596e+04, TOL));
assert(isequalRel(mag([-1.337753546067e+00, 3.439695218582e-01, 4.100184716680e-01]), 1.440838203648e+00, TOL));
assert(isequalRel(mag([-6.248856736465e+03, -6.050247936764e+04, 3.036833582302e+04]), 6.798407196399e+04, TOL));
assert(isequalRel(mag([6.050247936764e+04, -6.248856736465e+03, 0.000000000000e+00]), 6.082432260326e+04, TOL));
assert(isequalRel(mag([-2.474931483770e-01, -2.990915560581e-01, -6.468029740378e-01]), 7.543624491072e-01, TOL));
assert(isequalRel(mag([6.050247936764e+04, -6.248856736465e+03, 0.000000000000e+00]), 6.082432260326e+04, TOL));
assert(isequalRel(mag([-2.474931483770e-01, -2.990915560581e-01, -6.468029740378e-01]), 7.543624491072e-01, TOL));
assert(isequalRel(mag([-2.474931483770e-01, -2.990915560581e-01, -6.468029740378e-01]), 7.543624491072e-01, TOL));
assert(isequalRel(mag([1.585587696303e+04, 1.862405633582e+04, 4.036713420574e+04]), 4.719925669596e+04, TOL));
assert(isequalRel(mag([4.976449335906e+03, 1.915675504042e+04, 3.918968603184e+04]), 4.390418889976e+04, TOL));
assert(isequalRel(mag([-1.642084364575e+00, -2.185250959665e-01, -7.741482036572e-01]), 1.828523918130e+00, TOL));
assert(isequalRel(mag([-6.266237601436e+03, -6.050026137150e+04, 3.036952885916e+04]), 6.798423083940e+04, TOL));
assert(isequalRel(mag([6.050026137150e+04, -6.266237601436e+03, 0.000000000000e+00]), 6.082390450882e+04, TOL));
assert(isequalRel(mag([-2.474990019672e-01, -2.990497727717e-01, -6.468153345190e-01]), 7.543584025770e-01, TOL));
assert(isequalRel(mag([6.050026137150e+04, -6.266237601436e+03, 0.000000000000e+00]), 6.082390450882e+04, TOL));
assert(isequalRel(mag([-2.474990019672e-01, -2.990497727717e-01, -6.468153345190e-01]), 7.543584025770e-01, TOL));
assert(isequalRel(mag([-2.474990019672e-01, -2.990497727717e-01, -6.468153345190e-01]), 7.543584025770e-01, TOL));
assert(isequalRel(mag([4.976449335906e+03, 1.915675504042e+04, 3.918968603184e+04]), 4.390418889976e+04, TOL));
assert(isequalRel(mag([-6.909207462100e+03, 1.479044707042e+04, 2.803446732222e+04]), 3.244111327217e+04, TOL));
assert(isequalRel(mag([-1.545152609613e+00, -1.088119523356e+00, -2.487447213815e+00]), 3.123922906479e+00, TOL));
assert(isequalRel(mag([-6.285605136221e+03, -6.050381919331e+04, 3.037154141864e+04]), 6.799008381411e+04, TOL));
assert(isequalRel(mag([6.050381919331e+04, -6.285605136221e+03, 0.000000000000e+00]), 6.082944162908e+04, TOL));
assert(isequalRel(mag([-2.475040924484e-01, -2.989581288572e-01, -6.467838197182e-01]), 7.542967241330e-01, TOL));
assert(isequalRel(mag([6.050381919331e+04, -6.285605136221e+03, 0.000000000000e+00]), 6.082944162908e+04, TOL));
assert(isequalRel(mag([-2.475040924484e-01, -2.989581288572e-01, -6.467838197182e-01]), 7.542967241330e-01, TOL));
assert(isequalRel(mag([-2.475040924484e-01, -2.989581288572e-01, -6.467838197182e-01]), 7.542967241330e-01, TOL));
assert(isequalRel(mag([-6.909207462100e+03, 1.479044707042e+04, 2.803446732222e+04]), 3.244111327217e+04, TOL));
assert(isequalRel(mag([-7.331650067070e+03, -6.041732341856e+02, -2.723510145754e+03]), 7.844464641828e+03, TOL));
assert(isequalRel(mag([6.168997264937e+00, -3.634011554138e+00, -5.963531681634e+00]), 9.318061887982e+00, TOL));
assert(isequalRel(mag([-6.294261114223e+03, -6.052385409381e+04, 3.037044408387e+04]), 6.800822384972e+04, TOL));
assert(isequalRel(mag([6.052385409381e+04, -6.294261114223e+03, 0.000000000000e+00]), 6.085026406962e+04, TOL));
assert(isequalRel(mag([-2.477660300617e-01, -2.988439551761e-01, -6.469017039751e-01]), 7.544385527024e-01, TOL));
assert(isequalRel(mag([6.052385409381e+04, -6.294261114223e+03, 0.000000000000e+00]), 6.085026406962e+04, TOL));
assert(isequalRel(mag([-2.477660300617e-01, -2.988439551761e-01, -6.469017039751e-01]), 7.544385527024e-01, TOL));
assert(isequalRel(mag([-2.477660300617e-01, -2.988439551761e-01, -6.469017039751e-01]), 7.544385527024e-01, TOL));
assert(isequalRel(mag([-7.331650067070e+03, -6.041732341856e+02, -2.723510145754e+03]), 7.844464641828e+03, TOL));
# 23177
assert(isequalRel(mag([-1.684343528577e+03, -3.155595196340e+04, 3.888999443194e+03]), 3.183927502484e+04, TOL));
assert(isequalRel(mag([2.023055718619e+00, -2.151306405417e+00, 2.650657784926e-01]), 2.964984579648e+00, TOL));
assert(isequalRel(mag([2.026439553109e+00, 8.314124391911e+03, 6.746298809796e+04]), 6.797337296042e+04, TOL));
assert(isequalRel(mag([-8.314124391911e+03, 2.026439553109e+00, 0.000000000000e+00]), 8.314124638867e+03, TOL));
assert(isequalRel(mag([-3.167352498695e-01, 6.487013209060e-01, -7.993629962759e-02]), 7.263087733555e-01, TOL));
assert(isequalRel(mag([-8.314124391911e+03, 2.026439553109e+00, 0.000000000000e+00]), 8.314124638867e+03, TOL));
assert(isequalRel(mag([-3.167352498695e-01, 6.487013209060e-01, -7.993629962759e-02]), 7.263087733555e-01, TOL));
assert(isequalRel(mag([-3.167352498695e-01, 6.487013209060e-01, -7.993629962759e-02]), 7.263087733555e-01, TOL));
assert(isequalRel(mag([-1.684343528577e+03, -3.155595196340e+04, 3.888999443194e+03]), 3.183927502484e+04, TOL));
assert(isequalRel(mag([1.232551410155e+04, -3.898215046244e+04, 4.802888322754e+03]), 4.116544775397e+04, TOL));
assert(isequalRel(mag([1.763224157190e+00, -1.025144461842e-01, 1.239713851147e-02]), 1.766245263042e+00, TOL));
assert(isequalRel(mag([9.098317733500e+00, 8.315767609425e+03, 6.747072614256e+04]), 6.798125447443e+04, TOL));
assert(isequalRel(mag([-8.315767609425e+03, 9.098317733500e+00, 0.000000000000e+00]), 8.315772586678e+03, TOL));
assert(isequalRel(mag([-3.170252254862e-01, 6.485038373041e-01, -7.988535349719e-02]), 7.262533237763e-01, TOL));
assert(isequalRel(mag([-8.315767609425e+03, 9.098317733500e+00, 0.000000000000e+00]), 8.315772586678e+03, TOL));
assert(isequalRel(mag([-3.170252254862e-01, 6.485038373041e-01, -7.988535349719e-02]), 7.262533237763e-01, TOL));
assert(isequalRel(mag([-3.170252254862e-01, 6.485038373041e-01, -7.988535349719e-02]), 7.262533237763e-01, TOL));
assert(isequalRel(mag([1.232551410155e+04, -3.898215046244e+04, 4.802888322754e+03]), 4.116544775397e+04, TOL));
assert(isequalRel(mag([2.277366831936e+04, -3.434802176606e+04, 4.228774073906e+03]), 4.142836103601e+04, TOL));
assert(isequalRel(mag([1.067616787250e+00, 1.352427865481e+00, -1.669563673618e-01]), 1.731109807133e+00, TOL));
assert(isequalRel(mag([1.550904575195e+01, 8.316919124894e+03, 6.747026828062e+04]), 6.798094208025e+04, TOL));
assert(isequalRel(mag([-8.316919124894e+03, 1.550904575195e+01, 0.000000000000e+00]), 8.316933585194e+03, TOL));
assert(isequalRel(mag([-3.173057779990e-01, 6.483746204986e-01, -7.985084851130e-02]), 7.262566786379e-01, TOL));
assert(isequalRel(mag([-8.316919124894e+03, 1.550904575195e+01, 0.000000000000e+00]), 8.316933585194e+03, TOL));
assert(isequalRel(mag([-3.173057779990e-01, 6.483746204986e-01, -7.985084851130e-02]), 7.262566786379e-01, TOL));
assert(isequalRel(mag([-3.173057779990e-01, 6.483746204986e-01, -7.985084851130e-02]), 7.262566786379e-01, TOL));
assert(isequalRel(mag([2.277366831936e+04, -3.434802176606e+04, 4.228774073906e+03]), 4.142836103601e+04, TOL));
assert(isequalRel(mag([2.619440441089e+04, -1.948294203672e+04, 2.393847740627e+03]), 3.273319965803e+04, TOL));
assert(isequalRel(mag([-3.137321856817e-01, 2.808771328014e+00, -3.462041182091e-01]), 2.847363964946e+00, TOL));
assert(isequalRel(mag([2.130387043626e+01, 8.317583597228e+03, 6.746166607501e+04]), 6.797248737812e+04, TOL));
assert(isequalRel(mag([-8.317583597228e+03, 2.130387043626e+01, 0.000000000000e+00]), 8.317610880041e+03, TOL));
assert(isequalRel(mag([-3.176411558058e-01, 6.482838467372e-01, -7.982886307540e-02]), 7.263198311914e-01, TOL));
assert(isequalRel(mag([-8.317583597228e+03, 2.130387043626e+01, 0.000000000000e+00]), 8.317610880041e+03, TOL));
assert(isequalRel(mag([-3.176411558058e-01, 6.482838467372e-01, -7.982886307540e-02]), 7.263198311914e-01, TOL));
assert(isequalRel(mag([-3.176411558058e-01, 6.482838467372e-01, -7.982886307540e-02]), 7.263198311914e-01, TOL));
assert(isequalRel(mag([2.619440441089e+04, -1.948294203672e+04, 2.393847740627e+03]), 3.273319965803e+04, TOL));
assert(isequalRel(mag([8.893505734480e+03, 5.763388905608e+03, -7.136988416357e+02]), 1.062169769684e+04, TOL));
assert(isequalRel(mag([-7.037399220059e+00, 3.022613130968e+00, -3.702724159315e-01]), 7.668003624411e+00, TOL));
assert(isequalRel(mag([2.321155625182e+01, 8.315603525891e+03, 6.744089580260e+04]), 6.795163152885e+04, TOL));
assert(isequalRel(mag([-8.315603525891e+03, 2.321155625182e+01, 0.000000000000e+00]), 8.315635921332e+03, TOL));
assert(isequalRel(mag([-3.181627367973e-01, 6.480605502001e-01, -7.979771739279e-02]), 7.263454271303e-01, TOL));
assert(isequalRel(mag([-8.315603525891e+03, 2.321155625182e+01, 0.000000000000e+00]), 8.315635921332e+03, TOL));
assert(isequalRel(mag([-3.181627367973e-01, 6.480605502001e-01, -7.979771739279e-02]), 7.263454271303e-01, TOL));
assert(isequalRel(mag([-3.181627367973e-01, 6.480605502001e-01, -7.979771739279e-02]), 7.263454271303e-01, TOL));
assert(isequalRel(mag([8.893505734480e+03, 5.763388905608e+03, -7.136988416357e+02]), 1.062169769684e+04, TOL));
assert(isequalRel(mag([-6.028756865366e+03, -2.564899913786e+04, 3.164371072739e+03]), 2.653733804288e+04, TOL));
assert(isequalRel(mag([1.883159287927e+00, -3.177051976376e+00, 3.907931623816e-01]), 3.713848066368e+00, TOL));
assert(isequalRel(mag([2.991788562259e+01, 8.315011736723e+03, 6.745482486671e+04]), 6.796538613927e+04, TOL));
assert(isequalRel(mag([-8.315011736723e+03, 2.991788562259e+01, 0.000000000000e+00]), 8.315065559676e+03, TOL));
assert(isequalRel(mag([-3.186218741442e-01, 6.478687776793e-01, -7.972007944721e-02]), 7.263670854616e-01, TOL));
assert(isequalRel(mag([-8.315011736723e+03, 2.991788562259e+01, 0.000000000000e+00]), 8.315065559676e+03, TOL));
assert(isequalRel(mag([-3.186218741442e-01, 6.478687776793e-01, -7.972007944721e-02]), 7.263670854616e-01, TOL));
assert(isequalRel(mag([-3.186218741442e-01, 6.478687776793e-01, -7.972007944721e-02]), 7.263670854616e-01, TOL));
assert(isequalRel(mag([-6.028756865366e+03, -2.564899913786e+04, 3.164371072739e+03]), 2.653733804288e+04, TOL));
assert(isequalRel(mag([8.313572990560e+03, -3.814645710922e+04, 4.697807775347e+03]), 3.932349277149e+04, TOL));
assert(isequalRel(mag([1.905002133306e+00, -6.258830744031e-01, 7.609818669984e-02]), 2.006627440445e+00, TOL));
assert(isequalRel(mag([3.740215835367e+01, 8.316686004321e+03, 6.746575754855e+04]), 6.797644523374e+04, TOL));
assert(isequalRel(mag([-8.316686004321e+03, 3.740215835367e+01, 0.000000000000e+00]), 8.316770107194e+03, TOL));
assert(isequalRel(mag([-3.189375293371e-01, 6.476408228750e-01, -7.965961712631e-02]), 7.262956957566e-01, TOL));
assert(isequalRel(mag([-8.316686004321e+03, 3.740215835367e+01, 0.000000000000e+00]), 8.316770107194e+03, TOL));
assert(isequalRel(mag([-3.189375293371e-01, 6.476408228750e-01, -7.965961712631e-02]), 7.262956957566e-01, TOL));
assert(isequalRel(mag([-3.189375293371e-01, 6.476408228750e-01, -7.965961712631e-02]), 7.262956957566e-01, TOL));
assert(isequalRel(mag([8.313572990560e+03, -3.814645710922e+04, 4.697807775347e+03]), 3.932349277149e+04, TOL));
assert(isequalRel(mag([2.018129108622e+04, -3.684260674073e+04, 4.529125682184e+03]), 4.225133324291e+04, TOL));
assert(isequalRel(mag([1.326244475907e+00, 9.219164865847e-01, -1.145274551925e-01]), 1.619250121539e+00, TOL));
assert(isequalRel(mag([4.401435645210e+01, 8.318039827290e+03, 6.746776864087e+04]), 6.797861082142e+04, TOL));
assert(isequalRel(mag([-8.318039827290e+03, 4.401435645210e+01, 0.000000000000e+00]), 8.318156276000e+03, TOL));
assert(isequalRel(mag([-3.192135434731e-01, 6.474918690273e-01, -7.962043630526e-02]), 7.262798501064e-01, TOL));
assert(isequalRel(mag([-8.318039827290e+03, 4.401435645210e+01, 0.000000000000e+00]), 8.318156276000e+03, TOL));
assert(isequalRel(mag([-3.192135434731e-01, 6.474918690273e-01, -7.962043630526e-02]), 7.262798501064e-01, TOL));
assert(isequalRel(mag([-3.192135434731e-01, 6.474918690273e-01, -7.962043630526e-02]), 7.262798501064e-01, TOL));
assert(isequalRel(mag([2.018129108622e+04, -3.684260674073e+04, 4.529125682184e+03]), 4.225133324291e+04, TOL));
assert(isequalRel(mag([2.630261794569e+04, -2.517339539436e+04, 3.084653099862e+03]), 3.653823519581e+04, TOL));
assert(isequalRel(mag([2.453988353635e-01, 2.329974346816e+00, -2.874958796262e-01]), 2.360435325532e+00, TOL));
assert(isequalRel(mag([5.008486057701e+01, 8.318864560974e+03, 6.746194697947e+04]), 6.797293804404e+04, TOL));
assert(isequalRel(mag([-8.318864560974e+03, 5.008486057701e+01, 0.000000000000e+00]), 8.319015330981e+03, TOL));
assert(isequalRel(mag([-3.195242165988e-01, 6.473912001920e-01, -7.959385441631e-02]), 7.263238070861e-01, TOL));
assert(isequalRel(mag([-8.318864560974e+03, 5.008486057701e+01, 0.000000000000e+00]), 8.319015330981e+03, TOL));
assert(isequalRel(mag([-3.195242165988e-01, 6.473912001920e-01, -7.959385441631e-02]), 7.263238070861e-01, TOL));
assert(isequalRel(mag([-3.195242165988e-01, 6.473912001920e-01, -7.959385441631e-02]), 7.263238070861e-01, TOL));
assert(isequalRel(mag([2.630261794569e+04, -2.517339539436e+04, 3.084653099862e+03]), 3.653823519581e+04, TOL));
assert(isequalRel(mag([1.936507045602e+04, -2.700004901218e+03, 3.174272741652e+02]), 1.955496715179e+04, TOL));
assert(isequalRel(mag([-3.009733018324e+00, 3.902496057932e+00, -4.789285820627e-01]), 4.951498854940e+00, TOL));
assert(isequalRel(mag([5.435083279299e+01, 8.319114387072e+03, 6.744581721534e+04]), 6.795696342571e+04, TOL));
assert(isequalRel(mag([-8.319114387072e+03, 5.435083279299e+01, 0.000000000000e+00]), 8.319291928897e+03, TOL));
assert(isequalRel(mag([-3.199654453074e-01, 6.472739112473e-01, -7.958025479742e-02]), 7.264120176083e-01, TOL));
assert(isequalRel(mag([-8.319114387072e+03, 5.435083279299e+01, 0.000000000000e+00]), 8.319291928897e+03, TOL));
assert(isequalRel(mag([-3.199654453074e-01, 6.472739112473e-01, -7.958025479742e-02]), 7.264120176083e-01, TOL));
assert(isequalRel(mag([-3.199654453074e-01, 6.472739112473e-01, -7.958025479742e-02]), 7.264120176083e-01, TOL));
assert(isequalRel(mag([1.936507045602e+04, -2.700004901218e+03, 3.174272741652e+02]), 1.955496715179e+04, TOL));
assert(isequalRel(mag([-9.667818787801e+03, -1.693019112642e+04, 2.095874690342e+03]), 1.960843651107e+04, TOL));
assert(isequalRel(mag([1.279288285157e+00, -4.736005905398e+00, 5.828782553890e-01]), 4.940250754071e+00, TOL));
assert(isequalRel(mag([5.783464326496e+01, 8.316389286961e+03, 6.744544204483e+04]), 6.795626040506e+04, TOL));
assert(isequalRel(mag([-8.316389286961e+03, 5.783464326496e+01, 0.000000000000e+00]), 8.316590384181e+03, TOL));
assert(isequalRel(mag([-3.204762197525e-01, 6.470354006473e-01, -7.950816962278e-02]), 7.264167991962e-01, TOL));
assert(isequalRel(mag([-8.316389286961e+03, 5.783464326496e+01, 0.000000000000e+00]), 8.316590384181e+03, TOL));
assert(isequalRel(mag([-3.204762197525e-01, 6.470354006473e-01, -7.950816962278e-02]), 7.264167991962e-01, TOL));
assert(isequalRel(mag([-3.204762197525e-01, 6.470354006473e-01, -7.950816962278e-02]), 7.264167991962e-01, TOL));
assert(isequalRel(mag([-9.667818787801e+03, -1.693019112642e+04, 2.095874690342e+03]), 1.960843651107e+04, TOL));
assert(isequalRel(mag([4.021314385831e+03, -3.606609209609e+04, 4.442915874109e+03]), 3.656054526314e+04, TOL));
assert(isequalRel(mag([2.007322354141e+00, -1.227461375715e+00, 1.493838966847e-01]), 2.357608960556e+00, TOL));
assert(isequalRel(mag([6.581425551718e+01, 8.317644738918e+03, 6.746026480277e+04]), 6.797113264305e+04, TOL));
assert(isequalRel(mag([-8.317644738918e+03, 6.581425551718e+01, 0.000000000000e+00]), 8.317905116018e+03, TOL));
assert(isequalRel(mag([-3.208467903932e-01, 6.467755309769e-01, -7.943243056504e-02]), 7.263406648409e-01, TOL));
assert(isequalRel(mag([-8.317644738918e+03, 6.581425551718e+01, 0.000000000000e+00]), 8.317905116018e+03, TOL));
assert(isequalRel(mag([-3.208467903932e-01, 6.467755309769e-01, -7.943243056504e-02]), 7.263406648409e-01, TOL));
assert(isequalRel(mag([-3.208467903932e-01, 6.467755309769e-01, -7.943243056504e-02]), 7.263406648409e-01, TOL));
assert(isequalRel(mag([4.021314385831e+03, -3.606609209609e+04, 4.442915874109e+03]), 3.656054526314e+04, TOL));
# 23333
assert(isequalRel(mag([-4.467291239679e+04, -6.213119965811e+03, -1.738801317270e+03]), 4.513640871560e+04, TOL));
assert(isequalRel(mag([-3.719475069902e+00, -1.336673022266e+00, -6.218882613837e-01]), 4.000991698782e+00, TOL));
assert(isequalRel(mag([1.539657561431e+03, -2.131413167029e+04, 3.660353200769e+04]), 4.238491842275e+04, TOL));
assert(isequalRel(mag([2.131413167029e+04, 1.539657561431e+03, 0.000000000000e+00]), 2.136966902563e+04, TOL));
assert(isequalRel(mag([8.337304742625e-01, 4.768098192576e-01, 2.425757120538e-01]), 9.906044031463e-01, TOL));
assert(isequalRel(mag([2.131413167029e+04, 1.539657561431e+03, 0.000000000000e+00]), 2.136966902563e+04, TOL));
assert(isequalRel(mag([8.337304742625e-01, 4.768098192576e-01, 2.425757120538e-01]), 9.906044031463e-01, TOL));
assert(isequalRel(mag([8.337304742625e-01, 4.768098192576e-01, 2.425757120538e-01]), 9.906044031463e-01, TOL));
assert(isequalRel(mag([-4.467291239679e+04, -6.213119965811e+03, -1.738801317270e+03]), 4.513640871560e+04, TOL));
assert(isequalRel(mag([-6.705308885387e+04, -1.499469685946e+04, -5.897990727927e+03]), 6.896190218794e+04, TOL));
assert(isequalRel(mag([-2.860576612613e+00, -1.183771564513e+00, -5.684739091465e-01]), 3.147598490748e+00, TOL));
assert(isequalRel(mag([1.542220228683e+03, -2.124627720339e+04, 3.648206074859e+04]), 4.224598791248e+04, TOL));
assert(isequalRel(mag([2.124627720339e+04, 1.542220228683e+03, 0.000000000000e+00]), 2.130217684269e+04, TOL));
assert(isequalRel(mag([8.336746967216e-01, 4.770504154429e-01, 2.425804684131e-01]), 9.906744583785e-01, TOL));
assert(isequalRel(mag([2.124627720339e+04, 1.542220228683e+03, 0.000000000000e+00]), 2.130217684269e+04, TOL));
assert(isequalRel(mag([8.336746967216e-01, 4.770504154429e-01, 2.425804684131e-01]), 9.906744583785e-01, TOL));
assert(isequalRel(mag([8.336746967216e-01, 4.770504154429e-01, 2.425804684131e-01]), 9.906744583785e-01, TOL));
assert(isequalRel(mag([-6.705308885387e+04, -1.499469685946e+04, -5.897990727927e+03]), 6.896190218794e+04, TOL));
assert(isequalRel(mag([-8.522784253168e+04, -2.289708484471e+04, -9.722591845641e+03]), 8.878395366949e+04, TOL));
assert(isequalRel(mag([-2.426469823388e+00, -1.078592475459e+00, -5.253414306680e-01]), 2.706861863987e+00, TOL));
assert(isequalRel(mag([1.542072903780e+03, -2.118214100976e+04, 3.636702423499e+04]), 4.211438635795e+04, TOL));
assert(isequalRel(mag([2.118214100976e+04, 1.542072903780e+03, 0.000000000000e+00]), 2.123819876068e+04, TOL));
assert(isequalRel(mag([8.336218315652e-01, 4.772475731300e-01, 2.426269384906e-01]), 9.907363097222e-01, TOL));
assert(isequalRel(mag([2.118214100976e+04, 1.542072903780e+03, 0.000000000000e+00]), 2.123819876068e+04, TOL));
assert(isequalRel(mag([8.336218315652e-01, 4.772475731300e-01, 2.426269384906e-01]), 9.907363097222e-01, TOL));
assert(isequalRel(mag([8.336218315652e-01, 4.772475731300e-01, 2.426269384906e-01]), 9.907363097222e-01, TOL));
assert(isequalRel(mag([-8.522784253168e+04, -2.289708484471e+04, -9.722591845641e+03]), 8.878395366949e+04, TOL));
assert(isequalRel(mag([-1.009860041914e+05, -3.017119698695e+04, -1.328377044765e+04]), 1.062305639986e+05, TOL));
assert(isequalRel(mag([-2.147108978436e+00, -1.000530826921e+00, -4.915875819679e-01]), 2.419255515989e+00, TOL));
assert(isequalRel(mag([1.540963941268e+03, -2.112176281739e+04, 3.625876234021e+04]), 4.199049036182e+04, TOL));
assert(isequalRel(mag([2.112176281739e+04, 1.540963941268e+03, 0.000000000000e+00]), 2.117789966881e+04, TOL));
assert(isequalRel(mag([8.335678018092e-01, 4.774278771379e-01, 2.426894877315e-01]), 9.907930387002e-01, TOL));
assert(isequalRel(mag([2.112176281739e+04, 1.540963941268e+03, 0.000000000000e+00]), 2.117789966881e+04, TOL));
assert(isequalRel(mag([8.335678018092e-01, 4.774278771379e-01, 2.426894877315e-01]), 9.907930387002e-01, TOL));
assert(isequalRel(mag([8.335678018092e-01, 4.774278771379e-01, 2.426894877315e-01]), 9.907930387002e-01, TOL));
assert(isequalRel(mag([-1.009860041914e+05, -3.017119698695e+04, -1.328377044765e+04]), 1.062305639986e+05, TOL));
assert(isequalRel(mag([-1.150930068639e+05, -3.696256316477e+04, -1.663415682929e+04]), 1.220218278756e+05, TOL));
assert(isequalRel(mag([-1.945446187603e+00, -9.389477360594e-01, -4.641992018274e-01]), 2.209494199786e+00, TOL));
assert(isequalRel(mag([1.539388422466e+03, -2.106522493458e+04, 3.615764063813e+04]), 4.187467486173e+04, TOL));
assert(isequalRel(mag([2.106522493458e+04, 1.539388422466e+03, 0.000000000000e+00]), 2.112139716638e+04, TOL));
assert(isequalRel(mag([8.335112086210e-01, 4.775992278889e-01, 2.427602438822e-01]), 9.908453428193e-01, TOL));
assert(isequalRel(mag([2.106522493458e+04, 1.539388422466e+03, 0.000000000000e+00]), 2.112139716638e+04, TOL));
assert(isequalRel(mag([8.335112086210e-01, 4.775992278889e-01, 2.427602438822e-01]), 9.908453428193e-01, TOL));
assert(isequalRel(mag([8.335112086210e-01, 4.775992278889e-01, 2.427602438822e-01]), 9.908453428193e-01, TOL));
assert(isequalRel(mag([-1.150930068639e+05, -3.696256316477e+04, -1.663415682929e+04]), 1.220218278756e+05, TOL));
assert(isequalRel(mag([-1.279658006489e+05, -4.336332967165e+04, -1.980990480432e+04]), 1.365578881804e+05, TOL));
assert(isequalRel(mag([-1.789652015921e+00, -8.882784630768e-01, -4.412544683039e-01]), 2.046117902726e+00, TOL));
assert(isequalRel(mag([1.537551184867e+03, -2.101264525816e+04, 3.606399436290e+04]), 4.176729598380e+04, TOL));
assert(isequalRel(mag([2.101264525816e+04, 1.537551184867e+03, 0.000000000000e+00]), 2.106882351702e+04, TOL));
assert(isequalRel(mag([8.334514152920e-01, 4.777648666351e-01, 2.428358145850e-01]), 9.908934162100e-01, TOL));
assert(isequalRel(mag([2.101264525816e+04, 1.537551184867e+03, 0.000000000000e+00]), 2.106882351702e+04, TOL));
assert(isequalRel(mag([8.334514152920e-01, 4.777648666351e-01, 2.428358145850e-01]), 9.908934162100e-01, TOL));
assert(isequalRel(mag([8.334514152920e-01, 4.777648666351e-01, 2.428358145850e-01]), 9.908934162100e-01, TOL));
assert(isequalRel(mag([-1.279658006489e+05, -4.336332967165e+04, -1.980990480432e+04]), 1.365578881804e+05, TOL));
assert(isequalRel(mag([-1.398632833221e+05, -4.943645704153e+04, -2.283680438139e+04]), 1.500907090422e+05, TOL));
assert(isequalRel(mag([-1.663762568029e+00, -8.453159125263e-01, -4.215486272921e-01]), 1.913208854233e+00, TOL));
assert(isequalRel(mag([1.535556469203e+03, -2.096415478982e+04, 3.597813224863e+04]), 4.166868992207e+04, TOL));
assert(isequalRel(mag([2.096415478982e+04, 1.535556469203e+03, 0.000000000000e+00]), 2.102031683209e+04, TOL));
assert(isequalRel(mag([8.333880857987e-01, 4.779263499253e-01, 2.429144306621e-01]), 9.909372927325e-01, TOL));
assert(isequalRel(mag([2.096415478982e+04, 1.535556469203e+03, 0.000000000000e+00]), 2.102031683209e+04, TOL));
assert(isequalRel(mag([8.333880857987e-01, 4.779263499253e-01, 2.429144306621e-01]), 9.909372927325e-01, TOL));
assert(isequalRel(mag([8.333880857987e-01, 4.779263499253e-01, 2.429144306621e-01]), 9.909372927325e-01, TOL));
assert(isequalRel(mag([-1.398632833221e+05, -4.943645704153e+04, -2.283680438139e+04]), 1.500907090422e+05, TOL));
assert(isequalRel(mag([-1.509602297826e+05, -5.522745413896e+04, -2.573401408879e+04]), 1.627922054271e+05, TOL));
assert(isequalRel(mag([-1.558730986445e+00, -8.080610648023e-01, -4.042938457354e-01]), 1.801682126862e+00, TOL));
assert(isequalRel(mag([1.533464997789e+03, -2.091988668608e+04, 3.590033995205e+04]), 4.157917246087e+04, TOL));
assert(isequalRel(mag([2.091988668608e+04, 1.533464997789e+03, 0.000000000000e+00]), 2.097601425100e+04, TOL));
assert(isequalRel(mag([8.333210286856e-01, 4.780844867358e-01, 2.429950432539e-01]), 9.909769444104e-01, TOL));
assert(isequalRel(mag([2.091988668608e+04, 1.533464997789e+03, 0.000000000000e+00]), 2.097601425100e+04, TOL));
assert(isequalRel(mag([8.333210286856e-01, 4.780844867358e-01, 2.429950432539e-01]), 9.909769444104e-01, TOL));
assert(isequalRel(mag([8.333210286856e-01, 4.780844867358e-01, 2.429950432539e-01]), 9.909769444104e-01, TOL));
assert(isequalRel(mag([-1.509602297826e+05, -5.522745413896e+04, -2.573401408879e+04]), 1.627922054271e+05, TOL));
assert(isequalRel(mag([-1.613817141463e+05, -6.077064040903e+04, -2.851626290017e+04]), 1.747864572738e+05, TOL));
assert(isequalRel(mag([-1.468977173779e+00, -7.751904591525e-01, -3.889518104933e-01]), 1.705900845867e+00, TOL));
assert(isequalRel(mag([1.531315681029e+03, -2.087997061588e+04, 3.583088149111e+04]), 4.149903817036e+04, TOL));
assert(isequalRel(mag([2.087997061588e+04, 1.531315681029e+03, 0.000000000000e+00]), 2.093604787526e+04, TOL));
assert(isequalRel(mag([8.332501324513e-01, 4.782397076106e-01, 2.430769684072e-01]), 9.910123176508e-01, TOL));
assert(isequalRel(mag([2.087997061588e+04, 1.531315681029e+03, 0.000000000000e+00]), 2.093604787526e+04, TOL));
assert(isequalRel(mag([8.332501324513e-01, 4.782397076106e-01, 2.430769684072e-01]), 9.910123176508e-01, TOL));
assert(isequalRel(mag([8.332501324513e-01, 4.782397076106e-01, 2.430769684072e-01]), 9.910123176508e-01, TOL));
assert(isequalRel(mag([-1.613817141463e+05, -6.077064040903e+04, -2.851626290017e+04]), 1.747864572738e+05, TOL));
assert(isequalRel(mag([-1.712211873695e+05, -6.609276474442e+04, -3.119519847387e+04]), 1.861668309973e+05, TOL));
assert(isequalRel(mag([-1.390837596332e+00, -7.457856328566e-01, -3.751403978620e-01]), 1.622145415076e+00, TOL));
assert(isequalRel(mag([1.529135226098e+03, -2.084452948970e+04, 3.576999952877e+04]), 4.142855935795e+04, TOL));
assert(isequalRel(mag([2.084452948970e+04, 1.529135226098e+03, 0.000000000000e+00]), 2.090054219839e+04, TOL));
assert(isequalRel(mag([8.331753349111e-01, 4.783922332308e-01, 2.431597252916e-01]), 9.910433489629e-01, TOL));
assert(isequalRel(mag([2.084452948970e+04, 1.529135226098e+03, 0.000000000000e+00]), 2.090054219839e+04, TOL));
assert(isequalRel(mag([8.331753349111e-01, 4.783922332308e-01, 2.431597252916e-01]), 9.910433489629e-01, TOL));
assert(isequalRel(mag([8.331753349111e-01, 4.783922332308e-01, 2.431597252916e-01]), 9.910433489629e-01, TOL));
assert(isequalRel(mag([-1.712211873695e+05, -6.609276474442e+04, -3.119519847387e+04]), 1.861668309973e+05, TOL));
assert(isequalRel(mag([-1.805508288875e+05, -7.121523290630e+04, -3.378024938270e+04]), 1.970058792478e+05, TOL));
assert(isequalRel(mag([-1.321788671573e+00, -7.191847523360e-01, -3.625794946294e-01]), 1.547842333772e+00, TOL));
assert(isequalRel(mag([1.526942870940e+03, -2.081367733599e+04, 3.571791505853e+04]), 4.136798490266e+04, TOL));
assert(isequalRel(mag([2.081367733599e+04, 1.526942870940e+03, 0.000000000000e+00]), 2.086961232936e+04, TOL));
assert(isequalRel(mag([8.330966071525e-01, 4.785421600709e-01, 2.432429544684e-01]), 9.910699726623e-01, TOL));
assert(isequalRel(mag([2.081367733599e+04, 1.526942870940e+03, 0.000000000000e+00]), 2.086961232936e+04, TOL));
assert(isequalRel(mag([8.330966071525e-01, 4.785421600709e-01, 2.432429544684e-01]), 9.910699726623e-01, TOL));
assert(isequalRel(mag([8.330966071525e-01, 4.785421600709e-01, 2.432429544684e-01]), 9.910699726623e-01, TOL));
assert(isequalRel(mag([-1.805508288875e+05, -7.121523290630e+04, -3.378024938270e+04]), 1.970058792478e+05, TOL));
assert(isequalRel(mag([-1.894278753307e+05, -7.615554943344e+04, -3.627919882816e+04]), 2.073614427261e+05, TOL));
assert(isequalRel(mag([-1.260024473046e+00, -6.948960527126e-01, -3.510581325907e-01]), 1.481142805137e+00, TOL));
assert(isequalRel(mag([1.524752909251e+03, -2.078751778823e+04, 3.567482679665e+04]), 4.131753906275e+04, TOL));
assert(isequalRel(mag([2.078751778823e+04, 1.524752909251e+03, 0.000000000000e+00]), 2.084336266609e+04, TOL));
assert(isequalRel(mag([8.330139444612e-01, 4.786895076339e-01, 2.433263732209e-01]), 9.910921250270e-01, TOL));
assert(isequalRel(mag([2.078751778823e+04, 1.524752909251e+03, 0.000000000000e+00]), 2.084336266609e+04, TOL));
assert(isequalRel(mag([8.330139444612e-01, 4.786895076339e-01, 2.433263732209e-01]), 9.910921250270e-01, TOL));
assert(isequalRel(mag([8.330139444612e-01, 4.786895076339e-01, 2.433263732209e-01]), 9.910921250270e-01, TOL));
assert(isequalRel(mag([-1.894278753307e+05, -7.615554943344e+04, -3.627919882816e+04]), 2.073614427261e+05, TOL));
assert(isequalRel(mag([-1.978986940141e+05, -8.092829015181e+04, -3.869857972447e+04]), 2.172806050067e+05, TOL));
assert(isequalRel(mag([-1.204211888236e+00, -6.725447088389e-01, -3.404137305224e-01]), 1.420677361361e+00, TOL));
assert(isequalRel(mag([1.522576122105e+03, -2.076614293279e+04, 3.564091044987e+04]), 4.127742031726e+04, TOL));
assert(isequalRel(mag([2.076614293279e+04, 1.522576122105e+03, 0.000000000000e+00]), 2.082188585005e+04, TOL));
assert(isequalRel(mag([8.329273608585e-01, 4.788342462614e-01, 2.434097495935e-01]), 9.911097467267e-01, TOL));
assert(isequalRel(mag([2.076614293279e+04, 1.522576122105e+03, 0.000000000000e+00]), 2.082188585005e+04, TOL));
assert(isequalRel(mag([8.329273608585e-01, 4.788342462614e-01, 2.434097495935e-01]), 9.911097467267e-01, TOL));
assert(isequalRel(mag([8.329273608585e-01, 4.788342462614e-01, 2.434097495935e-01]), 9.911097467267e-01, TOL));
assert(isequalRel(mag([-1.978986940141e+05, -8.092829015181e+04, -3.869857972447e+04]), 2.172806050067e+05, TOL));
assert(isequalRel(mag([-2.006388298624e+05, -8.248414969882e+04, -3.948834331447e+04]), 2.204969484093e+05, TOL));
assert(isequalRel(mag([-1.186748462247e+00, -6.654724216179e-01, -3.370375820763e-01]), 1.401720296033e+00, TOL));
assert(isequalRel(mag([1.521854922955e+03, -2.076009538232e+04, 3.563167016429e+04]), 4.126637276750e+04, TOL));
assert(isequalRel(mag([2.076009538232e+04, 1.521854922955e+03, 0.000000000000e+00]), 2.081580175467e+04, TOL));
assert(isequalRel(mag([8.328976330150e-01, 4.788819027507e-01, 2.434374974526e-01]), 9.911146043875e-01, TOL));
assert(isequalRel(mag([2.076009538232e+04, 1.521854922955e+03, 0.000000000000e+00]), 2.081580175467e+04, TOL));
assert(isequalRel(mag([8.328976330150e-01, 4.788819027507e-01, 2.434374974526e-01]), 9.911146043875e-01, TOL));
assert(isequalRel(mag([8.328976330150e-01, 4.788819027507e-01, 2.434374974526e-01]), 9.911146043875e-01, TOL));
assert(isequalRel(mag([-2.006388298624e+05, -8.248414969882e+04, -3.948834331447e+04]), 2.204969484093e+05, TOL));
# 23599
assert(isequalRel(mag([1.193195642997e+04, 7.340749737496e+03, 8.864636598694e+02]), 1.403723650779e+04, TOL));
assert(isequalRel(mag([3.083291156075e-01, 5.532328972169e+00, 6.728872813175e-01]), 5.581622344193e+00, TOL));
assert(isequalRel(mag([3.528854542523e+01, -7.755539166699e+03, 6.374814137775e+04]), 6.421818404599e+04, TOL));
assert(isequalRel(mag([7.755539166699e+03, 3.528854542523e+01, 0.000000000000e+00]), 7.755619449640e+03, TOL));
assert(isequalRel(mag([4.785555541153e-02, -5.721998376763e-01, -6.963978728277e-02]), 5.784051420876e-01, TOL));
assert(isequalRel(mag([7.755539166699e+03, 3.528854542523e+01, 0.000000000000e+00]), 7.755619449640e+03, TOL));
assert(isequalRel(mag([4.785555541153e-02, -5.721998376763e-01, -6.963978728277e-02]), 5.784051420876e-01, TOL));
assert(isequalRel(mag([4.785555541153e-02, -5.721998376763e-01, -6.963978728277e-02]), 5.784051420876e-01, TOL));
assert(isequalRel(mag([1.193195642997e+04, 7.340749737496e+03, 8.864636598694e+02]), 1.403723650779e+04, TOL));
assert(isequalRel(mag([1.132171039205e+04, 1.322284749156e+04, 1.602401190490e+03]), 1.748120452262e+04, TOL));
assert(isequalRel(mag([-1.151973982413e+00, 4.285810871397e+00, 5.219194250331e-01]), 4.468514156604e+00, TOL));
assert(isequalRel(mag([3.367251755526e+01, -7.754945059041e+03, 6.375508576475e+04]), 6.422500500255e+04, TOL));
assert(isequalRel(mag([7.754945059041e+03, 3.367251755526e+01, 0.000000000000e+00]), 7.755018162918e+03, TOL));
assert(isequalRel(mag([4.800780214931e-02, -5.721044035294e-01, -6.961412893936e-02]), 5.783202612333e-01, TOL));
assert(isequalRel(mag([7.754945059041e+03, 3.367251755526e+01, 0.000000000000e+00]), 7.755018162918e+03, TOL));
assert(isequalRel(mag([4.800780214931e-02, -5.721044035294e-01, -6.961412893936e-02]), 5.783202612333e-01, TOL));
assert(isequalRel(mag([4.800780214931e-02, -5.721044035294e-01, -6.961412893936e-02]), 5.783202612333e-01, TOL));
assert(isequalRel(mag([1.132171039205e+04, 1.322284749156e+04, 1.602401190490e+03]), 1.748120452262e+04, TOL));
assert(isequalRel(mag([9.438293956752e+03, 1.768805450261e+04, 2.146592934019e+03]), 2.016324691427e+04, TOL));
assert(isequalRel(mag([-1.907904054339e+00, 3.179955045945e+00, 3.876924790871e-01]), 3.728607975255e+00, TOL));
assert(isequalRel(mag([3.145666822169e+01, -7.754648944277e+03, 6.376046139178e+04]), 6.423030442606e+04, TOL));
assert(isequalRel(mag([7.754648944277e+03, 3.145666822169e+01, 0.000000000000e+00]), 7.754712745869e+03, TOL));
assert(isequalRel(mag([4.811676421114e-02, -5.720218391204e-01, -6.959394657858e-02]), 5.782452116786e-01, TOL));
assert(isequalRel(mag([7.754648944277e+03, 3.145666822169e+01, 0.000000000000e+00]), 7.754712745869e+03, TOL));
assert(isequalRel(mag([4.811676421114e-02, -5.720218391204e-01, -6.959394657858e-02]), 5.782452116786e-01, TOL));
assert(isequalRel(mag([4.811676421114e-02, -5.720218391204e-01, -6.959394657858e-02]), 5.782452116786e-01, TOL));
assert(isequalRel(mag([9.438293956752e+03, 1.768805450261e+04, 2.146592934019e+03]), 2.016324691427e+04, TOL));
assert(isequalRel(mag([6.872086346386e+03, 2.091011016811e+04, 2.539799450345e+03]), 2.215646314832e+04, TOL));
assert(isequalRel(mag([-2.323995366881e+00, 2.207398461776e+00, 2.695061210772e-01]), 3.216550323504e+00, TOL));
assert(isequalRel(mag([2.905328279492e+01, -7.754551490329e+03, 6.376443198187e+04]), 6.423423307614e+04, TOL));
assert(isequalRel(mag([7.754551490329e+03, 2.905328279492e+01, 0.000000000000e+00]), 7.754605915803e+03, TOL));
assert(isequalRel(mag([4.820068980474e-02, -5.719566119495e-01, -6.957903094204e-02]), 5.781858818730e-01, TOL));
assert(isequalRel(mag([7.754551490329e+03, 2.905328279492e+01, 0.000000000000e+00]), 7.754605915803e+03, TOL));
assert(isequalRel(mag([4.820068980474e-02, -5.719566119495e-01, -6.957903094204e-02]), 5.781858818730e-01, TOL));
assert(isequalRel(mag([4.820068980474e-02, -5.719566119495e-01, -6.957903094204e-02]), 5.781858818730e-01, TOL));
assert(isequalRel(mag([6.872086346386e+03, 2.091011016811e+04, 2.539799450345e+03]), 2.215646314832e+04, TOL));
assert(isequalRel(mag([3.933375097983e+03, 2.302407662542e+04, 2.798259667462e+03]), 2.352466368051e+04, TOL));
assert(isequalRel(mag([-2.542860615829e+00, 1.327134965795e+00, 1.624500761758e-01]), 2.872945762840e+00, TOL));
assert(isequalRel(mag([2.659475361418e+01, -7.754561385547e+03, 6.376713729272e+04]), 6.423691873114e+04, TOL));
assert(isequalRel(mag([7.754561385547e+03, 2.659475361418e+01, 0.000000000000e+00]), 7.754606989599e+03, TOL));
assert(isequalRel(mag([4.827004947418e-02, -5.719092092391e-01, -6.956857385197e-02]), 5.781435183037e-01, TOL));
assert(isequalRel(mag([7.754561385547e+03, 2.659475361418e+01, 0.000000000000e+00]), 7.754606989599e+03, TOL));
assert(isequalRel(mag([4.827004947418e-02, -5.719092092391e-01, -6.956857385197e-02]), 5.781435183037e-01, TOL));
assert(isequalRel(mag([4.827004947418e-02, -5.719092092391e-01, -6.956857385197e-02]), 5.781435183037e-01, TOL));
assert(isequalRel(mag([3.933375097983e+03, 2.302407662542e+04, 2.798259667462e+03]), 2.352466368051e+04, TOL));
assert(isequalRel(mag([8.166409154575e+02, 2.411898675475e+04, 2.932694594275e+03]), 2.431035010122e+04, TOL));
assert(isequalRel(mag([-2.626838010139e+00, 5.045027625462e-01, 6.234430647519e-02]), 2.675572421273e+00, TOL));
assert(isequalRel(mag([2.412897759256e+01, -7.754626543884e+03, 6.376866877125e+04]), 6.423844590197e+04, TOL));
assert(isequalRel(mag([7.754626543884e+03, 2.412897759256e+01, 0.000000000000e+00]), 7.754664083161e+03, TOL));
assert(isequalRel(mag([4.833164524677e-02, -5.718792421302e-01, -6.956200011037e-02]), 5.781182295785e-01, TOL));
assert(isequalRel(mag([7.754626543884e+03, 2.412897759256e+01, 0.000000000000e+00]), 7.754664083161e+03, TOL));
assert(isequalRel(mag([4.833164524677e-02, -5.718792421302e-01, -6.956200011037e-02]), 5.781182295785e-01, TOL));
assert(isequalRel(mag([4.833164524677e-02, -5.718792421302e-01, -6.956200011037e-02]), 5.781182295785e-01, TOL));
assert(isequalRel(mag([8.166409154575e+02, 2.411898675475e+04, 2.932694594275e+03]), 2.431035010122e+04, TOL));
assert(isequalRel(mag([-2.334417058038e+03, 2.424686096326e+04, 2.949364488411e+03]), 2.453688082170e+04, TOL));
assert(isequalRel(mag([-2.602259645510e+00, -2.880582655860e-01, -3.414513473677e-02]), 2.618377115170e+00, TOL));
assert(isequalRel(mag([2.167648457813e+01, -7.754721173070e+03, 6.376907594388e+04]), 6.423886064586e+04, TOL));
assert(isequalRel(mag([7.754721173070e+03, 2.167648457813e+01, 0.000000000000e+00]), 7.754751468747e+03, TOL));
assert(isequalRel(mag([4.839055537107e-02, -5.718662262100e-01, -6.955898300275e-02]), 5.781099191721e-01, TOL));
assert(isequalRel(mag([7.754721173070e+03, 2.167648457813e+01, 0.000000000000e+00]), 7.754751468747e+03, TOL));
assert(isequalRel(mag([4.839055537107e-02, -5.718662262100e-01, -6.955898300275e-02]), 5.781099191721e-01, TOL));
assert(isequalRel(mag([4.839055537107e-02, -5.718662262100e-01, -6.955898300275e-02]), 5.781099191721e-01, TOL));
assert(isequalRel(mag([-2.334417058038e+03, 2.424686096326e+04, 2.949364488411e+03]), 2.453688082170e+04, TOL));
assert(isequalRel(mag([-5.394317980388e+03, 2.342942716149e+04, 2.850868325860e+03]), 2.421082761495e+04, TOL));
assert(isequalRel(mag([-2.474434068042e+00, -1.074055982182e+00, -1.298683659015e-01]), 2.700608450407e+00, TOL));
assert(isequalRel(mag([1.925076033166e+01, -7.754836970277e+03, 6.376837225974e+04]), 6.423817531410e+04, TOL));
assert(isequalRel(mag([7.754836970277e+03, 1.925076033166e+01, 0.000000000000e+00]), 7.754860864474e+03, TOL));
assert(isequalRel(mag([4.845118976396e-02, -5.718697771052e-01, -6.955939840920e-02]), 5.781185602132e-01, TOL));
assert(isequalRel(mag([7.754836970277e+03, 1.925076033166e+01, 0.000000000000e+00]), 7.754860864474e+03, TOL));
assert(isequalRel(mag([4.845118976396e-02, -5.718697771052e-01, -6.955939840920e-02]), 5.781185602132e-01, TOL));
assert(isequalRel(mag([4.845118976396e-02, -5.718697771052e-01, -6.955939840920e-02]), 5.781185602132e-01, TOL));
assert(isequalRel(mag([-5.394317980388e+03, 2.342942716149e+04, 2.850868325860e+03]), 2.421082761495e+04, TOL));
assert(isequalRel(mag([-8.233351302374e+03, 2.166124480883e+04, 2.636514561180e+03]), 2.332271016344e+04, TOL));
assert(isequalRel(mag([-2.230845532770e+00, -1.875742343807e+00, -2.275286034063e-01]), 2.923499683051e+00, TOL));
assert(isequalRel(mag([1.686922307241e+01, -7.754979654074e+03, 6.376653688533e+04]), 6.423636991887e+04, TOL));
assert(isequalRel(mag([7.754979654074e+03, 1.686922307241e+01, 0.000000000000e+00]), 7.754998001663e+03, TOL));
assert(isequalRel(mag([4.851803644432e-02, -5.718896105807e-01, -6.956330032453e-02]), 5.781442547519e-01, TOL));
assert(isequalRel(mag([7.754979654074e+03, 1.686922307241e+01, 0.000000000000e+00]), 7.754998001663e+03, TOL));
assert(isequalRel(mag([4.851803644432e-02, -5.718896105807e-01, -6.956330032453e-02]), 5.781442547519e-01, TOL));
assert(isequalRel(mag([4.851803644432e-02, -5.718896105807e-01, -6.956330032453e-02]), 5.781442547519e-01, TOL));
assert(isequalRel(mag([-8.233351302374e+03, 2.166124480883e+04, 2.636514561180e+03]), 2.332271016344e+04, TOL));
assert(isequalRel(mag([-1.069396497348e+04, 1.890988168891e+04, 2.302337075483e+03]), 2.184594397941e+04, TOL));
assert(isequalRel(mag([-1.835912432878e+00, -2.716169864668e+00, -3.299318802762e-01]), 3.294997456835e+00, TOL));
assert(isequalRel(mag([1.456576131021e+01, -7.755169232862e+03, 6.376351229170e+04]), 6.423338977327e+04, TOL));
assert(isequalRel(mag([7.755169232862e+03, 1.456576131021e+01, 0.000000000000e+00]), 7.755182911559e+03, TOL));
assert(isequalRel(mag([4.859642781821e-02, -5.719254012390e-01, -6.957091853497e-02]), 5.781871583535e-01, TOL));
assert(isequalRel(mag([7.755169232862e+03, 1.456576131021e+01, 0.000000000000e+00]), 7.755182911559e+03, TOL));
assert(isequalRel(mag([4.859642781821e-02, -5.719254012390e-01, -6.957091853497e-02]), 5.781871583535e-01, TOL));
assert(isequalRel(mag([4.859642781821e-02, -5.719254012390e-01, -6.957091853497e-02]), 5.781871583535e-01, TOL));
assert(isequalRel(mag([-1.069396497348e+04, 1.890988168891e+04, 2.302337075483e+03]), 2.184594397941e+04, TOL));
assert(isequalRel(mag([-1.255389669904e+04, 1.511463990716e+04, 1.840935732308e+03]), 1.973427744366e+04, TOL));
assert(isequalRel(mag([-1.212478879277e+00, -3.619036996387e+00, -4.399706327432e-01]), 3.842018736496e+00, TOL));
assert(isequalRel(mag([1.241683955576e+01, -7.755441567597e+03, 6.375919825794e+04]), 6.422913973098e+04, TOL));
assert(isequalRel(mag([7.755441567597e+03, 1.241683955576e+01, 0.000000000000e+00]), 7.755451507573e+03, TOL));
assert(isequalRel(mag([4.869366542445e-02, -5.719763543465e-01, -6.958264747408e-02]), 5.782471511503e-01, TOL));
assert(isequalRel(mag([7.755441567597e+03, 1.241683955576e+01, 0.000000000000e+00]), 7.755451507573e+03, TOL));
assert(isequalRel(mag([4.869366542445e-02, -5.719763543465e-01, -6.958264747408e-02]), 5.782471511503e-01, TOL));
assert(isequalRel(mag([4.869366542445e-02, -5.719763543465e-01, -6.958264747408e-02]), 5.782471511503e-01, TOL));
assert(isequalRel(mag([-1.255389669904e+04, 1.511463990716e+04, 1.840935732308e+03]), 1.973427744366e+04, TOL));
assert(isequalRel(mag([-1.345020591864e+04, 1.019057904289e+04, 1.241959587359e+03]), 1.692035472736e+04, TOL));
assert(isequalRel(mag([-1.890825111155e-01, -4.596701971373e+00, -5.591738989436e-01]), 4.634446747875e+00, TOL));
assert(isequalRel(mag([1.061226767583e+01, -7.755836922602e+03, 6.375344833673e+04]), 6.422347930325e+04, TOL));
assert(isequalRel(mag([7.755836922602e+03, 1.061226767583e+01, 0.000000000000e+00]), 7.755844182951e+03, TOL));
assert(isequalRel(mag([4.882110769944e-02, -5.720398755989e-01, -6.959884063993e-02]), 5.783226767564e-01, TOL));
assert(isequalRel(mag([7.755836922602e+03, 1.061226767583e+01, 0.000000000000e+00]), 7.755844182951e+03, TOL));
assert(isequalRel(mag([4.882110769944e-02, -5.720398755989e-01, -6.959884063993e-02]), 5.783226767564e-01, TOL));
assert(isequalRel(mag([4.882110769944e-02, -5.720398755989e-01, -6.959884063993e-02]), 5.783226767564e-01, TOL));
assert(isequalRel(mag([-1.345020591864e+04, 1.019057904289e+04, 1.241959587359e+03]), 1.692035472736e+04, TOL));
assert(isequalRel(mag([-1.268660437121e+04, 4.079311061609e+03, 4.982707861417e+02]), 1.333562833110e+04, TOL));
assert(isequalRel(mag([1.664498211229e+00, -5.559889864636e+00, -6.767477790003e-01]), 5.843022946939e+00, TOL));
assert(isequalRel(mag([9.665992918538e+00, -7.756260499032e+03, 6.374611709505e+04]), 6.421625273290e+04, TOL));
assert(isequalRel(mag([7.756260499032e+03, 9.665992918538e+00, 0.000000000000e+00]), 7.756266521998e+03, TOL));
assert(isequalRel(mag([4.899835435704e-02, -5.721067202904e-01, -6.961808147386e-02]), 5.784060990336e-01, TOL));
assert(isequalRel(mag([7.756260499032e+03, 9.665992918538e+00, 0.000000000000e+00]), 7.756266521998e+03, TOL));
assert(isequalRel(mag([4.899835435704e-02, -5.721067202904e-01, -6.961808147386e-02]), 5.784060990336e-01, TOL));
assert(isequalRel(mag([4.899835435704e-02, -5.721067202904e-01, -6.961808147386e-02]), 5.784060990336e-01, TOL));
assert(isequalRel(mag([-1.268660437121e+04, 4.079311061609e+03, 4.982707861417e+02]), 1.333562833110e+04, TOL));
assert(isequalRel(mag([-8.672558677528e+03, -2.827568233149e+03, -3.425964471559e+02]), 9.128296032332e+03, TOL));
assert(isequalRel(mag([5.515079851923e+00, -5.551222961583e+00, -6.763600441294e-01]), 7.854275590504e+00, TOL));
assert(isequalRel(mag([1.062491094282e+01, -7.755218932898e+03, 6.373757145894e+04]), 6.420764400809e+04, TOL));
assert(isequalRel(mag([7.755218932898e+03, 1.062491094282e+01, 0.000000000000e+00]), 7.755226211137e+03, TOL));
assert(isequalRel(mag([4.925536688435e-02, -5.721395217536e-01, -6.962283757717e-02]), 5.784609433935e-01, TOL));
assert(isequalRel(mag([7.755218932898e+03, 1.062491094282e+01, 0.000000000000e+00]), 7.755226211137e+03, TOL));
assert(isequalRel(mag([4.925536688435e-02, -5.721395217536e-01, -6.962283757717e-02]), 5.784609433935e-01, TOL));
assert(isequalRel(mag([4.925536688435e-02, -5.721395217536e-01, -6.962283757717e-02]), 5.784609433935e-01, TOL));
assert(isequalRel(mag([-8.672558677528e+03, -2.827568233149e+03, -3.425964471559e+02]), 9.128296032332e+03, TOL));
assert(isequalRel(mag([1.153314980597e+03, -6.411986920596e+03, -7.798728894123e+02]), 6.561395692839e+03, TOL));
assert(isequalRel(mag([9.689818101748e+00, 1.388598425041e+00, 1.678687983020e-01]), 9.790248227927e+00, TOL));
assert(isequalRel(mag([6.557726881890e+00, -7.750432040746e+03, 6.373247829700e+04]), 6.420200954565e+04, TOL));
assert(isequalRel(mag([7.750432040746e+03, 6.557726881890e+00, 0.000000000000e+00]), 7.750434815028e+03, TOL));
assert(isequalRel(mag([4.951513235498e-02, -5.720793036335e-01, -6.957498892134e-02]), 5.784178049311e-01, TOL));
assert(isequalRel(mag([7.750432040746e+03, 6.557726881890e+00, 0.000000000000e+00]), 7.750434815028e+03, TOL));
assert(isequalRel(mag([4.951513235498e-02, -5.720793036335e-01, -6.957498892134e-02]), 5.784178049311e-01, TOL));
assert(isequalRel(mag([4.951513235498e-02, -5.720793036335e-01, -6.957498892134e-02]), 5.784178049311e-01, TOL));
assert(isequalRel(mag([1.153314980597e+03, -6.411986920596e+03, -7.798728894123e+02]), 6.561395692839e+03, TOL));
assert(isequalRel(mag([9.542792010555e+03, -5.337125308064e+02, -6.573165427708e+01]), 9.557931213010e+03, TOL));
assert(isequalRel(mag([3.926947086559e+00, 6.459583538639e+00, 7.856867546234e-01]), 7.600291875295e+00, TOL));
assert(isequalRel(mag([5.268245704606e+00, -7.755770013078e+03, 6.373832305195e+04]), 6.420845599860e+04, TOL));
assert(isequalRel(mag([7.755770013078e+03, 5.268245704606e+00, 0.000000000000e+00]), 7.755771802353e+03, TOL));
assert(isequalRel(mag([4.979308595259e-02, -5.720895116065e-01, -6.961678294405e-02]), 5.784567893684e-01, TOL));
assert(isequalRel(mag([7.755770013078e+03, 5.268245704606e+00, 0.000000000000e+00]), 7.755771802353e+03, TOL));
assert(isequalRel(mag([4.979308595259e-02, -5.720895116065e-01, -6.961678294405e-02]), 5.784567893684e-01, TOL));
assert(isequalRel(mag([4.979308595259e-02, -5.720895116065e-01, -6.961678294405e-02]), 5.784567893684e-01, TOL));
assert(isequalRel(mag([9.542792010555e+03, -5.337125308064e+02, -6.573165427708e+01]), 9.557931213010e+03, TOL));
assert(isequalRel(mag([1.186880960100e+04, 6.861595908475e+03, 8.337278060176e+02]), 1.373481859402e+04, TOL));
assert(isequalRel(mag([4.529578524427e-01, 5.632811327979e+00, 6.852623226654e-01]), 5.692391300988e+00, TOL));
assert(isequalRel(mag([5.761719246290e+00, -7.755604477922e+03, 6.374675142313e+04]), 6.421680271562e+04, TOL));
assert(isequalRel(mag([7.755604477922e+03, 5.761719246290e+00, 0.000000000000e+00]), 7.755606618143e+03, TOL));
assert(isequalRel(mag([5.002844643625e-02, -5.720067742425e-01, -6.959643355207e-02]), 5.783928239487e-01, TOL));
assert(isequalRel(mag([7.755604477922e+03, 5.761719246290e+00, 0.000000000000e+00]), 7.755606618143e+03, TOL));
assert(isequalRel(mag([5.002844643625e-02, -5.720067742425e-01, -6.959643355207e-02]), 5.783928239487e-01, TOL));
assert(isequalRel(mag([5.002844643625e-02, -5.720067742425e-01, -6.959643355207e-02]), 5.783928239487e-01, TOL));
assert(isequalRel(mag([1.186880960100e+04, 6.861595908475e+03, 8.337278060176e+02]), 1.373481859402e+04, TOL));
assert(isequalRel(mag([1.137623941678e+04, 1.285897121366e+04, 1.563406601721e+03]), 1.723995951689e+04, TOL));
assert(isequalRel(mag([-1.087665694862e+00, 4.374693346994e+00, 5.322070510628e-01]), 4.539185267118e+00, TOL));
assert(isequalRel(mag([4.210690125155e+00, -7.754978560002e+03, 6.375382075072e+04]), 6.422374460051e+04, TOL));
assert(isequalRel(mag([7.754978560002e+03, 4.210690125155e+00, 0.000000000000e+00]), 7.754979703133e+03, TOL));
assert(isequalRel(mag([5.018487831260e-02, -5.719103326962e-01, -6.957016268274e-02]), 5.783078403339e-01, TOL));
assert(isequalRel(mag([7.754978560002e+03, 4.210690125155e+00, 0.000000000000e+00]), 7.754979703133e+03, TOL));
assert(isequalRel(mag([5.018487831260e-02, -5.719103326962e-01, -6.957016268274e-02]), 5.783078403339e-01, TOL));
assert(isequalRel(mag([5.018487831260e-02, -5.719103326962e-01, -6.957016268274e-02]), 5.783078403339e-01, TOL));
assert(isequalRel(mag([1.137623941678e+04, 1.285897121366e+04, 1.563406601721e+03]), 1.723995951689e+04, TOL));
assert(isequalRel(mag([9.547703007819e+03, 1.742148570758e+04, 2.118569075147e+03]), 1.997886713283e+04, TOL));
assert(isequalRel(mag([-1.876540262417e+00, 3.253891727584e+00, 3.958102433992e-01]), 3.777020052911e+00, TOL));
assert(isequalRel(mag([2.008110356370e+00, -7.754658819653e+03, 6.375931119597e+04]), 6.422915616468e+04, TOL));
assert(isequalRel(mag([7.754658819653e+03, 2.008110356370e+00, 0.000000000000e+00]), 7.754659079659e+03, TOL));
assert(isequalRel(mag([5.029613028683e-02, -5.718261384956e-01, -6.954933366115e-02]), 5.782317383207e-01, TOL));
assert(isequalRel(mag([7.754658819653e+03, 2.008110356370e+00, 0.000000000000e+00]), 7.754659079659e+03, TOL));
assert(isequalRel(mag([5.029613028683e-02, -5.718261384956e-01, -6.954933366115e-02]), 5.782317383207e-01, TOL));
assert(isequalRel(mag([5.029613028683e-02, -5.718261384956e-01, -6.954933366115e-02]), 5.782317383207e-01, TOL));
assert(isequalRel(mag([9.547703007819e+03, 1.742148570758e+04, 2.118569075147e+03]), 1.997886713283e+04, TOL));
assert(isequalRel(mag([7.008514702633e+03, 2.072547471227e+04, 2.520560642888e+03]), 2.202311981397e+04, TOL));
assert(isequalRel(mag([-2.308703598891e+00, 2.270724438391e+00, 2.761386128135e-01]), 3.250008356316e+00, TOL));
assert(isequalRel(mag([-3.948133042759e-01, -7.754548955325e+03, 6.376338366903e+04]), 6.423318555529e+04, TOL));
assert(isequalRel(mag([7.754548955325e+03, -3.948133042759e-01, 0.000000000000e+00]), 7.754548965376e+03, TOL));
assert(isequalRel(mag([5.038134055649e-02, -5.717592340722e-01, -6.953387390892e-02]), 5.781711345647e-01, TOL));
assert(isequalRel(mag([7.754548955325e+03, -3.948133042759e-01, 0.000000000000e+00]), 7.754548965376e+03, TOL));
assert(isequalRel(mag([5.038134055649e-02, -5.717592340722e-01, -6.953387390892e-02]), 5.781711345647e-01, TOL));
assert(isequalRel(mag([5.038134055649e-02, -5.717592340722e-01, -6.953387390892e-02]), 5.781711345647e-01, TOL));
assert(isequalRel(mag([7.008514702633e+03, 2.072547471227e+04, 2.520560642888e+03]), 2.202311981397e+04, TOL));
assert(isequalRel(mag([4.082281351036e+03, 2.291104184601e+04, 2.786375683090e+03]), 2.343810463638e+04, TOL));
assert(isequalRel(mag([-2.536665546306e+00, 1.383670231785e+00, 1.681534071318e-01]), 2.894389568194e+00, TOL));
assert(isequalRel(mag([-2.855339916509e+00, -7.754552712405e+03, 6.376618166393e+04]), 6.423596360233e+04, TOL));
assert(isequalRel(mag([7.754552712405e+03, -2.855339916509e+00, 0.000000000000e+00]), 7.754553238094e+03, TOL));
assert(isequalRel(mag([5.045139693828e-02, -5.717102179439e-01, -6.952294852376e-02]), 5.781274575091e-01, TOL));
assert(isequalRel(mag([7.754552712405e+03, -2.855339916509e+00, 0.000000000000e+00]), 7.754553238094e+03, TOL));
assert(isequalRel(mag([5.045139693828e-02, -5.717102179439e-01, -6.952294852376e-02]), 5.781274575091e-01, TOL));
assert(isequalRel(mag([5.045139693828e-02, -5.717102179439e-01, -6.952294852376e-02]), 5.781274575091e-01, TOL));
assert(isequalRel(mag([4.082281351036e+03, 2.291104184601e+04, 2.786375683090e+03]), 2.343810463638e+04, TOL));
assert(isequalRel(mag([9.691797814899e+02, 2.407123673676e+04, 2.927313265790e+03]), 2.426793997112e+04, TOL));
assert(isequalRel(mag([-2.626695114733e+00, 5.571724275943e-01, 6.753685382056e-02]), 2.685987633341e+00, TOL));
assert(isequalRel(mag([-5.322641858810e+00, -7.754614807773e+03, 6.376780019366e+04]), 6.423757794847e+04, TOL));
assert(isequalRel(mag([7.754614807773e+03, -5.322641858810e+00, 0.000000000000e+00]), 7.754616634461e+03, TOL));
assert(isequalRel(mag([5.051329893205e-02, -5.716787071351e-01, -6.951595146730e-02]), 5.781008606368e-01, TOL));
assert(isequalRel(mag([7.754614807773e+03, -5.322641858810e+00, 0.000000000000e+00]), 7.754616634461e+03, TOL));
assert(isequalRel(mag([5.051329893205e-02, -5.716787071351e-01, -6.951595146730e-02]), 5.781008606368e-01, TOL));
assert(isequalRel(mag([5.051329893205e-02, -5.716787071351e-01, -6.951595146730e-02]), 5.781008606368e-01, TOL));
assert(isequalRel(mag([9.691797814899e+02, 2.407123673676e+04, 2.927313265790e+03]), 2.426793997112e+04, TOL));
assert(isequalRel(mag([-2.184715154439e+03, 2.426121671601e+04, 2.950081428247e+03]), 2.453737144196e+04, TOL));
assert(isequalRel(mag([-2.607072865954e+00, -2.368876072256e-01, -2.912521458880e-02]), 2.617974970273e+00, TOL));
assert(isequalRel(mag([-7.775412381141e+00, -7.754707541626e+03, 6.376829174074e+04]), 6.423807734549e+04, TOL));
assert(isequalRel(mag([7.754707541626e+03, -7.775412381141e+00, 0.000000000000e+00]), 7.754711439711e+03, TOL));
assert(isequalRel(mag([5.057221385666e-02, -5.716641977166e-01, -6.951253239643e-02]), 5.780912522479e-01, TOL));
assert(isequalRel(mag([7.754707541626e+03, -7.775412381141e+00, 0.000000000000e+00]), 7.754711439711e+03, TOL));
assert(isequalRel(mag([5.057221385666e-02, -5.716641977166e-01, -6.951253239643e-02]), 5.780912522479e-01, TOL));
assert(isequalRel(mag([5.057221385666e-02, -5.716641977166e-01, -6.951253239643e-02]), 5.780912522479e-01, TOL));
assert(isequalRel(mag([-2.184715154439e+03, 2.426121671601e+04, 2.950081428247e+03]), 2.453737144196e+04, TOL));
assert(isequalRel(mag([-5.253422233696e+03, 2.350537595671e+04, 2.857661207376e+03]), 2.425422378903e+04, TOL));
assert(isequalRel(mag([-2.484424544113e+00, -1.022255435921e+00, -1.247144435756e-01]), 2.689409820778e+00, TOL));
assert(isequalRel(mag([-1.020018021388e+01, -7.754821273109e+03, 6.376767238106e+04]), 6.423747658431e+04, TOL));
assert(isequalRel(mag([7.754821273109e+03, -1.020018021388e+01, 0.000000000000e+00]), 7.754827981428e+03, TOL));
assert(isequalRel(mag([5.063257560414e-02, -5.716662817716e-01, -6.951254791169e-02]), 5.780985986352e-01, TOL));
assert(isequalRel(mag([7.754821273109e+03, -1.020018021388e+01, 0.000000000000e+00]), 7.754827981428e+03, TOL));
assert(isequalRel(mag([5.063257560414e-02, -5.716662817716e-01, -6.951254791169e-02]), 5.780985986352e-01, TOL));
assert(isequalRel(mag([5.063257560414e-02, -5.716662817716e-01, -6.951254791169e-02]), 5.780985986352e-01, TOL));
assert(isequalRel(mag([-5.253422233696e+03, 2.350537595671e+04, 2.857661207376e+03]), 2.425422378903e+04, TOL));
assert(isequalRel(mag([-8.108279610168e+03, 2.180081688388e+04, 2.649729819609e+03]), 2.341027302613e+04, TOL));
assert(isequalRel(mag([-2.247597250991e+00, -1.821159176294e+00, -2.219256237509e-01]), 2.901304039658e+00, TOL));
assert(isequalRel(mag([-1.258010955313e+01, -7.754960468454e+03, 6.376592391357e+04]), 6.423575813111e+04, TOL));
assert(isequalRel(mag([7.754960468454e+03, -1.258010955313e+01, 0.000000000000e+00]), 7.754970672184e+03, TOL));
assert(isequalRel(mag([5.069884228461e-02, -5.716846560379e-01, -6.951603362657e-02]), 5.781229951224e-01, TOL));
assert(isequalRel(mag([7.754960468454e+03, -1.258010955313e+01, 0.000000000000e+00]), 7.754970672184e+03, TOL));
assert(isequalRel(mag([5.069884228461e-02, -5.716846560379e-01, -6.951603362657e-02]), 5.781229951224e-01, TOL));
assert(isequalRel(mag([5.069884228461e-02, -5.716846560379e-01, -6.951603362657e-02]), 5.781229951224e-01, TOL));
assert(isequalRel(mag([-8.108279610168e+03, 2.180081688388e+04, 2.649729819609e+03]), 2.341027302613e+04, TOL));
assert(isequalRel(mag([-1.059477795556e+04, 1.911780779221e+04, 2.322721369788e+03]), 2.198033050864e+04, TOL));
assert(isequalRel(mag([-1.863118483942e+00, -2.656426668062e+00, -3.235215022694e-01]), 3.260748271552e+00, TOL));
assert(isequalRel(mag([-1.488290784971e+01, -7.755143597493e+03, 6.376299177346e+04]), 6.423287004035e+04, TOL));
assert(isequalRel(mag([7.755143597493e+03, -1.488290784971e+01, 0.000000000000e+00]), 7.755157878386e+03, TOL));
assert(isequalRel(mag([5.077625062462e-02, -5.717189914038e-01, -6.952319918176e-02]), 5.781646028457e-01, TOL));
assert(isequalRel(mag([7.755143597493e+03, -1.488290784971e+01, 0.000000000000e+00]), 7.755157878386e+03, TOL));
assert(isequalRel(mag([5.077625062462e-02, -5.717189914038e-01, -6.952319918176e-02]), 5.781646028457e-01, TOL));
assert(isequalRel(mag([5.077625062462e-02, -5.717189914038e-01, -6.952319918176e-02]), 5.781646028457e-01, TOL));
assert(isequalRel(mag([-1.059477795556e+04, 1.911780779221e+04, 2.322721369788e+03]), 2.198033050864e+04, TOL));
assert(isequalRel(mag([-1.249732045995e+04, 1.539864085906e+04, 1.869699838970e+03]), 1.991976246025e+04, TOL));
assert(isequalRel(mag([-1.258130762801e+00, -3.551583367757e+00, -4.323388881599e-01]), 3.792565668337e+00, TOL));
assert(isequalRel(mag([-1.703641739633e+01, -7.755404517245e+03, 6.375877925719e+04]), 6.422872038140e+04, TOL));
assert(isequalRel(mag([7.755404517245e+03, -1.703641739633e+01, 0.000000000000e+00]), 7.755423229303e+03, TOL));
assert(isequalRel(mag([5.087189700536e-02, -5.717685353906e-01, -6.953441798865e-02]), 5.782233506636e-01, TOL));
assert(isequalRel(mag([7.755404517245e+03, -1.703641739633e+01, 0.000000000000e+00]), 7.755423229303e+03, TOL));
assert(isequalRel(mag([5.087189700536e-02, -5.717685353906e-01, -6.953441798865e-02]), 5.782233506636e-01, TOL));
assert(isequalRel(mag([5.087189700536e-02, -5.717685353906e-01, -6.953441798865e-02]), 5.782233506636e-01, TOL));
assert(isequalRel(mag([-1.249732045995e+04, 1.539864085906e+04, 1.869699838970e+03]), 1.991976246025e+04, TOL));
assert(isequalRel(mag([-1.346792475245e+04, 1.056090147785e+04, 1.280783991807e+03]), 1.716269340157e+04, TOL));
assert(isequalRel(mag([-2.718705231553e-01, -4.520514224198e+00, -5.500160921192e-01]), 4.561960119744e+00, TOL));
assert(isequalRel(mag([-1.886350701137e+01, -7.755782755202e+03, 6.375314322368e+04]), 6.422317177528e+04, TOL));
assert(isequalRel(mag([7.755782755202e+03, -1.886350701137e+01, 0.000000000000e+00]), 7.755805694948e+03, TOL));
assert(isequalRel(mag([5.099671685214e-02, -5.718308914629e-01, -6.955004829200e-02]), 5.782978841206e-01, TOL));
assert(isequalRel(mag([7.755782755202e+03, -1.886350701137e+01, 0.000000000000e+00]), 7.755805694948e+03, TOL));
assert(isequalRel(mag([5.099671685214e-02, -5.718308914629e-01, -6.955004829200e-02]), 5.782978841206e-01, TOL));
assert(isequalRel(mag([5.099671685214e-02, -5.718308914629e-01, -6.955004829200e-02]), 5.782978841206e-01, TOL));
assert(isequalRel(mag([-1.346792475245e+04, 1.056090147785e+04, 1.280783991807e+03]), 1.716269340157e+04, TOL));
assert(isequalRel(mag([-1.284818843590e+04, 4.541219018423e+03, 5.485382642655e+02]), 1.363816375049e+04, TOL));
assert(isequalRel(mag([1.494157156479e+00, -5.489585383675e+00, -6.674720394473e-01]), 5.728313208647e+00, TOL));
assert(isequalRel(mag([-1.988908190538e+01, -7.756204165360e+03, 6.374593254892e+04]), 6.421606508625e+04, TOL));
assert(isequalRel(mag([7.756204165360e+03, -1.988908190538e+01, 0.000000000000e+00]), 7.756229665909e+03, TOL));
assert(isequalRel(mag([5.116946155220e-02, -5.718976389522e-01, -6.956894280879e-02]), 5.783814148451e-01, TOL));
assert(isequalRel(mag([7.756204165360e+03, -1.988908190538e+01, 0.000000000000e+00]), 7.756229665909e+03, TOL));
assert(isequalRel(mag([5.116946155220e-02, -5.718976389522e-01, -6.956894280879e-02]), 5.783814148451e-01, TOL));
assert(isequalRel(mag([5.116946155220e-02, -5.718976389522e-01, -6.956894280879e-02]), 5.783814148451e-01, TOL));
assert(isequalRel(mag([-1.284818843590e+04, 4.541219018423e+03, 5.485382642655e+02]), 1.363816375049e+04, TOL));
assert(isequalRel(mag([-9.152705527280e+03, -2.344249501437e+03, -2.879812196960e+02]), 9.452537086782e+03, TOL));
assert(isequalRel(mag([5.127921094864e+00, -5.650383024709e+00, -6.859890076156e-01]), 7.661134641790e+00, TOL));
assert(isequalRel(mag([-1.907480611145e+01, -7.755400353060e+03, 6.373741841155e+04]), 6.420751594832e+04, TOL));
assert(isequalRel(mag([7.755400353060e+03, -1.907480611145e+01, 0.000000000000e+00]), 7.755423810758e+03, TOL));
assert(isequalRel(mag([5.141994392061e-02, -5.719351451630e-01, -6.957616596001e-02]), 5.784415819901e-01, TOL));
assert(isequalRel(mag([7.755400353060e+03, -1.907480611145e+01, 0.000000000000e+00]), 7.755423810758e+03, TOL));
assert(isequalRel(mag([5.141994392061e-02, -5.719351451630e-01, -6.957616596001e-02]), 5.784415819901e-01, TOL));
assert(isequalRel(mag([5.141994392061e-02, -5.719351451630e-01, -6.957616596001e-02]), 5.784415819901e-01, TOL));
assert(isequalRel(mag([-9.152705527280e+03, -2.344249501437e+03, -2.879812196960e+02]), 9.452537086782e+03, TOL));
assert(isequalRel(mag([2.803849090860e+02, -6.500102640176e+03, -7.903609298377e+02]), 6.553977451096e+03, TOL));
assert(isequalRel(mag([9.779619613582e+00, 5.818158109181e-01, 7.417134496049e-02]), 9.797191986106e+00, TOL));
assert(isequalRel(mag([-2.227686989154e+01, -7.750225777063e+03, 6.373166364341e+04]), 6.420117947991e+04, TOL));
assert(isequalRel(mag([7.750225777063e+03, -2.227686989154e+01, 0.000000000000e+00]), 7.750257792770e+03, TOL));
assert(isequalRel(mag([5.168699088602e-02, -5.718739316257e-01, -6.952589040414e-02]), 5.783988140863e-01, TOL));
assert(isequalRel(mag([7.750225777063e+03, -2.227686989154e+01, 0.000000000000e+00]), 7.750257792770e+03, TOL));
assert(isequalRel(mag([5.168699088602e-02, -5.718739316257e-01, -6.952589040414e-02]), 5.783988140863e-01, TOL));
assert(isequalRel(mag([5.168699088602e-02, -5.718739316257e-01, -6.952589040414e-02]), 5.783988140863e-01, TOL));
assert(isequalRel(mag([2.803849090860e+02, -6.500102640176e+03, -7.903609298377e+02]), 6.553977451096e+03, TOL));
assert(isequalRel(mag([9.166257843150e+03, -1.093125526507e+03, -1.294942888733e+02]), 9.232116498110e+03, TOL));
assert(isequalRel(mag([4.316668714234e+00, 6.438636494018e+00, 7.851166087728e-01]), 7.791410448687e+00, TOL));
assert(isequalRel(mag([-2.446435222761e+01, -7.755565218402e+03, 6.373686302348e+04]), 6.420698636781e+04, TOL));
assert(isequalRel(mag([7.755565218402e+03, -2.446435222761e+01, 0.000000000000e+00]), 7.755603803794e+03, TOL));
assert(isequalRel(mag([5.195816660000e-02, -5.718859290071e-01, -6.956770833510e-02]), 5.784399994085e-01, TOL));
assert(isequalRel(mag([7.755565218402e+03, -2.446435222761e+01, 0.000000000000e+00]), 7.755603803794e+03, TOL));
assert(isequalRel(mag([5.195816660000e-02, -5.718859290071e-01, -6.956770833510e-02]), 5.784399994085e-01, TOL));
assert(isequalRel(mag([5.195816660000e-02, -5.718859290071e-01, -6.956770833510e-02]), 5.784399994085e-01, TOL));
assert(isequalRel(mag([9.166257843150e+03, -1.093125526507e+03, -1.294942888733e+02]), 9.232116498110e+03, TOL));
assert(isequalRel(mag([1.179448942915e+04, 6.382211383537e+03, 7.808843901486e+02]), 1.343325662188e+04, TOL));
assert(isequalRel(mag([6.044124532698e-01, 5.731729369262e+00, 6.975743326882e-01]), 5.805570249834e+00, TOL));
assert(isequalRel(mag([-2.375114606648e+01, -7.755556842971e+03, 6.374533341693e+04]), 6.421539346992e+04, TOL));
assert(isequalRel(mag([7.755556842971e+03, -2.375114606648e+01, 0.000000000000e+00]), 7.755593211451e+03, TOL));
assert(isequalRel(mag([5.220068281498e-02, -5.718062478677e-01, -6.954918571788e-02]), 5.783808309591e-01, TOL));
assert(isequalRel(mag([7.755556842971e+03, -2.375114606648e+01, 0.000000000000e+00]), 7.755593211451e+03, TOL));
assert(isequalRel(mag([5.220068281498e-02, -5.718062478677e-01, -6.954918571788e-02]), 5.783808309591e-01, TOL));
assert(isequalRel(mag([5.220068281498e-02, -5.718062478677e-01, -6.954918571788e-02]), 5.783808309591e-01, TOL));
assert(isequalRel(mag([1.179448942915e+04, 6.382211383537e+03, 7.808843901486e+02]), 1.343325662188e+04, TOL));
assert(isequalRel(mag([1.142430138324e+04, 1.249426088864e+04, 1.524331654876e+03]), 1.699837651785e+04, TOL));
assert(isequalRel(mag([-1.021328075142e+00, 4.463448967588e+00, 5.425326979668e-01]), 4.610838259112e+00, TOL));
assert(isequalRel(mag([-2.523148220185e+01, -7.754899766786e+03, 6.375252563814e+04]), 6.422245426844e+04, TOL));
assert(isequalRel(mag([7.754899766786e+03, -2.523148220185e+01, 0.000000000000e+00]), 7.754940813481e+03, TOL));
assert(isequalRel(mag([5.236141854888e-02, -5.717088966755e-01, -6.952232854987e-02]), 5.782958886741e-01, TOL));
assert(isequalRel(mag([7.754899766786e+03, -2.523148220185e+01, 0.000000000000e+00]), 7.754940813481e+03, TOL));
assert(isequalRel(mag([5.236141854888e-02, -5.717088966755e-01, -6.952232854987e-02]), 5.782958886741e-01, TOL));
assert(isequalRel(mag([5.236141854888e-02, -5.717088966755e-01, -6.952232854987e-02]), 5.782958886741e-01, TOL));
assert(isequalRel(mag([1.142430138324e+04, 1.249426088864e+04, 1.524331654876e+03]), 1.699837651785e+04, TOL));
assert(isequalRel(mag([9.652098673500e+03, 1.715384762075e+04, 2.090480383360e+03]), 1.979362536859e+04, TOL));
assert(isequalRel(mag([-1.844516637081e+00, 3.327522235010e+00, 4.039152320430e-01]), 3.825936926248e+00, TOL));
assert(isequalRel(mag([-2.741961531582e+01, -7.754555522007e+03, 6.375813027701e+04]), 6.422797723422e+04, TOL));
assert(isequalRel(mag([7.754555522007e+03, -2.741961531582e+01, 0.000000000000e+00]), 7.754603998864e+03, TOL));
assert(isequalRel(mag([5.247501652110e-02, -5.716230967289e-01, -6.950084918153e-02]), 5.782187822181e-01, TOL));
assert(isequalRel(mag([7.754555522007e+03, -2.741961531582e+01, 0.000000000000e+00]), 7.754603998864e+03, TOL));
assert(isequalRel(mag([5.247501652110e-02, -5.716230967289e-01, -6.950084918153e-02]), 5.782187822181e-01, TOL));
assert(isequalRel(mag([5.247501652110e-02, -5.716230967289e-01, -6.950084918153e-02]), 5.782187822181e-01, TOL));
assert(isequalRel(mag([9.652098673500e+03, 1.715384762075e+04, 2.090480383360e+03]), 1.979362536859e+04, TOL));
assert(isequalRel(mag([7.140419458837e+03, 2.053925485336e+04, 2.501214693678e+03]), 2.188841371419e+04, TOL));
assert(isequalRel(mag([-2.293173683869e+00, 2.333507911861e+00, 2.827163107973e-01]), 3.283874728351e+00, TOL));
assert(isequalRel(mag([-2.982191829400e+01, -7.754432760197e+03, 6.376230401722e+04]), 6.423210669411e+04, TOL));
assert(isequalRel(mag([7.754432760197e+03, -2.982191829400e+01, 0.000000000000e+00]), 7.754490104399e+03, TOL));
assert(isequalRel(mag([5.256153960198e-02, -5.715545256841e-01, -6.948484250299e-02]), 5.781569290539e-01, TOL));
assert(isequalRel(mag([7.754432760197e+03, -2.982191829400e+01, 0.000000000000e+00]), 7.754490104399e+03, TOL));
assert(isequalRel(mag([5.256153960198e-02, -5.715545256841e-01, -6.948484250299e-02]), 5.781569290539e-01, TOL));
assert(isequalRel(mag([5.256153960198e-02, -5.715545256841e-01, -6.948484250299e-02]), 5.781569290539e-01, TOL));
assert(isequalRel(mag([7.140419458837e+03, 2.053925485336e+04, 2.501214693678e+03]), 2.188841371419e+04, TOL));
# 24208
assert(isequalRel(mag([-1.428919940414e+04, 3.946905530051e+04, 1.428628385914e+03]), 4.200033958185e+04, TOL));
assert(isequalRel(mag([-2.893205245166e+00, -1.045447840405e+00, 1.796342494877e-01]), 3.081536344301e+00, TOL));
assert(isequalRel(mag([8.583550587690e+03, -1.566485528778e+03, 1.291306904753e+05]), 1.294251383628e+05, TOL));
assert(isequalRel(mag([1.566485528778e+03, 8.583550587690e+03, 0.000000000000e+00]), 8.725320487140e+03, TOL));
assert(isequalRel(mag([2.238716915460e-03, 1.419904248599e-03, -1.315866923281e-04]), 2.654297752769e-03, TOL));
assert(isequalRel(mag([1.566485528778e+03, 8.583550587690e+03, 0.000000000000e+00]), 8.725320487140e+03, TOL));
assert(isequalRel(mag([2.238716915460e-03, 1.419904248599e-03, -1.315866923281e-04]), 2.654297752769e-03, TOL));
assert(isequalRel(mag([2.238716915460e-03, 1.419904248599e-03, -1.315866923281e-04]), 2.654297752769e-03, TOL));
assert(isequalRel(mag([-1.428919940414e+04, 3.946905530051e+04, 1.428628385914e+03]), 4.200033958185e+04, TOL));
assert(isequalRel(mag([-3.222292014955e+04, 2.691625425799e+04, 2.468599965935e+03]), 4.205823714847e+04, TOL));
assert(isequalRel(mag([-1.973007929055e+00, -2.359335070868e+00, 1.025393763757e-01]), 3.077293711762e+00, TOL));
assert(isequalRel(mag([8.584230401558e+03, -1.566449169317e+03, 1.291306486661e+05]), 1.294251412961e+05, TOL));
assert(isequalRel(mag([1.566449169317e+03, 8.584230401558e+03, 0.000000000000e+00]), 8.725982729016e+03, TOL));
assert(isequalRel(mag([2.222525754986e-03, 1.408367587457e-03, -1.306625273785e-04]), 2.634424546089e-03, TOL));
assert(isequalRel(mag([1.566449169317e+03, 8.584230401558e+03, 0.000000000000e+00]), 8.725982729016e+03, TOL));
assert(isequalRel(mag([2.222525754986e-03, 1.408367587457e-03, -1.306625273785e-04]), 2.634424546089e-03, TOL));
assert(isequalRel(mag([2.222525754986e-03, 1.408367587457e-03, -1.306625273785e-04]), 2.634424546089e-03, TOL));
assert(isequalRel(mag([-3.222292014955e+04, 2.691625425799e+04, 2.468599965935e+03]), 4.205823714847e+04, TOL));
assert(isequalRel(mag([-4.141395109398e+04, 7.055516566392e+03, 2.838909066712e+03]), 4.210647294564e+04, TOL));
assert(isequalRel(mag([-5.216650801119e-01, -3.029172206738e+00, -2.066843360971e-03]), 3.073763651572e+00, TOL));
assert(isequalRel(mag([8.584961794768e+03, -1.566555875587e+03, 1.291306062399e+05]), 1.294251487703e+05, TOL));
assert(isequalRel(mag([1.566555875587e+03, 8.584961794768e+03, 0.000000000000e+00]), 8.726721396318e+03, TOL));
assert(isequalRel(mag([2.214273437070e-03, 1.390409547232e-03, -1.303432168781e-04]), 2.617868391905e-03, TOL));
assert(isequalRel(mag([1.566555875587e+03, 8.584961794768e+03, 0.000000000000e+00]), 8.726721396318e+03, TOL));
assert(isequalRel(mag([2.214273437070e-03, 1.390409547232e-03, -1.303432168781e-04]), 2.617868391905e-03, TOL));
assert(isequalRel(mag([2.214273437070e-03, 1.390409547232e-03, -1.303432168781e-04]), 2.617868391905e-03, TOL));
assert(isequalRel(mag([-4.141395109398e+04, 7.055516566392e+03, 2.838909066712e+03]), 4.210647294564e+04, TOL));
assert(isequalRel(mag([-3.940272251896e+04, -1.471642475223e+04, 2.441326783576e+03]), 4.213202791059e+04, TOL));
assert(isequalRel(mag([1.066928187054e+00, -2.878714619433e+00, -1.058657290372e-01]), 3.071895370785e+00, TOL));
assert(isequalRel(mag([8.585848137910e+03, -1.566677586314e+03, 1.291305617416e+05]), 1.294251646420e+05, TOL));
assert(isequalRel(mag([1.566677586314e+03, 8.585848137910e+03, 0.000000000000e+00]), 8.727615190114e+03, TOL));
assert(isequalRel(mag([2.215957405062e-03, 1.370753449146e-03, -1.307075941370e-04]), 2.608930185835e-03, TOL));
assert(isequalRel(mag([1.566677586314e+03, 8.585848137910e+03, 0.000000000000e+00]), 8.727615190114e+03, TOL));
assert(isequalRel(mag([2.215957405062e-03, 1.370753449146e-03, -1.307075941370e-04]), 2.608930185835e-03, TOL));
assert(isequalRel(mag([2.215957405062e-03, 1.370753449146e-03, -1.307075941370e-04]), 2.608930185835e-03, TOL));
assert(isequalRel(mag([-3.940272251896e+04, -1.471642475223e+04, 2.441326783576e+03]), 4.213202791059e+04, TOL));
assert(isequalRel(mag([-2.675108889828e+04, -3.251513982431e+04, 1.384388655702e+03]), 4.212803825231e+04, TOL));
assert(isequalRel(mag([2.366228869377e+00, -1.951032799314e+00, -1.810184978888e-01]), 3.072187452426e+00, TOL));
assert(isequalRel(mag([8.586829443911e+03, -1.566661525697e+03, 1.291305144020e+05]), 1.294251823176e+05, TOL));
assert(isequalRel(mag([1.566661525697e+03, 8.586829443911e+03, 0.000000000000e+00]), 8.728577675367e+03, TOL));
assert(isequalRel(mag([2.227240067511e-03, 1.354505186823e-03, -1.316720490626e-04]), 2.610099643301e-03, TOL));
assert(isequalRel(mag([1.566661525697e+03, 8.586829443911e+03, 0.000000000000e+00]), 8.728577675367e+03, TOL));
assert(isequalRel(mag([2.227240067511e-03, 1.354505186823e-03, -1.316720490626e-04]), 2.610099643301e-03, TOL));
assert(isequalRel(mag([2.227240067511e-03, 1.354505186823e-03, -1.316720490626e-04]), 2.610099643301e-03, TOL));
assert(isequalRel(mag([-2.675108889828e+04, -3.251513982431e+04, 1.384388655702e+03]), 4.212803825231e+04, TOL));
assert(isequalRel(mag([-6.874779755423e+03, -4.153038329422e+04, -4.660245459036e+01]), 4.209557583689e+04, TOL));
assert(isequalRel(mag([3.027415086970e+00, -4.946711768357e-01, -2.073372596409e-01]), 3.074561825893e+00, TOL));
assert(isequalRel(mag([8.587742973003e+03, -1.566482969240e+03, 1.291304643447e+05]), 1.294251908252e+05, TOL));
assert(isequalRel(mag([1.566482969240e+03, 8.587742973003e+03, 0.000000000000e+00]), 8.729444327292e+03, TOL));
assert(isequalRel(mag([2.245259491638e-03, 1.346192747682e-03, -1.329889387177e-04]), 2.621280442174e-03, TOL));
assert(isequalRel(mag([1.566482969240e+03, 8.587742973003e+03, 0.000000000000e+00]), 8.729444327292e+03, TOL));
assert(isequalRel(mag([2.245259491638e-03, 1.346192747682e-03, -1.329889387177e-04]), 2.621280442174e-03, TOL));
assert(isequalRel(mag([2.245259491638e-03, 1.346192747682e-03, -1.329889387177e-04]), 2.621280442174e-03, TOL));
assert(isequalRel(mag([-6.874779755423e+03, -4.153038329422e+04, -4.660245459036e+01]), 4.209557583689e+04, TOL));
assert(isequalRel(mag([1.485952039042e+04, -3.930258907247e+04, -1.465024825241e+03]), 4.204337226925e+04, TOL));
assert(isequalRel(mag([2.869609883140e+00, 1.100123968605e+00, -1.775144249145e-01]), 3.078383504174e+00, TOL));
assert(isequalRel(mag([8.588485421698e+03, -1.566270500947e+03, 1.291304125788e+05]), 1.294251858716e+05, TOL));
assert(isequalRel(mag([1.566270500947e+03, 8.588485421698e+03, 0.000000000000e+00]), 8.730136603791e+03, TOL));
assert(isequalRel(mag([2.264992743195e-03, 1.348269012739e-03, -1.342913944660e-04]), 2.639328633586e-03, TOL));
assert(isequalRel(mag([1.566270500947e+03, 8.588485421698e+03, 0.000000000000e+00]), 8.730136603791e+03, TOL));
assert(isequalRel(mag([2.264992743195e-03, 1.348269012739e-03, -1.342913944660e-04]), 2.639328633586e-03, TOL));
assert(isequalRel(mag([2.264992743195e-03, 1.348269012739e-03, -1.342913944660e-04]), 2.639328633586e-03, TOL));
assert(isequalRel(mag([1.485952039042e+04, -3.930258907247e+04, -1.465024825241e+03]), 4.204337226925e+04, TOL));
assert(isequalRel(mag([3.255314863770e+04, -2.639888401807e+04, -2.485458660025e+03]), 4.198554594594e+04, TOL));
assert(isequalRel(mag([1.930064459104e+00, 2.401574539278e+00, -9.925051981728e-02]), 3.082622219749e+00, TOL));
assert(isequalRel(mag([8.589117197734e+03, -1.566178500305e+03, 1.291303607449e+05]), 1.294251749678e+05, TOL));
assert(isequalRel(mag([1.566178500305e+03, 8.589117197734e+03, 0.000000000000e+00]), 8.730741625499e+03, TOL));
assert(isequalRel(mag([2.280880037958e-03, 1.360045319519e-03, -1.352174044926e-04]), 2.659026281401e-03, TOL));
assert(isequalRel(mag([1.566178500305e+03, 8.589117197734e+03, 0.000000000000e+00]), 8.730741625499e+03, TOL));
assert(isequalRel(mag([2.280880037958e-03, 1.360045319519e-03, -1.352174044926e-04]), 2.659026281401e-03, TOL));
assert(isequalRel(mag([2.280880037958e-03, 1.360045319519e-03, -1.352174044926e-04]), 2.659026281401e-03, TOL));
assert(isequalRel(mag([3.255314863770e+04, -2.639888401807e+04, -2.485458660025e+03]), 4.198554594594e+04, TOL));
assert(isequalRel(mag([4.136567576837e+04, -6.298099658107e+03, -2.828052540329e+03]), 4.193784773028e+04, TOL));
assert(isequalRel(mag([4.597412761382e-01, 3.051680213909e+00, 6.431871844820e-03]), 3.086123059427e+00, TOL));
assert(isequalRel(mag([8.589803411350e+03, -1.566231209193e+03, 1.291303106514e+05]), 1.294251711676e+05, TOL));
assert(isequalRel(mag([1.566231209193e+03, 8.589803411350e+03, 0.000000000000e+00]), 8.731426163365e+03, TOL));
assert(isequalRel(mag([2.288718036575e-03, 1.378143226736e-03, -1.355308988065e-04]), 2.675047219934e-03, TOL));
assert(isequalRel(mag([1.566231209193e+03, 8.589803411350e+03, 0.000000000000e+00]), 8.731426163365e+03, TOL));
assert(isequalRel(mag([2.288718036575e-03, 1.378143226736e-03, -1.355308988065e-04]), 2.675047219934e-03, TOL));
assert(isequalRel(mag([2.288718036575e-03, 1.378143226736e-03, -1.355308988065e-04]), 2.675047219934e-03, TOL));
assert(isequalRel(mag([4.136567576837e+04, -6.298099658107e+03, -2.828052540329e+03]), 4.193784773028e+04, TOL));
assert(isequalRel(mag([3.885883295070e+04, 1.552339314924e+04, -2.396868507516e+03]), 4.191335839322e+04, TOL));
assert(isequalRel(mag([-1.140211487947e+00, 2.867567143101e+00, 1.106372170646e-01]), 3.087922303303e+00, TOL));
assert(isequalRel(mag([8.590646395918e+03, -1.566296128677e+03, 1.291302637894e+05]), 1.294251811487e+05, TOL));
assert(isequalRel(mag([1.566296128677e+03, 8.590646395918e+03, 0.000000000000e+00]), 8.732267120422e+03, TOL));
assert(isequalRel(mag([2.286521144807e-03, 1.397779845774e-03, -1.351608597278e-04]), 2.683325530177e-03, TOL));
assert(isequalRel(mag([1.566296128677e+03, 8.590646395918e+03, 0.000000000000e+00]), 8.732267120422e+03, TOL));
assert(isequalRel(mag([2.286521144807e-03, 1.397779845774e-03, -1.351608597278e-04]), 2.683325530177e-03, TOL));
assert(isequalRel(mag([2.286521144807e-03, 1.397779845774e-03, -1.351608597278e-04]), 2.683325530177e-03, TOL));
assert(isequalRel(mag([3.885883295070e+04, 1.552339314924e+04, -2.396868507516e+03]), 4.191335839322e+04, TOL));
assert(isequalRel(mag([2.570146068162e+04, 3.308942617648e+04, -1.308685566378e+03]), 4.191882469452e+04, TOL));
assert(isequalRel(mag([-2.428713821271e+00, 1.897381431097e+00, 1.846059074448e-01]), 3.087521086854e+00, TOL));
assert(isequalRel(mag([8.591579238928e+03, -1.566218749027e+03, 1.291302209421e+05]), 1.294251993839e+05, TOL));
assert(isequalRel(mag([1.566218749027e+03, 8.591579238928e+03, 0.000000000000e+00]), 8.733170958397e+03, TOL));
assert(isequalRel(mag([2.274705625167e-03, 1.413758336232e-03, -1.341983207697e-04]), 2.681605396723e-03, TOL));
assert(isequalRel(mag([1.566218749027e+03, 8.591579238928e+03, 0.000000000000e+00]), 8.733170958397e+03, TOL));
assert(isequalRel(mag([2.274705625167e-03, 1.413758336232e-03, -1.341983207697e-04]), 2.681605396723e-03, TOL));
assert(isequalRel(mag([2.274705625167e-03, 1.413758336232e-03, -1.341983207697e-04]), 2.681605396723e-03, TOL));
assert(isequalRel(mag([2.570146068162e+04, 3.308942617648e+04, -1.308685566378e+03]), 4.191882469452e+04, TOL));
assert(isequalRel(mag([5.501081370996e+03, 4.159027784405e+04, 1.383252292972e+02]), 4.195273818555e+04, TOL));
assert(isequalRel(mag([-3.050691874469e+00, 4.092030519613e-01, 2.079581327855e-01]), 3.085030734965e+00, TOL));
assert(isequalRel(mag([8.592433416487e+03, -1.565982263264e+03, 1.291301819619e+05]), 1.294252143362e+05, TOL));
assert(isequalRel(mag([1.565982263264e+03, 8.592433416487e+03, 0.000000000000e+00]), 8.733968883939e+03, TOL));
assert(isequalRel(mag([2.256316781421e-03, 1.421528196024e-03, -1.328981614401e-04]), 2.670087967001e-03, TOL));
assert(isequalRel(mag([1.565982263264e+03, 8.592433416487e+03, 0.000000000000e+00]), 8.733968883939e+03, TOL));
assert(isequalRel(mag([2.256316781421e-03, 1.421528196024e-03, -1.328981614401e-04]), 2.670087967001e-03, TOL));
assert(isequalRel(mag([2.256316781421e-03, 1.421528196024e-03, -1.328981614401e-04]), 2.670087967001e-03, TOL));
assert(isequalRel(mag([5.501081370996e+03, 4.159027784405e+04, 1.383252292972e+02]), 4.195273818555e+04, TOL));
# 25954
assert(isequalRel(mag([8.118185192210e+03, -4.136840537378e+04, 4.110466873304e+00]), 4.215744193947e+04, TOL));
assert(isequalRel(mag([3.017696740517e+00, 5.919942965821e-01, 9.330158220802e-04]), 3.075215721772e+00, TOL));
assert(isequalRel(mag([-4.103074969325e+01, 4.829747254664e+00, 1.296432213892e+05]), 1.296432279721e+05, TOL));
assert(isequalRel(mag([-4.829747254664e+00, -4.103074969325e+01, 0.000000000000e+00]), 4.131402762905e+01, TOL));
assert(isequalRel(mag([-2.446036149918e-05, -2.104815679806e-04, 9.985716872988e-11]), 2.118980881091e-04, TOL));
assert(isequalRel(mag([-4.829747254664e+00, -4.103074969325e+01, 0.000000000000e+00]), 4.131402762905e+01, TOL));
assert(isequalRel(mag([-2.446036149918e-05, -2.104815679806e-04, 9.985716872988e-11]), 2.118980881091e-04, TOL));
assert(isequalRel(mag([-2.446036149918e-05, -2.104815679806e-04, 9.985716872988e-11]), 2.118980881091e-04, TOL));
assert(isequalRel(mag([8.118185192210e+03, -4.136840537378e+04, 4.110466873304e+00]), 4.215744193947e+04, TOL));
assert(isequalRel(mag([2.776634015328e+04, -3.172497000557e+04, 9.932978462844e+00]), 4.215973749949e+04, TOL));
assert(isequalRel(mag([2.314236153117e+00, 2.024903192670e+00, 6.608611838850e-04]), 3.075048349021e+00, TOL));
assert(isequalRel(mag([-4.107912103873e+01, 4.637561440996e+00, 1.296432233686e+05]), 1.296432299597e+05, TOL));
assert(isequalRel(mag([-4.637561440996e+00, -4.107912103873e+01, 0.000000000000e+00]), 4.134006726451e+01, TOL));
assert(isequalRel(mag([-6.728124236963e-06, -2.017735981546e-04, 5.085896598269e-09]), 2.018857414327e-04, TOL));
assert(isequalRel(mag([-4.637561440996e+00, -4.107912103873e+01, 0.000000000000e+00]), 4.134006726451e+01, TOL));
assert(isequalRel(mag([-6.728124236963e-06, -2.017735981546e-04, 5.085896598269e-09]), 2.018857414327e-04, TOL));
assert(isequalRel(mag([-6.728124236963e-06, -2.017735981546e-04, 5.085896598269e-09]), 2.018857414327e-04, TOL));
assert(isequalRel(mag([2.776634015328e+04, -3.172497000557e+04, 9.932978462844e+00]), 4.215973749949e+04, TOL));
assert(isequalRel(mag([3.993257237973e+04, -1.353260040454e+04, 1.312958252292e+01]), 4.216327528736e+04, TOL));
assert(isequalRel(mag([9.873828187443e-01, 2.911942843401e+00, 2.132980788857e-04]), 3.074790399276e+00, TOL));
assert(isequalRel(mag([-4.111907153307e+01, 4.446383226855e+00, 1.296432254921e+05]), 1.296432320893e+05, TOL));
assert(isequalRel(mag([-4.446383226855e+00, -4.111907153307e+01, 0.000000000000e+00]), 4.135877618525e+01, TOL));
assert(isequalRel(mag([4.251442276446e-06, -1.853503522240e-04, 7.705408844253e-09]), 1.853991043408e-04, TOL));
assert(isequalRel(mag([-4.446383226855e+00, -4.111907153307e+01, 0.000000000000e+00]), 4.135877618525e+01, TOL));
assert(isequalRel(mag([4.251442276446e-06, -1.853503522240e-04, 7.705408844253e-09]), 1.853991043408e-04, TOL));
assert(isequalRel(mag([4.251442276446e-06, -1.853503522240e-04, 7.705408844253e-09]), 1.853991043408e-04, TOL));
assert(isequalRel(mag([3.993257237973e+04, -1.353260040454e+04, 1.312958252292e+01]), 4.216327528736e+04, TOL));
assert(isequalRel(mag([4.134101365441e+04, 8.305716819548e+03, 1.284988501152e+01]), 4.216710218856e+04, TOL));
assert(isequalRel(mag([-6.050982241921e-01, 3.014378268382e+00, -2.910335896563e-04]), 3.074511390532e+00, TOL));
assert(isequalRel(mag([-4.115165671059e+01, 4.256181002332e+00, 1.296432276509e+05]), 1.296432342520e+05, TOL));
assert(isequalRel(mag([-4.256181002332e+00, -4.115165671059e+01, 0.000000000000e+00]), 4.137117265380e+01, TOL));
assert(isequalRel(mag([5.521919009298e-06, -1.656368561394e-04, 7.190630569238e-09]), 1.657288742284e-04, TOL));
assert(isequalRel(mag([-4.256181002332e+00, -4.115165671059e+01, 0.000000000000e+00]), 4.137117265380e+01, TOL));
assert(isequalRel(mag([5.521919009298e-06, -1.656368561394e-04, 7.190630569238e-09]), 1.657288742284e-04, TOL));
assert(isequalRel(mag([5.521919009298e-06, -1.656368561394e-04, 7.190630569238e-09]), 1.657288742284e-04, TOL));
assert(isequalRel(mag([4.134101365441e+04, 8.305716819548e+03, 1.284988501152e+01]), 4.216710218856e+04, TOL));
assert(isequalRel(mag([3.161499210558e+04, 2.790729155353e+04, 9.166187966821e+00]), 4.217018771251e+04, TOL));
assert(isequalRel(mag([-2.034243523452e+00, 2.305014101656e+00, -7.184181760693e-04]), 3.074286459923e+00, TOL));
assert(isequalRel(mag([-4.117729801887e+01, 4.066526458683e+00, 1.296432297270e+05]), 1.296432363301e+05, TOL));
assert(isequalRel(mag([-4.066526458683e+00, -4.117729801887e+01, 0.000000000000e+00]), 4.137760879478e+01, TOL));
assert(isequalRel(mag([-3.256553828505e-06, -1.479422407562e-04, 3.606165550377e-09]), 1.479780786326e-04, TOL));
assert(isequalRel(mag([-4.066526458683e+00, -4.117729801887e+01, 0.000000000000e+00]), 4.137760879478e+01, TOL));
assert(isequalRel(mag([-3.256553828505e-06, -1.479422407562e-04, 3.606165550377e-09]), 1.479780786326e-04, TOL));
assert(isequalRel(mag([-3.256553828505e-06, -1.479422407562e-04, 3.606165550377e-09]), 1.479780786326e-04, TOL));
assert(isequalRel(mag([3.161499210558e+04, 2.790729155353e+04, 9.166187966821e+00]), 4.217018771251e+04, TOL));
assert(isequalRel(mag([1.337575227587e+04, 3.999427017651e+04, 3.054168543211e+00]), 4.217170147415e+04, TOL));
assert(isequalRel(mag([-2.915424365576e+00, 9.751198736627e-01, -9.555764871800e-04]), 3.074176135574e+00, TOL));
assert(isequalRel(mag([-4.119576464660e+01, 3.877356985712e+00, 1.296432316254e+05]), 1.296432382286e+05, TOL));
assert(isequalRel(mag([-3.877356985712e+00, -4.119576464660e+01, 0.000000000000e+00]), 4.137783128696e+01, TOL));
assert(isequalRel(mag([-1.971826246518e-05, -1.370297089895e-04, -2.167454458146e-09]), 1.384411464309e-04, TOL));
assert(isequalRel(mag([-3.877356985712e+00, -4.119576464660e+01, 0.000000000000e+00]), 4.137783128696e+01, TOL));
assert(isequalRel(mag([-1.971826246518e-05, -1.370297089895e-04, -2.167454458146e-09]), 1.384411464309e-04, TOL));
assert(isequalRel(mag([-1.971826246518e-05, -1.370297089895e-04, -2.167454458146e-09]), 1.384411464309e-04, TOL));
assert(isequalRel(mag([1.337575227587e+04, 3.999427017651e+04, 3.054168543211e+00]), 4.217170147415e+04, TOL));
assert(isequalRel(mag([-8.464899633091e+03, 4.131293549892e+04, -3.866229191080e+00]), 4.217123640924e+04, TOL));
assert(isequalRel(mag([-3.011600615036e+00, -6.172750497400e-01, -9.396644554174e-04]), 3.074210083011e+00, TOL));
assert(isequalRel(mag([-4.120682385352e+01, 3.689372905836e+00, 1.296432332996e+05]), 1.296432399008e+05, TOL));
assert(isequalRel(mag([-3.689372905836e+00, -4.120682385352e+01, 0.000000000000e+00]), 4.137165460231e+01, TOL));
assert(isequalRel(mag([-3.943033267824e-05, -1.358356875086e-04, -8.667249646741e-09]), 1.414428690715e-04, TOL));
assert(isequalRel(mag([-3.689372905836e+00, -4.120682385352e+01, 0.000000000000e+00]), 4.137165460231e+01, TOL));
assert(isequalRel(mag([-3.943033267824e-05, -1.358356875086e-04, -8.667249646741e-09]), 1.414428690715e-04, TOL));
assert(isequalRel(mag([-3.943033267824e-05, -1.358356875086e-04, -8.667249646741e-09]), 1.414428690715e-04, TOL));
assert(isequalRel(mag([-8.464899633091e+03, 4.131293549892e+04, -3.866229191080e+00]), 4.217123640924e+04, TOL));
assert(isequalRel(mag([-2.802623406158e+04, 3.150789995661e+04, -9.760478685420e+00]), 4.216891806315e+04, TOL));
assert(isequalRel(mag([-2.296840159731e+00, -2.043607595250e+00, -6.748885938978e-04]), 3.074379153291e+00, TOL));
assert(isequalRel(mag([-4.121091067319e+01, 3.503673724805e+00, 1.296432347636e+05]), 1.296432413610e+05, TOL));
assert(isequalRel(mag([-3.503673724805e+00, -4.121091067319e+01, 0.000000000000e+00]), 4.135958036638e+01, TOL));
assert(isequalRel(mag([-5.708546663034e-05, -1.446809215652e-04, -1.423621777131e-08]), 1.555355900366e-04, TOL));
assert(isequalRel(mag([-3.503673724805e+00, -4.121091067319e+01, 0.000000000000e+00]), 4.135958036638e+01, TOL));
assert(isequalRel(mag([-5.708546663034e-05, -1.446809215652e-04, -1.423621777131e-08]), 1.555355900366e-04, TOL));
assert(isequalRel(mag([-5.708546663034e-05, -1.446809215652e-04, -1.423621777131e-08]), 1.555355900366e-04, TOL));
assert(isequalRel(mag([-2.802623406158e+04, 3.150789995661e+04, -9.760478685420e+00]), 4.216891806315e+04, TOL));
assert(isequalRel(mag([-4.004001314363e+04, 1.321800579413e+04, -1.306594831815e+01]), 4.216537086799e+04, TOL));
assert(isequalRel(mag([-9.633287718859e-01, -2.919827982597e+00, -2.314137180301e-04]), 3.074637836275e+00, TOL));
assert(isequalRel(mag([-4.120914938426e+01, 3.320995635305e+00, 1.296432360888e+05]), 1.296432426808e+05, TOL));
assert(isequalRel(mag([-3.320995635305e+00, -4.120914938426e+01, 0.000000000000e+00]), 4.134275033163e+01, TOL));
assert(isequalRel(mag([-6.792910437059e-05, -1.611839211809e-04, -1.746338319782e-08]), 1.749131783852e-04, TOL));
assert(isequalRel(mag([-3.320995635305e+00, -4.120914938426e+01, 0.000000000000e+00]), 4.134275033163e+01, TOL));
assert(isequalRel(mag([-6.792910437059e-05, -1.611839211809e-04, -1.746338319782e-08]), 1.749131783852e-04, TOL));
assert(isequalRel(mag([-6.792910437059e-05, -1.611839211809e-04, -1.746338319782e-08]), 1.749131783852e-04, TOL));
assert(isequalRel(mag([-4.004001314363e+04, 1.321800579413e+04, -1.306594831815e+01]), 4.216537086799e+04, TOL));
assert(isequalRel(mag([-4.126843291976e+04, -8.632068596927e+03, -1.290661266416e+01]), 4.216155038059e+04, TOL));
assert(isequalRel(mag([6.300423153131e-01, -3.009677375944e+00, 2.731633096663e-04]), 3.074916470568e+00, TOL));
assert(isequalRel(mag([-4.120270456259e+01, 3.141309595327e+00, 1.296432373840e+05]), 1.296432439695e+05, TOL));
assert(isequalRel(mag([-3.141309595327e+00, -4.120270456259e+01, 0.000000000000e+00]), 4.132227836466e+01, TOL));
assert(isequalRel(mag([-6.903908218003e-05, -1.809002288628e-04, -1.755844213355e-08]), 1.936266716627e-04, TOL));
assert(isequalRel(mag([-3.141309595327e+00, -4.120270456259e+01, 0.000000000000e+00]), 4.132227836466e+01, TOL));
assert(isequalRel(mag([-6.903908218003e-05, -1.809002288628e-04, -1.755844213355e-08]), 1.936266716627e-04, TOL));
assert(isequalRel(mag([-6.903908218003e-05, -1.809002288628e-04, -1.755844213355e-08]), 1.936266716627e-04, TOL));
assert(isequalRel(mag([-4.126843291976e+04, -8.632068596927e+03, -1.290661266416e+01]), 4.216155038059e+04, TOL));
assert(isequalRel(mag([-3.137785317015e+04, -2.815613970334e+04, -9.326055295520e+00]), 4.215848621021e+04, TOL));
assert(isequalRel(mag([2.054021716822e+00, -2.288554158402e+00, 7.049590249212e-04]), 3.075139971787e+00, TOL));
assert(isequalRel(mag([-4.119210741885e+01, 2.964180665663e+00, 1.296432387668e+05]), 1.296432453447e+05, TOL));
assert(isequalRel(mag([-2.964180665663e+00, -4.119210741885e+01, 0.000000000000e+00]), 4.129862080778e+01, TOL));
assert(isequalRel(mag([-6.011420576136e-05, -1.985175638192e-04, -1.456141419029e-08]), 2.074197220398e-04, TOL));
assert(isequalRel(mag([-2.964180665663e+00, -4.119210741885e+01, 0.000000000000e+00]), 4.129862080778e+01, TOL));
assert(isequalRel(mag([-6.011420576136e-05, -1.985175638192e-04, -1.456141419029e-08]), 2.074197220398e-04, TOL));
assert(isequalRel(mag([-6.011420576136e-05, -1.985175638192e-04, -1.456141419029e-08]), 2.074197220398e-04, TOL));
assert(isequalRel(mag([-3.137785317015e+04, -2.815613970334e+04, -9.326055295520e+00]), 4.215848621021e+04, TOL));
assert(isequalRel(mag([-1.303141552688e+04, -4.009233381029e+04, -3.276366600268e+00]), 4.215700453928e+04, TOL));
assert(isequalRel(mag([2.924657466185e+00, -9.505411665183e-01, 9.493811931623e-04]), 3.075248072121e+00, TOL));
assert(isequalRel(mag([-4.117722903964e+01, 2.789530782067e+00, 1.296432403314e+05]), 1.296432469007e+05, TOL));
assert(isequalRel(mag([-2.789530782067e+00, -4.117722903964e+01, 0.000000000000e+00]), 4.127160856287e+01, TOL));
assert(isequalRel(mag([-4.355791676622e-05, -2.092870144893e-04, -9.331622249453e-09]), 2.137717161693e-04, TOL));
assert(isequalRel(mag([-2.789530782067e+00, -4.117722903964e+01, 0.000000000000e+00]), 4.127160856287e+01, TOL));
assert(isequalRel(mag([-4.355791676622e-05, -2.092870144893e-04, -9.331622249453e-09]), 2.137717161693e-04, TOL));
assert(isequalRel(mag([-4.355791676622e-05, -2.092870144893e-04, -9.331622249453e-09]), 2.137717161693e-04, TOL));
assert(isequalRel(mag([-1.303141552688e+04, -4.009233381029e+04, -3.276366600268e+00]), 4.215700453928e+04, TOL));
assert(isequalRel(mag([8.827156604721e+03, -4.122300971237e+04, 3.634829628582e+00]), 4.215750510505e+04, TOL));
assert(isequalRel(mag([3.007087318519e+00, 6.437013231315e-01, 9.416630000093e-04]), 3.075211605943e+00, TOL));
assert(isequalRel(mag([-4.115792763644e+01, 2.618043311132e+00, 1.296432421232e+05]), 1.296432486828e+05, TOL));
assert(isequalRel(mag([-2.618043311132e+00, -4.115792763644e+01, 0.000000000000e+00]), 4.124111004939e+01, TOL));
assert(isequalRel(mag([-2.383196802642e-05, -2.103045912519e-04, -3.319015168019e-09]), 2.116506173217e-04, TOL));
assert(isequalRel(mag([-2.618043311132e+00, -4.115792763644e+01, 0.000000000000e+00]), 4.124111004939e+01, TOL));
assert(isequalRel(mag([-2.383196802642e-05, -2.103045912519e-04, -3.319015168019e-09]), 2.116506173217e-04, TOL));
assert(isequalRel(mag([-2.383196802642e-05, -2.103045912519e-04, -3.319015168019e-09]), 2.116506173217e-04, TOL));
assert(isequalRel(mag([8.827156604721e+03, -4.122300971237e+04, 3.634829628582e+00]), 4.215750510505e+04, TOL));
assert(isequalRel(mag([2.830685426674e+04, -3.124380147394e+04, 9.572168911755e+00]), 4.215985318580e+04, TOL));
assert(isequalRel(mag([2.279137743095e+00, 2.064316875309e+00, 6.841271481732e-04]), 3.075040403265e+00, TOL));
assert(isequalRel(mag([-4.113472261830e+01, 2.450803966804e+00, 1.296432441268e+05]), 1.296432506758e+05, TOL));
assert(isequalRel(mag([-2.450803966804e+00, -4.113472261830e+01, 0.000000000000e+00]), 4.120766730801e+01, TOL));
assert(isequalRel(mag([-6.253077302009e-06, -2.012956157432e-04, 1.821286522295e-09]), 2.013927155994e-04, TOL));
assert(isequalRel(mag([-2.450803966804e+00, -4.113472261830e+01, 0.000000000000e+00]), 4.120766730801e+01, TOL));
assert(isequalRel(mag([-6.253077302009e-06, -2.012956157432e-04, 1.821286522295e-09]), 2.013927155994e-04, TOL));
assert(isequalRel(mag([-6.253077302009e-06, -2.012956157432e-04, 1.821286522295e-09]), 2.013927155994e-04, TOL));
assert(isequalRel(mag([2.830685426674e+04, -3.124380147394e+04, 9.572168911755e+00]), 4.215985318580e+04, TOL));
assert(isequalRel(mag([4.015905128805e+04, -1.284539151157e+04, 1.296086315922e+01]), 4.216341603127e+04, TOL));
assert(isequalRel(mag([9.372654224940e-01, 2.928448287383e+00, 2.455046084950e-04]), 3.074780627028e+00, TOL));
assert(isequalRel(mag([-4.110882033565e+01, 2.288536720815e+00, 1.296432462696e+05]), 1.296432528074e+05, TOL));
assert(isequalRel(mag([-2.288536720815e+00, -4.110882033565e+01, 0.000000000000e+00]), 4.117247271796e+01, TOL));
assert(isequalRel(mag([4.441841603626e-06, -1.846885140342e-04, 4.668699158181e-09]), 1.847419205128e-04, TOL));
assert(isequalRel(mag([-2.288536720815e+00, -4.110882033565e+01, 0.000000000000e+00]), 4.117247271796e+01, TOL));
assert(isequalRel(mag([4.441841603626e-06, -1.846885140342e-04, 4.668699158181e-09]), 1.847419205128e-04, TOL));
assert(isequalRel(mag([4.441841603626e-06, -1.846885140342e-04, 4.668699158181e-09]), 1.847419205128e-04, TOL));
assert(isequalRel(mag([4.015905128805e+04, -1.284539151157e+04, 1.296086315922e+01]), 4.216341603127e+04, TOL));
assert(isequalRel(mag([4.119255903455e+04, 9.013796067591e+03, 1.290495665506e+01]), 4.216723379475e+04, TOL));
assert(isequalRel(mag([-6.567274424695e-01, 3.003543457926e+00, -2.574794670483e-04]), 3.074502285515e+00, TOL));
assert(isequalRel(mag([-4.108146554368e+01, 2.131198967315e+00, 1.296432484419e+05]), 1.296432549683e+05, TOL));
assert(isequalRel(mag([-2.131198967315e+00, -4.108146554368e+01, 0.000000000000e+00]), 4.113670891375e+01, TOL));
assert(isequalRel(mag([5.372800570193e-06, -1.649583363418e-04, 4.414279682415e-09]), 1.650458110166e-04, TOL));
assert(isequalRel(mag([-2.131198967315e+00, -4.108146554368e+01, 0.000000000000e+00]), 4.113670891375e+01, TOL));
assert(isequalRel(mag([5.372800570193e-06, -1.649583363418e-04, 4.414279682415e-09]), 1.650458110166e-04, TOL));
assert(isequalRel(mag([5.372800570193e-06, -1.649583363418e-04, 4.414279682415e-09]), 1.650458110166e-04, TOL));
assert(isequalRel(mag([4.119255903455e+04, 9.013796067591e+03, 1.290495665506e+01]), 4.216723379475e+04, TOL));
assert(isequalRel(mag([3.113169755798e+04, 2.844555681731e+04, 9.424192384593e+00]), 4.217027844708e+04, TOL));
assert(isequalRel(mag([-2.073484841753e+00, 2.269770850704e+00, -6.912330785485e-04]), 3.074280335540e+00, TOL));
assert(isequalRel(mag([-4.105326697583e+01, 1.978339088231e+00, 1.296432505260e+05]), 1.296432570411e+05, TOL));
assert(isequalRel(mag([-1.978339088231e+00, -4.105326697583e+01, 0.000000000000e+00]), 4.110090698436e+01, TOL));
assert(isequalRel(mag([-3.708912108276e-06, -1.474191797090e-04, 1.075120887797e-09]), 1.474658285037e-04, TOL));
assert(isequalRel(mag([-1.978339088231e+00, -4.105326697583e+01, 0.000000000000e+00]), 4.110090698436e+01, TOL));
assert(isequalRel(mag([-3.708912108276e-06, -1.474191797090e-04, 1.075120887797e-09]), 1.474658285037e-04, TOL));
assert(isequalRel(mag([-3.708912108276e-06, -1.474191797090e-04, 1.075120887797e-09]), 1.474658285037e-04, TOL));
assert(isequalRel(mag([3.113169755798e+04, 2.844555681731e+04, 9.424192384593e+00]), 4.217027844708e+04, TOL));
assert(isequalRel(mag([1.268781846530e+04, 4.021783324639e+04, 3.447262490826e+00]), 4.217173058254e+04, TOL));
assert(isequalRel(mag([-2.931721827058e+00, 9.249622300916e-01, -9.407662752301e-04]), 3.074174504381e+00, TOL));
assert(isequalRel(mag([-4.102416878226e+01, 1.829857030444e+00, 1.296432524281e+05]), 1.296432589318e+05, TOL));
assert(isequalRel(mag([-1.829857030444e+00, -4.102416878226e+01, 0.000000000000e+00]), 4.106495831031e+01, TOL));
assert(isequalRel(mag([-2.035626334012e-05, -1.367929071469e-04, -4.510742435347e-09]), 1.382992296552e-04, TOL));
assert(isequalRel(mag([-1.829857030444e+00, -4.102416878226e+01, 0.000000000000e+00]), 4.106495831031e+01, TOL));
assert(isequalRel(mag([-2.035626334012e-05, -1.367929071469e-04, -4.510742435347e-09]), 1.382992296552e-04, TOL));
assert(isequalRel(mag([-2.035626334012e-05, -1.367929071469e-04, -4.510742435347e-09]), 1.382992296552e-04, TOL));
assert(isequalRel(mag([1.268781846530e+04, 4.021783324639e+04, 3.447262490826e+00]), 4.217173058254e+04, TOL));
assert(isequalRel(mag([-9.172235002451e+03, 4.116163475527e+04, -3.435757567745e+00]), 4.217119968024e+04, TOL));
assert(isequalRel(mag([-3.000571486290e+00, -6.688475083905e-01, -9.401010291814e-04]), 3.074213251810e+00, TOL));
assert(isequalRel(mag([-4.099409308484e+01, 1.686408625880e+00, 1.296432541035e+05]), 1.296432605958e+05, TOL));
assert(isequalRel(mag([-1.686408625880e+00, -4.099409308484e+01, 0.000000000000e+00]), 4.102876602948e+01, TOL));
assert(isequalRel(mag([-4.008671248222e-05, -1.359394752298e-04, -1.090738526362e-08]), 1.417267990267e-04, TOL));
assert(isequalRel(mag([-1.686408625880e+00, -4.099409308484e+01, 0.000000000000e+00]), 4.102876602948e+01, TOL));
assert(isequalRel(mag([-4.008671248222e-05, -1.359394752298e-04, -1.090738526362e-08]), 1.417267990267e-04, TOL));
assert(isequalRel(mag([-4.008671248222e-05, -1.359394752298e-04, -1.090738526362e-08]), 1.417267990267e-04, TOL));
assert(isequalRel(mag([-9.172235002451e+03, 4.116163475527e+04, -3.435757567745e+00]), 4.217119968024e+04, TOL));
assert(isequalRel(mag([-2.856251093192e+04, 3.102245987587e+04, -9.395621609154e+00]), 4.216882895888e+04, TOL));
assert(isequalRel(mag([-2.261449201877e+00, -2.082713896673e+00, -6.896686839856e-04]), 3.074386140957e+00, TOL));
assert(isequalRel(mag([-4.096361076985e+01, 1.549051663416e+00, 1.296432555683e+05]), 1.296432620492e+05, TOL));
assert(isequalRel(mag([-1.549051663416e+00, -4.096361076985e+01, 0.000000000000e+00]), 4.099288924142e+01, TOL));
assert(isequalRel(mag([-5.758825132026e-05, -1.450885790434e-04, -1.646266130801e-08]), 1.560996564057e-04, TOL));
assert(isequalRel(mag([-1.549051663416e+00, -4.096361076985e+01, 0.000000000000e+00]), 4.099288924142e+01, TOL));
assert(isequalRel(mag([-5.758825132026e-05, -1.450885790434e-04, -1.646266130801e-08]), 1.560996564057e-04, TOL));
assert(isequalRel(mag([-5.758825132026e-05, -1.450885790434e-04, -1.646266130801e-08]), 1.560996564057e-04, TOL));
assert(isequalRel(mag([-2.856251093192e+04, 3.102245987587e+04, -9.395621609154e+00]), 4.216882895888e+04, TOL));
assert(isequalRel(mag([-4.026077504549e+04, 1.252911484344e+04, -1.284915105397e+01]), 4.216525691994e+04, TOL));
assert(isequalRel(mag([-9.130970307116e-01, -2.935933528373e+00, -2.561807220466e-04]), 3.074646635981e+00, TOL));
assert(isequalRel(mag([-4.093397107767e+01, 1.418487253232e+00, 1.296432568953e+05]), 1.296432633654e+05, TOL));
assert(isequalRel(mag([-1.418487253232e+00, -4.093397107767e+01, 0.000000000000e+00]), 4.095854116391e+01, TOL));
assert(isequalRel(mag([-6.814783795616e-05, -1.617775363503e-04, -1.974713005550e-08]), 1.755451493936e-04, TOL));
assert(isequalRel(mag([-1.418487253232e+00, -4.093397107767e+01, 0.000000000000e+00]), 4.095854116391e+01, TOL));
assert(isequalRel(mag([-6.814783795616e-05, -1.617775363503e-04, -1.974713005550e-08]), 1.755451493936e-04, TOL));
assert(isequalRel(mag([-6.814783795616e-05, -1.617775363503e-04, -1.974713005550e-08]), 1.755451493936e-04, TOL));
assert(isequalRel(mag([-4.026077504549e+04, 1.252911484344e+04, -1.284915105397e+01]), 4.216525691994e+04, TOL));
assert(isequalRel(mag([-4.111414376538e+04, -9.338871944829e+03, -1.287952403555e+01]), 4.216144580828e+04, TOL));
assert(isequalRel(mag([6.815888153116e-01, -2.998432564535e+00, 2.450055230930e-04]), 3.074924587246e+00, TOL));
assert(isequalRel(mag([-4.090645948984e+01, 1.294652770591e+00, 1.296432581943e+05]), 1.296432646544e+05, TOL));
assert(isequalRel(mag([-1.294652770591e+00, -4.090645948984e+01, 0.000000000000e+00]), 4.092694166182e+01, TOL));
assert(isequalRel(mag([-6.891994792169e-05, -1.815123865495e-04, -1.993374418039e-08]), 1.941563959538e-04, TOL));
assert(isequalRel(mag([-1.294652770591e+00, -4.090645948984e+01, 0.000000000000e+00]), 4.092694166182e+01, TOL));
assert(isequalRel(mag([-6.891994792169e-05, -1.815123865495e-04, -1.993374418039e-08]), 1.941563959538e-04, TOL));
assert(isequalRel(mag([-6.891994792169e-05, -1.815123865495e-04, -1.993374418039e-08]), 1.941563959538e-04, TOL));
assert(isequalRel(mag([-4.111414376538e+04, -9.338871944829e+03, -1.287952403555e+01]), 4.216144580828e+04, TOL));
assert(isequalRel(mag([-3.089001512240e+04, -2.869040750792e+04, -9.480372120172e+00]), 4.215842273034e+04, TOL));
assert(isequalRel(mag([2.092989804846e+00, -2.252978151538e+00, 6.804591920790e-04]), 3.075145092109e+00, TOL));
assert(isequalRel(mag([-4.088172276846e+01, 1.177072539837e+00, 1.296432595824e+05]), 1.296432660336e+05, TOL));
assert(isequalRel(mag([-1.177072539837e+00, -4.088172276846e+01, 0.000000000000e+00]), 4.089866448041e+01, TOL));
assert(isequalRel(mag([-5.969457300968e-05, -1.989764167781e-04, -1.701752420762e-08]), 2.077379521664e-04, TOL));
assert(isequalRel(mag([-1.177072539837e+00, -4.088172276846e+01, 0.000000000000e+00]), 4.089866448041e+01, TOL));
assert(isequalRel(mag([-5.969457300968e-05, -1.989764167781e-04, -1.701752420762e-08]), 2.077379521664e-04, TOL));
assert(isequalRel(mag([-5.969457300968e-05, -1.989764167781e-04, -1.701752420762e-08]), 2.077379521664e-04, TOL));
assert(isequalRel(mag([-3.089001512240e+04, -2.869040750792e+04, -9.480372120172e+00]), 4.215842273034e+04, TOL));
assert(isequalRel(mag([-1.234146194020e+04, -4.031006316386e+04, -3.558332010069e+00]), 4.215700283176e+04, TOL));
assert(isequalRel(mag([2.940537098402e+00, -9.002195229492e-01, 9.341700563986e-04]), 3.075248687383e+00, TOL));
assert(isequalRel(mag([-4.085973392381e+01, 1.065616912682e+00, 1.296432611526e+05]), 1.296432675958e+05, TOL));
assert(isequalRel(mag([-1.065616912682e+00, -4.085973392381e+01, 0.000000000000e+00]), 4.087362714183e+01, TOL));
assert(isequalRel(mag([-4.295631652804e-05, -2.094626320952e-04, -1.181686365128e-08]), 2.138219808942e-04, TOL));
assert(isequalRel(mag([-1.065616912682e+00, -4.085973392381e+01, 0.000000000000e+00]), 4.087362714183e+01, TOL));
assert(isequalRel(mag([-4.295631652804e-05, -2.094626320952e-04, -1.181686365128e-08]), 2.138219808942e-04, TOL));
assert(isequalRel(mag([-4.295631652804e-05, -2.094626320952e-04, -1.181686365128e-08]), 2.138219808942e-04, TOL));
assert(isequalRel(mag([-1.234146194020e+04, -4.031006316386e+04, -3.558332010069e+00]), 4.215700283176e+04, TOL));
assert(isequalRel(mag([9.533277508184e+03, -4.106552390214e+04, 3.307564821074e+00]), 4.215756924142e+04, TOL));
assert(isequalRel(mag([2.995596171266e+00, 6.952002362639e-01, 9.385247868216e-04]), 3.075207419124e+00, TOL));
assert(isequalRel(mag([-4.084043191104e+01, 9.609112731452e-01, 1.296432629483e+05]), 1.296432693847e+05, TOL));
assert(isequalRel(mag([-9.609112731452e-01, -4.084043191104e+01, 0.000000000000e+00]), 4.085173471414e+01, TOL));
assert(isequalRel(mag([-2.321612736992e-05, -2.101440505140e-04, -5.756002008862e-09]), 2.114225876523e-04, TOL));
assert(isequalRel(mag([-9.609112731452e-01, -4.084043191104e+01, 0.000000000000e+00]), 4.085173471414e+01, TOL));
assert(isequalRel(mag([-2.321612736992e-05, -2.101440505140e-04, -5.756002008862e-09]), 2.114225876523e-04, TOL));
assert(isequalRel(mag([-2.321612736992e-05, -2.101440505140e-04, -5.756002008862e-09]), 2.114225876523e-04, TOL));
assert(isequalRel(mag([9.533277508184e+03, -4.106552390214e+04, 3.307564821074e+00]), 4.215756924142e+04, TOL));
# 26900
assert(isequalRel(mag([4.096868133298e+04, -9.905991560862e+03, 1.184946837135e+01]), 4.214927827824e+04, TOL));
assert(isequalRel(mag([7.227568481246e-01, 2.989645389045e+00, -1.612610692444e-04]), 3.075769341117e+00, TOL));
assert(isequalRel(mag([-3.382825768800e+01, 1.517093776932e+01, 1.296414524805e+05]), 1.296414577817e+05, TOL));
assert(isequalRel(mag([-1.517093776932e+01, -3.382825768800e+01, 0.000000000000e+00]), 3.707436271882e+01, TOL));
assert(isequalRel(mag([3.670056705520e-04, -4.897517205061e-05, 1.014965617251e-07]), 3.702590174409e-04, TOL));
assert(isequalRel(mag([-1.517093776932e+01, -3.382825768800e+01, 0.000000000000e+00]), 3.707436271882e+01, TOL));
assert(isequalRel(mag([3.670056705520e-04, -4.897517205061e-05, 1.014965617251e-07]), 3.702590174409e-04, TOL));
assert(isequalRel(mag([3.670056705520e-04, -4.897517205061e-05, 1.014965617251e-07]), 3.702590174409e-04, TOL));
assert(isequalRel(mag([4.096868133298e+04, -9.905991560862e+03, 1.184946837135e+01]), 4.214927827824e+04, TOL));
assert(isequalRel(mag([4.213566858481e+04, 1.072991956181e+03, 1.083481752324e+01]), 4.214932972445e+04, TOL));
assert(isequalRel(mag([-7.815060209714e-02, 3.074772455410e+00, -3.800629733523e-04]), 3.075765484169e+00, TOL));
assert(isequalRel(mag([-3.372240299309e+01, 1.516745997348e+01, 1.296414481223e+05]), 1.296414533955e+05, TOL));
assert(isequalRel(mag([-1.516745997348e+01, -3.372240299309e+01, 0.000000000000e+00]), 3.697637496667e+01, TOL));
assert(isequalRel(mag([3.680609518494e-04, -3.905669085788e-05, 1.003096673782e-07]), 3.701274097376e-04, TOL));
assert(isequalRel(mag([-1.516745997348e+01, -3.372240299309e+01, 0.000000000000e+00]), 3.697637496667e+01, TOL));
assert(isequalRel(mag([3.680609518494e-04, -3.905669085788e-05, 1.003096673782e-07]), 3.701274097376e-04, TOL));
assert(isequalRel(mag([3.680609518494e-04, -3.905669085788e-05, 1.003096673782e-07]), 3.701274097376e-04, TOL));
assert(isequalRel(mag([4.213566858481e+04, 1.072991956181e+03, 1.083481752324e+01]), 4.214932972445e+04, TOL));
assert(isequalRel(mag([4.130475156132e+04, 8.398277429438e+03, 9.740062137489e+00]), 4.214989513858e+04, TOL));
assert(isequalRel(mag([-6.125151346766e-01, 3.014117469306e+00, -5.115749080507e-04]), 3.075724170125e+00, TOL));
assert(isequalRel(mag([-3.365403944448e+01, 1.516453901014e+01, 1.296414452771e+05]), 1.296414505322e+05, TOL));
assert(isequalRel(mag([-1.516453901014e+01, -3.365403944448e+01, 0.000000000000e+00]), 3.691283806917e+01, TOL));
assert(isequalRel(mag([3.673122551547e-04, -3.243894017586e-05, 9.914624655479e-08]), 3.687418981571e-04, TOL));
assert(isequalRel(mag([-1.516453901014e+01, -3.365403944448e+01, 0.000000000000e+00]), 3.691283806917e+01, TOL));
assert(isequalRel(mag([3.673122551547e-04, -3.243894017586e-05, 9.914624655479e-08]), 3.687418981571e-04, TOL));
assert(isequalRel(mag([3.673122551547e-04, -3.243894017586e-05, 9.914624655479e-08]), 3.687418981571e-04, TOL));
assert(isequalRel(mag([4.130475156132e+04, 8.398277429438e+03, 9.740062137489e+00]), 4.214989513858e+04, TOL));
# 26975
assert(isequalRel(mag([7.309621979505e+03, 6.076007136636e+03, 6.800087052633e+03]), 1.168715620376e+04, TOL));
assert(isequalRel(mag([1.300543382827e+00, 5.322579614806e+00, -4.788746312453e+00]), 7.276905804777e+00, TOL));
assert(isequalRel(mag([-6.529046149525e+04, 4.384773351873e+04, 3.100393406449e+04]), 8.453822818387e+04, TOL));
assert(isequalRel(mag([-4.384773351873e+04, -6.529046149525e+04, 0.000000000000e+00]), 7.864774692890e+04, TOL));
assert(isequalRel(mag([3.153425517615e-01, 1.633467427754e-01, 4.330571809792e-01]), 5.600550020529e-01, TOL));
assert(isequalRel(mag([-4.384773351873e+04, -6.529046149525e+04, 0.000000000000e+00]), 7.864774692890e+04, TOL));
assert(isequalRel(mag([3.153425517615e-01, 1.633467427754e-01, 4.330571809792e-01]), 5.600550020529e-01, TOL));
assert(isequalRel(mag([3.153425517615e-01, 1.633467427754e-01, 4.330571809792e-01]), 5.600550020529e-01, TOL));
assert(isequalRel(mag([7.309621979505e+03, 6.076007136636e+03, 6.800087052633e+03]), 1.168715620376e+04, TOL));
assert(isequalRel(mag([-3.882629337907e+03, 1.196000543452e+04, -2.508814383845e+04]), 2.806299167638e+04, TOL));
assert(isequalRel(mag([-2.146773699437e+00, -1.372461491451e+00, -2.579382089499e+00]), 3.625672327409e+00, TOL));
assert(isequalRel(mag([-6.528193511837e+04, 4.384378278574e+04, 3.100418436382e+04]), 8.452968584957e+04, TOL));
assert(isequalRel(mag([-4.384378278574e+04, -6.528193511837e+04, 0.000000000000e+00]), 7.863846604405e+04, TOL));
assert(isequalRel(mag([3.153178028815e-01, 1.632431359841e-01, 4.330821800202e-01]), 5.600301892854e-01, TOL));
assert(isequalRel(mag([-4.384378278574e+04, -6.528193511837e+04, 0.000000000000e+00]), 7.863846604405e+04, TOL));
assert(isequalRel(mag([3.153178028815e-01, 1.632431359841e-01, 4.330821800202e-01]), 5.600301892854e-01, TOL));
assert(isequalRel(mag([3.153178028815e-01, 1.632431359841e-01, 4.330821800202e-01]), 5.600301892854e-01, TOL));
assert(isequalRel(mag([-3.882629337907e+03, 1.196000543452e+04, -2.508814383845e+04]), 2.806299167638e+04, TOL));
assert(isequalRel(mag([-1.678545507465e+04, -7.347915970418e+02, -3.430057085853e+04]), 3.819450984074e+04, TOL));
assert(isequalRel(mag([-1.386528124537e+00, -1.907762640718e+00, -2.209496405435e-01]), 2.368720599207e+00, TOL));
assert(isequalRel(mag([-6.527499569994e+04, 4.384996591791e+04, 3.100385488388e+04]), 8.452741325919e+04, TOL));
assert(isequalRel(mag([-4.384996591791e+04, -6.527499569994e+04, 0.000000000000e+00]), 7.863615310167e+04, TOL));
assert(isequalRel(mag([3.153904238560e-01, 1.632676000657e-01, 4.331019453198e-01]), 5.600934955264e-01, TOL));
assert(isequalRel(mag([-4.384996591791e+04, -6.527499569994e+04, 0.000000000000e+00]), 7.863615310167e+04, TOL));
assert(isequalRel(mag([3.153904238560e-01, 1.632676000657e-01, 4.331019453198e-01]), 5.600934955264e-01, TOL));
assert(isequalRel(mag([3.153904238560e-01, 1.632676000657e-01, 4.331019453198e-01]), 5.600934955264e-01, TOL));
assert(isequalRel(mag([-1.678545507465e+04, -7.347915970418e+02, -3.430057085853e+04]), 3.819450984074e+04, TOL));
assert(isequalRel(mag([-2.352416689356e+04, -1.362945124622e+04, -3.024627899200e+04]), 4.066922377144e+04, TOL));
assert(isequalRel(mag([-4.628467838728e-01, -1.586139829514e+00, 1.269293624014e+00]), 2.083548177527e+00, TOL));
assert(isequalRel(mag([-6.527460336945e+04, 4.385846800381e+04, 3.100427039075e+04]), 8.453167360903e+04, TOL));
assert(isequalRel(mag([-4.385846800381e+04, -6.527460336945e+04, 0.000000000000e+00]), 7.864056879678e+04, TOL));
assert(isequalRel(mag([3.153904577097e-01, 1.632720292281e-01, 4.330411841493e-01]), 5.600478225224e-01, TOL));
assert(isequalRel(mag([-4.385846800381e+04, -6.527460336945e+04, 0.000000000000e+00]), 7.864056879678e+04, TOL));
assert(isequalRel(mag([3.153904577097e-01, 1.632720292281e-01, 4.330411841493e-01]), 5.600478225224e-01, TOL));
assert(isequalRel(mag([3.153904577097e-01, 1.632720292281e-01, 4.330411841493e-01]), 5.600478225224e-01, TOL));
assert(isequalRel(mag([-2.352416689356e+04, -1.362945124622e+04, -3.024627899200e+04]), 4.066922377144e+04, TOL));
assert(isequalRel(mag([-2.289023597092e+04, -2.220935900155e+04, -1.676991946116e+04]), 3.603399407224e+04, TOL));
assert(isequalRel(mag([7.043513419348e-01, -6.711125944523e-01, 2.432433851330e+00]), 2.619778114348e+00, TOL));
assert(isequalRel(mag([-6.527730081006e+04, 4.386706956401e+04, 3.100511746633e+04]), 8.453853028224e+04, TOL));
assert(isequalRel(mag([-4.386706956401e+04, -6.527730081006e+04, 0.000000000000e+00]), 7.864760513316e+04, TOL));
assert(isequalRel(mag([3.153415779716e-01, 1.632061220693e-01, 4.330018342185e-01]), 5.599706577269e-01, TOL));
assert(isequalRel(mag([-4.386706956401e+04, -6.527730081006e+04, 0.000000000000e+00]), 7.864760513316e+04, TOL));
assert(isequalRel(mag([3.153415779716e-01, 1.632061220693e-01, 4.330018342185e-01]), 5.599706577269e-01, TOL));
assert(isequalRel(mag([3.153415779716e-01, 1.632061220693e-01, 4.330018342185e-01]), 5.599706577269e-01, TOL));
assert(isequalRel(mag([-2.289023597092e+04, -2.220935900155e+04, -1.676991946116e+04]), 3.603399407224e+04, TOL));
assert(isequalRel(mag([-1.164639698980e+04, -1.985544222106e+04, 3.574001096073e+03]), 2.329486279146e+04, TOL));
assert(isequalRel(mag([2.626712727480e+00, 1.815887328921e+00, 2.960883901054e+00]), 4.354756022967e+00, TOL));
assert(isequalRel(mag([-6.527964252457e+04, 4.387150351948e+04, 3.100599807044e+04]), 8.454296224724e+04, TOL));
assert(isequalRel(mag([-4.387150351948e+04, -6.527964252457e+04, 0.000000000000e+00]), 7.865202190151e+04, TOL));
assert(isequalRel(mag([3.153220078047e-01, 1.631180383875e-01, 4.330734435289e-01]), 5.599893485981e-01, TOL));
assert(isequalRel(mag([-4.387150351948e+04, -6.527964252457e+04, 0.000000000000e+00]), 7.865202190151e+04, TOL));
assert(isequalRel(mag([3.153220078047e-01, 1.631180383875e-01, 4.330734435289e-01]), 5.599893485981e-01, TOL));
assert(isequalRel(mag([3.153220078047e-01, 1.631180383875e-01, 4.330734435289e-01]), 5.599893485981e-01, TOL));
assert(isequalRel(mag([-1.164639698980e+04, -1.985544222106e+04, 3.574001096073e+03]), 2.329486279146e+04, TOL));
assert(isequalRel(mag([7.665761242415e+03, 1.115978946577e+04, 3.459381311655e+02]), 1.354342901693e+04, TOL));
assert(isequalRel(mag([-5.848180068327e-01, 3.193514161496e+00, -5.750338922301e+00]), 6.603555294091e+00, TOL));
assert(isequalRel(mag([-6.527733005056e+04, 4.387841439297e+04, 3.100716291834e+04]), 8.454519040380e+04, TOL));
assert(isequalRel(mag([-4.387841439297e+04, -6.527733005056e+04, 0.000000000000e+00]), 7.865395774003e+04, TOL));
assert(isequalRel(mag([3.154146228153e-01, 1.632046321556e-01, 4.330697391139e-01]), 5.600638670535e-01, TOL));
assert(isequalRel(mag([-4.387841439297e+04, -6.527733005056e+04, 0.000000000000e+00]), 7.865395774003e+04, TOL));
assert(isequalRel(mag([3.154146228153e-01, 1.632046321556e-01, 4.330697391139e-01]), 5.600638670535e-01, TOL));
assert(isequalRel(mag([3.154146228153e-01, 1.632046321556e-01, 4.330697391139e-01]), 5.600638670535e-01, TOL));
assert(isequalRel(mag([7.665761242415e+03, 1.115978946577e+04, 3.459381311655e+02]), 1.354342901693e+04, TOL));
assert(isequalRel(mag([-6.369353881120e+03, 1.020480073022e+04, -2.784452150384e+04]), 3.033189747748e+04, TOL));
assert(isequalRel(mag([-2.050573276137e+00, -1.582940542431e+00, -2.076075231976e+00]), 3.319734912686e+00, TOL));
assert(isequalRel(mag([-6.526215601630e+04, 4.387397384633e+04, 3.100800015322e+04]), 8.453147734700e+04, TOL));
assert(isequalRel(mag([-4.387397384633e+04, -6.526215601630e+04, 0.000000000000e+00]), 7.863888725665e+04, TOL));
assert(isequalRel(mag([3.153619542187e-01, 1.629928337327e-01, 4.331158948381e-01]), 5.600082181346e-01, TOL));
assert(isequalRel(mag([-4.387397384633e+04, -6.526215601630e+04, 0.000000000000e+00]), 7.863888725665e+04, TOL));
assert(isequalRel(mag([3.153619542187e-01, 1.629928337327e-01, 4.331158948381e-01]), 5.600082181346e-01, TOL));
assert(isequalRel(mag([3.153619542187e-01, 1.629928337327e-01, 4.331158948381e-01]), 5.600082181346e-01, TOL));
assert(isequalRel(mag([-6.369353881120e+03, 1.020480073022e+04, -2.784452150384e+04]), 3.033189747748e+04, TOL));
assert(isequalRel(mag([-1.834564763145e+04, -2.977766844301e+03, -3.439490760612e+04]), 3.909526252156e+04, TOL));
assert(isequalRel(mag([-1.243589864298e+00, -1.892050756677e+00, 6.037206113726e-02]), 2.264953995602e+00, TOL));
assert(isequalRel(mag([-6.525668488399e+04, 4.388072304285e+04, 3.100777581700e+04]), 8.453067453847e+04, TOL));
assert(isequalRel(mag([-4.388072304285e+04, -6.525668488399e+04, 0.000000000000e+00]), 7.863811274955e+04, TOL));
assert(isequalRel(mag([3.154231253952e-01, 1.630240401941e-01, 4.331124818888e-01]), 5.600491118493e-01, TOL));
assert(isequalRel(mag([-4.388072304285e+04, -6.525668488399e+04, 0.000000000000e+00]), 7.863811274955e+04, TOL));
assert(isequalRel(mag([3.154231253952e-01, 1.630240401941e-01, 4.331124818888e-01]), 5.600491118493e-01, TOL));
assert(isequalRel(mag([3.154231253952e-01, 1.630240401941e-01, 4.331124818888e-01]), 5.600491118493e-01, TOL));
assert(isequalRel(mag([-1.834564763145e+04, -2.977766844301e+03, -3.439490760612e+04]), 3.909526252156e+04, TOL));
assert(isequalRel(mag([-2.397974839255e+04, -1.543644139571e+04, -2.861650540218e+04]), 4.040069847622e+04, TOL));
assert(isequalRel(mag([-2.949734249687e-01, -1.482987916391e+00, 1.478255628364e+00]), 2.114592675762e+00, TOL));
assert(isequalRel(mag([-6.525693809588e+04, 4.388930663716e+04, 3.100833711642e+04]), 8.453553204106e+04, TOL));
assert(isequalRel(mag([-4.388930663716e+04, -6.525693809588e+04, 0.000000000000e+00]), 7.864311290087e+04, TOL));
assert(isequalRel(mag([3.154131929812e-01, 1.630175371299e-01, 4.330503917140e-01]), 5.599936084298e-01, TOL));
assert(isequalRel(mag([-4.388930663716e+04, -6.525693809588e+04, 0.000000000000e+00]), 7.864311290087e+04, TOL));
assert(isequalRel(mag([3.154131929812e-01, 1.630175371299e-01, 4.330503917140e-01]), 5.599936084298e-01, TOL));
assert(isequalRel(mag([3.154131929812e-01, 1.630175371299e-01, 4.330503917140e-01]), 5.599936084298e-01, TOL));
assert(isequalRel(mag([-2.397974839255e+04, -1.543644139571e+04, -2.861650540218e+04]), 4.040069847622e+04, TOL));
assert(isequalRel(mag([-2.192197167880e+04, -2.285245147658e+04, -1.378485308485e+04]), 3.453736462654e+04, TOL));
assert(isequalRel(mag([9.454556285702e-01, -4.289409948304e-01, 2.596964377926e+00]), 2.796801870505e+00, TOL));
assert(isequalRel(mag([-6.525989102877e+04, 4.389761260567e+04, 3.100921121571e+04]), 8.454244466412e+04, TOL));
assert(isequalRel(mag([-4.389761260567e+04, -6.525989102877e+04, 0.000000000000e+00]), 7.865019878910e+04, TOL));
assert(isequalRel(mag([3.153604403007e-01, 1.629396532666e-01, 4.330237908407e-01]), 5.599206562963e-01, TOL));
assert(isequalRel(mag([-4.389761260567e+04, -6.525989102877e+04, 0.000000000000e+00]), 7.865019878910e+04, TOL));
assert(isequalRel(mag([3.153604403007e-01, 1.629396532666e-01, 4.330237908407e-01]), 5.599206562963e-01, TOL));
assert(isequalRel(mag([3.153604403007e-01, 1.629396532666e-01, 4.330237908407e-01]), 5.599206562963e-01, TOL));
assert(isequalRel(mag([-2.192197167880e+04, -2.285245147658e+04, -1.378485308485e+04]), 3.453736462654e+04, TOL));
assert(isequalRel(mag([-8.266438210307e+03, -1.721074590112e+04, 6.967955460702e+03]), 2.032476761147e+04, TOL));
assert(isequalRel(mag([3.082244068744e+00, 2.665881871564e+00, 2.712555075271e+00]), 4.895417212948e+00, TOL));
assert(isequalRel(mag([-6.526084228784e+04, 4.390010831181e+04, 3.101037170514e+04]), 8.454490049197e+04, TOL));
assert(isequalRel(mag([-4.390010831181e+04, -6.526084228784e+04, 0.000000000000e+00]), 7.865238105682e+04, TOL));
assert(isequalRel(mag([3.153691745497e-01, 1.628810248926e-01, 4.331055253293e-01]), 5.599717319624e-01, TOL));
assert(isequalRel(mag([-4.390010831181e+04, -6.526084228784e+04, 0.000000000000e+00]), 7.865238105682e+04, TOL));
assert(isequalRel(mag([3.153691745497e-01, 1.628810248926e-01, 4.331055253293e-01]), 5.599717319624e-01, TOL));
assert(isequalRel(mag([3.153691745497e-01, 1.628810248926e-01, 4.331055253293e-01]), 5.599717319624e-01, TOL));
assert(isequalRel(mag([-8.266438210307e+03, -1.721074590112e+04, 6.967955460702e+03]), 2.032476761147e+04, TOL));
assert(isequalRel(mag([6.286854645346e+03, 1.380956328971e+04, -6.321606637811e+03]), 1.643749646593e+04, TOL));
assert(isequalRel(mag([-1.615964016220e+00, 1.383135376814e+00, -5.358719131848e+00]), 5.765437876375e+00, TOL));
assert(isequalRel(mag([-6.525793322398e+04, 4.390497711856e+04, 3.101132842475e+04]), 8.454553421154e+04, TOL));
assert(isequalRel(mag([-4.390497711856e+04, -6.525793322398e+04, 0.000000000000e+00]), 7.865268504283e+04, TOL));
assert(isequalRel(mag([3.153896781530e-01, 1.629141429051e-01, 4.330332662946e-01]), 5.599370292825e-01, TOL));
assert(isequalRel(mag([-4.390497711856e+04, -6.525793322398e+04, 0.000000000000e+00]), 7.865268504283e+04, TOL));
assert(isequalRel(mag([3.153896781530e-01, 1.629141429051e-01, 4.330332662946e-01]), 5.599370292825e-01, TOL));
assert(isequalRel(mag([3.153896781530e-01, 1.629141429051e-01, 4.330332662946e-01]), 5.599370292825e-01, TOL));
assert(isequalRel(mag([6.286854645346e+03, 1.380956328971e+04, -6.321606637811e+03]), 1.643749646593e+04, TOL));
assert(isequalRel(mag([-8.730875267877e+03, 8.244633443645e+03, -3.003992372791e+04]), 3.235118515823e+04, TOL));
assert(isequalRel(mag([-1.935622870559e+00, -1.724162071956e+00, -1.631224737529e+00]), 3.062721811025e+00, TOL));
assert(isequalRel(mag([-6.524254716124e+04, 4.390394368036e+04, 3.101194504475e+04]), 8.453334824928e+04, TOL));
assert(isequalRel(mag([-4.390394368036e+04, -6.524254716124e+04, 0.000000000000e+00]), 7.863934276668e+04, TOL));
assert(isequalRel(mag([3.154063130603e-01, 1.627448740866e-01, 4.331482417257e-01]), 5.599861031042e-01, TOL));
assert(isequalRel(mag([-4.390394368036e+04, -6.524254716124e+04, 0.000000000000e+00]), 7.863934276668e+04, TOL));
assert(isequalRel(mag([3.154063130603e-01, 1.627448740866e-01, 4.331482417257e-01]), 5.599861031042e-01, TOL));
assert(isequalRel(mag([3.154063130603e-01, 1.627448740866e-01, 4.331482417257e-01]), 5.599861031042e-01, TOL));
assert(isequalRel(mag([-8.730875267877e+03, 8.244633443645e+03, -3.003992372791e+04]), 3.235118515823e+04, TOL));
assert(isequalRel(mag([-1.973581883249e+04, -5.191765930066e+03, -3.416614974143e+04]), 3.979676829361e+04, TOL));
assert(isequalRel(mag([-1.097835529690e+00, -1.860148418240e+00, 3.244010498337e-01]), 2.184177426232e+00, TOL));
assert(isequalRel(mag([-6.523832371706e+04, 4.391113344742e+04, 3.101184708406e+04]), 8.453378721916e+04, TOL));
assert(isequalRel(mag([-4.391113344742e+04, -6.523832371706e+04, 0.000000000000e+00]), 7.863985326823e+04, TOL));
assert(isequalRel(mag([3.154550615913e-01, 1.627763724514e-01, 4.331268749350e-01]), 5.600061902363e-01, TOL));
assert(isequalRel(mag([-4.391113344742e+04, -6.523832371706e+04, 0.000000000000e+00]), 7.863985326823e+04, TOL));
assert(isequalRel(mag([3.154550615913e-01, 1.627763724514e-01, 4.331268749350e-01]), 5.600061902363e-01, TOL));
assert(isequalRel(mag([3.154550615913e-01, 1.627763724514e-01, 4.331268749350e-01]), 5.600061902363e-01, TOL));
assert(isequalRel(mag([-1.973581883249e+04, -5.191765930066e+03, -3.416614974143e+04]), 3.979676829361e+04, TOL));
assert(isequalRel(mag([-2.423273847703e+04, -1.711208243255e+04, -2.674288893252e+04]), 3.994034411134e+04, TOL));
assert(isequalRel(mag([-1.197861835825e-01, -1.364365316968e+00, 1.680220467576e+00]), 2.167713603680e+00, TOL));
assert(isequalRel(mag([-6.523914128107e+04, 4.391977177771e+04, 3.101251686547e+04]), 8.453915134675e+04, TOL));
assert(isequalRel(mag([-4.391977177771e+04, -6.523914128107e+04, 0.000000000000e+00]), 7.864535528623e+04, TOL));
assert(isequalRel(mag([3.154358884098e-01, 1.627582667632e-01, 4.330658042420e-01]), 5.599428934279e-01, TOL));
assert(isequalRel(mag([-4.391977177771e+04, -6.523914128107e+04, 0.000000000000e+00]), 7.864535528623e+04, TOL));
assert(isequalRel(mag([3.154358884098e-01, 1.627582667632e-01, 4.330658042420e-01]), 5.599428934279e-01, TOL));
assert(isequalRel(mag([3.154358884098e-01, 1.627582667632e-01, 4.330658042420e-01]), 5.599428934279e-01, TOL));
assert(isequalRel(mag([-2.423273847703e+04, -1.711208243255e+04, -2.674288893252e+04]), 3.994034411134e+04, TOL));
assert(isequalRel(mag([-2.065445640708e+04, -2.318454386047e+04, -1.061155144716e+04]), 3.281363539149e+04, TOL));
assert(isequalRel(mag([1.209238112654e+00, -1.441696392120e-01, 2.748054938128e+00]), 3.005802328985e+00, TOL));
assert(isequalRel(mag([-6.524226378761e+04, 4.392768847952e+04, 3.101337958891e+04]), 8.454599051884e+04, TOL));
assert(isequalRel(mag([-4.392768847952e+04, -6.524226378761e+04, 0.000000000000e+00]), 7.865236677485e+04, TOL));
assert(isequalRel(mag([3.153812602799e-01, 1.626694232047e-01, 4.330548881545e-01]), 5.598778587657e-01, TOL));
assert(isequalRel(mag([-4.392768847952e+04, -6.524226378761e+04, 0.000000000000e+00]), 7.865236677485e+04, TOL));
assert(isequalRel(mag([3.153812602799e-01, 1.626694232047e-01, 4.330548881545e-01]), 5.598778587657e-01, TOL));
assert(isequalRel(mag([3.153812602799e-01, 1.626694232047e-01, 4.330548881545e-01]), 5.598778587657e-01, TOL));
assert(isequalRel(mag([-2.065445640708e+04, -2.318454386047e+04, -1.061155144716e+04]), 3.281363539149e+04, TOL));
assert(isequalRel(mag([-4.337159889566e+03, -1.341046817244e+04, 9.870459492155e+03]), 1.720690509935e+04, TOL));
assert(isequalRel(mag([3.532753094539e+00, 3.772236461389e+00, 2.088424246740e+00]), 5.574193052091e+00, TOL));
assert(isequalRel(mag([-6.524045407843e+04, 4.392772619079e+04, 3.101508026112e+04]), 8.454523747827e+04, TOL));
assert(isequalRel(mag([-4.392772619079e+04, -6.524045407843e+04, 0.000000000000e+00]), 7.865088668701e+04, TOL));
assert(isequalRel(mag([3.154221877375e-01, 1.626617994821e-01, 4.331094310240e-01]), 5.599408868531e-01, TOL));
assert(isequalRel(mag([-4.392772619079e+04, -6.524045407843e+04, 0.000000000000e+00]), 7.865088668701e+04, TOL));
assert(isequalRel(mag([3.154221877375e-01, 1.626617994821e-01, 4.331094310240e-01]), 5.599408868531e-01, TOL));
assert(isequalRel(mag([3.154221877375e-01, 1.626617994821e-01, 4.331094310240e-01]), 5.599408868531e-01, TOL));
assert(isequalRel(mag([-4.337159889566e+03, -1.341046817244e+04, 9.870459492155e+03]), 1.720690509935e+04, TOL));
assert(isequalRel(mag([4.074622635232e+03, 1.469807548285e+04, -1.224865327973e+04]), 1.956183732900e+04, TOL));
assert(isequalRel(mag([-2.053824693038e+00, 2.033258168449e-01, -4.607867718000e+00]), 5.048958522716e+00, TOL));
assert(isequalRel(mag([-6.523632010079e+04, 4.393190866628e+04, 3.101574634245e+04]), 8.454446510880e+04, TOL));
assert(isequalRel(mag([-4.393190866628e+04, -6.523632010079e+04, 0.000000000000e+00]), 7.864979376549e+04, TOL));
assert(isequalRel(mag([3.153846377886e-01, 1.625861426557e-01, 4.330643366694e-01]), 5.598628789548e-01, TOL));
assert(isequalRel(mag([-4.393190866628e+04, -6.523632010079e+04, 0.000000000000e+00]), 7.864979376549e+04, TOL));
assert(isequalRel(mag([3.153846377886e-01, 1.625861426557e-01, 4.330643366694e-01]), 5.598628789548e-01, TOL));
assert(isequalRel(mag([3.153846377886e-01, 1.625861426557e-01, 4.330643366694e-01]), 5.598628789548e-01, TOL));
assert(isequalRel(mag([4.074622635232e+03, 1.469807548285e+04, -1.224865327973e+04]), 1.956183732900e+04, TOL));
assert(isequalRel(mag([-1.095023438984e+04, 6.148668794467e+03, -3.173665532865e+04]), 3.413105700950e+04, TOL));
assert(isequalRel(mag([-1.809875605115e+00, -1.816179061757e+00, -1.233364913036e+00]), 2.845231993891e+00, TOL));
assert(isequalRel(mag([-6.522300125106e+04, 4.393376338133e+04, 3.101591207520e+04]), 8.453521312979e+04, TOL));
assert(isequalRel(mag([-4.393376338133e+04, -6.522300125106e+04, 0.000000000000e+00]), 7.863978291579e+04, TOL));
assert(isequalRel(mag([3.154500036638e-01, 1.624968459823e-01, 4.331808127854e-01]), 5.599638794879e-01, TOL));
assert(isequalRel(mag([-4.393376338133e+04, -6.522300125106e+04, 0.000000000000e+00]), 7.863978291579e+04, TOL));
assert(isequalRel(mag([3.154500036638e-01, 1.624968459823e-01, 4.331808127854e-01]), 5.599638794879e-01, TOL));
assert(isequalRel(mag([3.154500036638e-01, 1.624968459823e-01, 4.331808127854e-01]), 5.599638794879e-01, TOL));
assert(isequalRel(mag([-1.095023438984e+04, 6.148668794467e+03, -3.173665532865e+04]), 3.413105700950e+04, TOL));
assert(isequalRel(mag([-2.095240702045e+04, -7.358715078949e+03, -3.363306643074e+04]), 4.030306694407e+04, TOL));
assert(isequalRel(mag([-9.489730308932e-01, -1.813594137221e+00, 5.738930782394e-01]), 2.125800266529e+00, TOL));
assert(isequalRel(mag([-6.521984774410e+04, 4.394131435051e+04, 3.101594038099e+04]), 8.453671512621e+04, TOL));
assert(isequalRel(mag([-4.394131435051e+04, -6.521984774410e+04, 0.000000000000e+00]), 7.864138634722e+04, TOL));
assert(isequalRel(mag([3.154862993383e-01, 1.625244853986e-01, 4.331459481999e-01]), 5.599653791676e-01, TOL));
assert(isequalRel(mag([-4.394131435051e+04, -6.521984774410e+04, 0.000000000000e+00]), 7.864138634722e+04, TOL));
assert(isequalRel(mag([3.154862993383e-01, 1.625244853986e-01, 4.331459481999e-01]), 5.599653791676e-01, TOL));
assert(isequalRel(mag([3.154862993383e-01, 1.625244853986e-01, 4.331459481999e-01]), 5.599653791676e-01, TOL));
assert(isequalRel(mag([-2.095240702045e+04, -7.358715078949e+03, -3.363306643074e+04]), 4.030306694407e+04, TOL));
assert(isequalRel(mag([-2.427348944134e+04, -1.863715546906e+04, -2.463327702390e+04]), 3.928541956722e+04, TOL));
assert(isequalRel(mag([6.416143974375e-02, -1.228537559549e+00, 1.875728934609e+00]), 2.243163003819e+00, TOL));
assert(isequalRel(mag([-6.522115781076e+04, 4.394997996958e+04, 3.101668020762e+04]), 8.454250183549e+04, TOL));
assert(isequalRel(mag([-4.394997996958e+04, -6.522115781076e+04, 0.000000000000e+00]), 7.864731505591e+04, TOL));
assert(isequalRel(mag([3.154586370834e-01, 1.624943217421e-01, 4.330881086027e-01]), 5.598962994359e-01, TOL));
assert(isequalRel(mag([-4.394997996958e+04, -6.522115781076e+04, 0.000000000000e+00]), 7.864731505591e+04, TOL));
assert(isequalRel(mag([3.154586370834e-01, 1.624943217421e-01, 4.330881086027e-01]), 5.598962994359e-01, TOL));
assert(isequalRel(mag([3.154586370834e-01, 1.624943217421e-01, 4.330881086027e-01]), 5.598962994359e-01, TOL));
assert(isequalRel(mag([-2.427348944134e+04, -1.863715546906e+04, -2.463327702390e+04]), 3.928541956722e+04, TOL));
assert(isequalRel(mag([-1.905755468077e+04, -2.314829322082e+04, -7.269386141784e+03]), 3.085251763351e+04, TOL));
assert(isequalRel(mag([1.500802808575e+00, 1.953830370764e-01, 2.879031236996e+00]), 3.252599647206e+00, TOL));
assert(isequalRel(mag([-6.522434452383e+04, 4.395738008850e+04, 3.101750056675e+04]), 8.454910835849e+04, TOL));
assert(isequalRel(mag([-4.395738008850e+04, -6.522434452383e+04, 0.000000000000e+00]), 7.865409323619e+04, TOL));
assert(isequalRel(mag([3.154048903783e-01, 1.623964646753e-01, 4.330959576469e-01]), 5.598436970652e-01, TOL));
assert(isequalRel(mag([-4.395738008850e+04, -6.522434452383e+04, 0.000000000000e+00]), 7.865409323619e+04, TOL));
assert(isequalRel(mag([3.154048903783e-01, 1.623964646753e-01, 4.330959576469e-01]), 5.598436970652e-01, TOL));
assert(isequalRel(mag([3.154048903783e-01, 1.623964646753e-01, 4.330959576469e-01]), 5.598436970652e-01, TOL));
assert(isequalRel(mag([-1.905755468077e+04, -2.314829322082e+04, -7.269386141784e+03]), 3.085251763351e+04, TOL));
assert(isequalRel(mag([4.369305307820e+01, -8.145902992073e+03, 1.163457079913e+04]), 1.420284768345e+04, TOL));
assert(isequalRel(mag([3.780661682427e+00, 5.105315423410e+00, 7.144013445774e-01]), 6.392809836888e+00, TOL));
assert(isequalRel(mag([-6.521759779590e+04, 4.395516163590e+04, 3.101997012867e+04]), 8.454365643553e+04, TOL));
assert(isequalRel(mag([-4.395516163590e+04, -6.521759779590e+04, 0.000000000000e+00]), 7.864725867254e+04, TOL));
assert(isequalRel(mag([3.154508983481e-01, 1.624328204120e-01, 4.330497057511e-01]), 5.598443873674e-01, TOL));
assert(isequalRel(mag([-4.395516163590e+04, -6.521759779590e+04, 0.000000000000e+00]), 7.864725867254e+04, TOL));
assert(isequalRel(mag([3.154508983481e-01, 1.624328204120e-01, 4.330497057511e-01]), 5.598443873674e-01, TOL));
assert(isequalRel(mag([3.154508983481e-01, 1.624328204120e-01, 4.330497057511e-01]), 5.598443873674e-01, TOL));
assert(isequalRel(mag([4.369305307820e+01, -8.145902992073e+03, 1.163457079913e+04]), 1.420284768345e+04, TOL));
# 28057
assert(isequalRel(mag([-1.816879209419e+03, -1.835787621322e+03, 6.661079264647e+03]), 7.144308449538e+03, TOL));
assert(isequalRel(mag([2.325140070634e+00, 6.655669328664e+00, 2.463394511576e+00]), 7.468100366241e+00, TOL));
assert(isequalRel(mag([-4.885621010830e+04, 1.996363258458e+04, -7.824083868512e+03]), 5.335440169751e+04, TOL));
assert(isequalRel(mag([-1.996363258458e+04, -4.885621010830e+04, 0.000000000000e+00]), 5.277760786658e+04, TOL));
assert(isequalRel(mag([2.905802926343e-04, 6.612293778481e-04, -1.273134968287e-04]), 7.333961569790e-04, TOL));
assert(isequalRel(mag([-1.996363258458e+04, -4.885621010830e+04, 0.000000000000e+00]), 5.277760786658e+04, TOL));
assert(isequalRel(mag([2.905802926343e-04, 6.612293778481e-04, -1.273134968287e-04]), 7.333961569790e-04, TOL));
assert(isequalRel(mag([2.905802926343e-04, 6.612293778481e-04, -1.273134968287e-04]), 7.333961569790e-04, TOL));
assert(isequalRel(mag([-1.816879209419e+03, -1.835787621322e+03, 6.661079264647e+03]), 7.144308449538e+03, TOL));
assert(isequalRel(mag([1.483173642905e+03, 5.395212487860e+03, 4.448659071715e+03]), 7.148334727790e+03, TOL));
assert(isequalRel(mag([2.560540387224e+00, 4.039025765878e+00, -5.736648561317e+00]), 7.468549586639e+00, TOL));
assert(isequalRel(mag([-4.891868657075e+04, 1.989941716687e+04, -7.824082913855e+03]), 5.338764812980e+04, TOL));
assert(isequalRel(mag([-1.989941716687e+04, -4.891868657075e+04, 0.000000000000e+00]), 5.281121755260e+04, TOL));
assert(isequalRel(mag([-3.748139820796e-04, -4.537684305473e-04, 1.189363727037e-03]), 1.327018230815e-03, TOL));
assert(isequalRel(mag([-1.989941716687e+04, -4.891868657075e+04, 0.000000000000e+00]), 5.281121755260e+04, TOL));
assert(isequalRel(mag([-3.748139820796e-04, -4.537684305473e-04, 1.189363727037e-03]), 1.327018230815e-03, TOL));
assert(isequalRel(mag([-3.748139820796e-04, -4.537684305473e-04, 1.189363727037e-03]), 1.327018230815e-03, TOL));
assert(isequalRel(mag([1.483173642905e+03, 5.395212487860e+03, 4.448659071715e+03]), 7.148334727790e+03, TOL));
assert(isequalRel(mag([2.801256071573e+03, 5.455039313331e+03, -3.692128656945e+03]), 7.157953863217e+03, TOL));
assert(isequalRel(mag([-5.950958644238e-01, -3.951923117077e+00, -6.298799125078e+00]), 7.459671965255e+00, TOL));
assert(isequalRel(mag([-4.895120544468e+04, 1.984171978741e+04, -7.824077290469e+03]), 5.339597872552e+04, TOL));
assert(isequalRel(mag([-1.984171978741e+04, -4.895120544468e+04, 0.000000000000e+00]), 5.281963989473e+04, TOL));
assert(isequalRel(mag([-2.323453212803e-04, -2.347818977696e-04, 8.582618346041e-04]), 9.196305043762e-04, TOL));
assert(isequalRel(mag([-1.984171978741e+04, -4.895120544468e+04, 0.000000000000e+00]), 5.281963989473e+04, TOL));
assert(isequalRel(mag([-2.323453212803e-04, -2.347818977696e-04, 8.582618346041e-04]), 9.196305043762e-04, TOL));
assert(isequalRel(mag([-2.323453212803e-04, -2.347818977696e-04, 8.582618346041e-04]), 9.196305043762e-04, TOL));
assert(isequalRel(mag([2.801256071573e+03, 5.455039313331e+03, -3.692128656945e+03]), 7.157953863217e+03, TOL));
assert(isequalRel(mag([4.110933281184e+02, -1.728997691520e+03, -6.935455488101e+03]), 7.159537245461e+03, TOL));
assert(isequalRel(mag([-2.935970964045e+00, -6.684085057511e+00, 1.492800885516e+00]), 7.451534945336e+00, TOL));
assert(isequalRel(mag([-4.893822368001e+04, 1.974861545125e+04, -7.824069790924e+03]), 5.334954186579e+04, TOL));
assert(isequalRel(mag([-1.974861545125e+04, -4.893822368001e+04, 0.000000000000e+00]), 5.277269700514e+04, TOL));
assert(isequalRel(mag([-1.787092192817e-04, 5.871551422690e-04, 2.599825078935e-03]), 2.671287814371e-03, TOL));
assert(isequalRel(mag([-1.974861545125e+04, -4.893822368001e+04, 0.000000000000e+00]), 5.277269700514e+04, TOL));
assert(isequalRel(mag([-1.787092192817e-04, 5.871551422690e-04, 2.599825078935e-03]), 2.671287814371e-03, TOL));
assert(isequalRel(mag([-1.787092192817e-04, 5.871551422690e-04, 2.599825078935e-03]), 2.671287814371e-03, TOL));
assert(isequalRel(mag([4.110933281184e+02, -1.728997691520e+03, -6.935455488101e+03]), 7.159537245461e+03, TOL));
assert(isequalRel(mag([-2.506525584538e+03, -6.628986550942e+03, -9.880778449704e+02]), 7.155587399105e+03, TOL));
assert(isequalRel(mag([-1.390577188722e+00, -5.561641428183e-01, 7.312736467784e+00]), 7.464525311016e+00, TOL));
assert(isequalRel(mag([-4.902556516321e+04, 1.970355956138e+04, -7.824077828905e+03]), 5.341303673106e+04, TOL));
assert(isequalRel(mag([-1.970355956138e+04, -4.902556516321e+04, 0.000000000000e+00]), 5.283688388768e+04, TOL));
assert(isequalRel(mag([-2.759750253795e-04, -3.130112891976e-04, 9.409920467393e-04]), 1.029370833968e-03, TOL));
assert(isequalRel(mag([-1.970355956138e+04, -4.902556516321e+04, 0.000000000000e+00]), 5.283688388768e+04, TOL));
assert(isequalRel(mag([-2.759750253795e-04, -3.130112891976e-04, 9.409920467393e-04]), 1.029370833968e-03, TOL));
assert(isequalRel(mag([-2.759750253795e-04, -3.130112891976e-04, 9.409920467393e-04]), 1.029370833968e-03, TOL));
assert(isequalRel(mag([-2.506525584538e+03, -6.628986550942e+03, -9.880778449704e+02]), 7.155587399105e+03, TOL));
assert(isequalRel(mag([-2.090798842662e+03, -2.723228321928e+03, 6.266133565761e+03]), 7.145057183661e+03, TOL));
assert(isequalRel(mag([1.992640665061e+00, 6.337529519479e+00, 3.411803080481e+00]), 7.468286114652e+00, TOL));
assert(isequalRel(mag([-4.900292522362e+04, 1.961954648790e+04, -7.824083890139e+03]), 5.336131158041e+04, TOL));
assert(isequalRel(mag([-1.961954648790e+04, -4.900292522362e+04, 0.000000000000e+00]), 5.278459325279e+04, TOL));
assert(isequalRel(mag([2.903926839284e-04, 8.094969850350e-04, 2.111266669525e-04]), 8.855437590308e-04, TOL));
assert(isequalRel(mag([-1.961954648790e+04, -4.900292522362e+04, 0.000000000000e+00]), 5.278459325279e+04, TOL));
assert(isequalRel(mag([2.903926839284e-04, 8.094969850350e-04, 2.111266669525e-04]), 8.855437590308e-04, TOL));
assert(isequalRel(mag([2.903926839284e-04, 8.094969850350e-04, 2.111266669525e-04]), 8.855437590308e-04, TOL));
assert(isequalRel(mag([-2.090798842662e+03, -2.723228321928e+03, 6.266133565761e+03]), 7.145057183661e+03, TOL));
assert(isequalRel(mag([1.091805602223e+03, 4.809882295025e+03, 5.172428978938e+03]), 7.147099321208e+03, TOL));
assert(isequalRel(mag([2.717483545732e+00, 4.805518976627e+00, -5.030019896091e+00]), 7.468522585566e+00, TOL));
assert(isequalRel(mag([-4.905000925538e+04, 1.954779454357e+04, -7.824083453368e+03]), 5.337823490296e+04, TOL));
assert(isequalRel(mag([-1.954779454357e+04, -4.905000925538e+04, 0.000000000000e+00]), 5.280170148272e+04, TOL));
assert(isequalRel(mag([-4.114644364282e-04, -6.706279565088e-04, 9.040083670131e-04]), 1.198447314706e-03, TOL));
assert(isequalRel(mag([-1.954779454357e+04, -4.905000925538e+04, 0.000000000000e+00]), 5.280170148272e+04, TOL));
assert(isequalRel(mag([-4.114644364282e-04, -6.706279565088e-04, 9.040083670131e-04]), 1.198447314706e-03, TOL));
assert(isequalRel(mag([-4.114644364282e-04, -6.706279565088e-04, 9.040083670131e-04]), 1.198447314706e-03, TOL));
assert(isequalRel(mag([1.091805602223e+03, 4.809882295025e+03, 5.172428978938e+03]), 7.147099321208e+03, TOL));
assert(isequalRel(mag([2.811140622996e+03, 5.950657071710e+03, -2.813237053894e+03]), 7.157313316375e+03, TOL));
assert(isequalRel(mag([-1.596627418235e-01, -3.121215491213e+00, -6.775341949332e+00]), 7.461416545408e+00, TOL));
assert(isequalRel(mag([-4.909845555711e+04, 1.949560812988e+04, -7.824077436753e+03]), 5.340368210324e+04, TOL));
assert(isequalRel(mag([-1.949560812988e+04, -4.909845555711e+04, 0.000000000000e+00]), 5.282742729348e+04, TOL));
assert(isequalRel(mag([-1.158387414692e-04, 2.379706419342e-05, 7.862194089590e-04]), 7.950634398042e-04, TOL));
assert(isequalRel(mag([-1.949560812988e+04, -4.909845555711e+04, 0.000000000000e+00]), 5.282742729348e+04, TOL));
assert(isequalRel(mag([-1.158387414692e-04, 2.379706419342e-05, 7.862194089590e-04]), 7.950634398042e-04, TOL));
assert(isequalRel(mag([-1.158387414692e-04, 2.379706419342e-05, 7.862194089590e-04]), 7.950634398042e-04, TOL));
assert(isequalRel(mag([2.811140622996e+03, 5.950657071710e+03, -2.813237053894e+03]), 7.157313316375e+03, TOL));
assert(isequalRel(mag([8.057269830432e+02, -8.121662790683e+02, -7.067584839683e+03]), 7.159578584119e+03, TOL));
assert(isequalRel(mag([-2.798936019759e+00, -6.889265977002e+00, 4.727708725617e-01]), 7.451143592934e+00, TOL));
assert(isequalRel(mag([-4.907444033602e+04, 1.940079353167e+04, -7.824068943550e+03]), 5.334704807940e+04, TOL));
assert(isequalRel(mag([-1.940079353167e+04, -4.907444033602e+04, 0.000000000000e+00]), 5.277017608415e+04, TOL));
assert(isequalRel(mag([-3.207830330765e-04, 2.917493177443e-04, 2.735458525289e-03]), 2.769612384846e-03, TOL));
assert(isequalRel(mag([-1.940079353167e+04, -4.907444033602e+04, 0.000000000000e+00]), 5.277017608415e+04, TOL));
assert(isequalRel(mag([-3.207830330765e-04, 2.917493177443e-04, 2.735458525289e-03]), 2.769612384846e-03, TOL));
assert(isequalRel(mag([-3.207830330765e-04, 2.917493177443e-04, 2.735458525289e-03]), 2.769612384846e-03, TOL));
assert(isequalRel(mag([8.057269830432e+02, -8.121662790683e+02, -7.067584839683e+03]), 7.159578584119e+03, TOL));
assert(isequalRel(mag([-2.249598375316e+03, -6.505848907139e+03, -1.956723650620e+03]), 7.156502658257e+03, TOL));
assert(isequalRel(mag([-1.731234728779e+00, -1.528750230335e+00, 7.096660884765e+00]), 7.463032002225e+00, TOL));
assert(isequalRel(mag([-4.916114519307e+04, 1.935218473511e+04, -7.824077533801e+03]), 5.340918872227e+04, TOL));
assert(isequalRel(mag([-1.935218473511e+04, -4.916114519307e+04, 0.000000000000e+00]), 5.283299395942e+04, TOL));
assert(isequalRel(mag([-1.943545921830e-04, -1.624172385044e-04, 8.194660512814e-04]), 8.577165476244e-04, TOL));
assert(isequalRel(mag([-1.935218473511e+04, -4.916114519307e+04, 0.000000000000e+00]), 5.283299395942e+04, TOL));
assert(isequalRel(mag([-1.943545921830e-04, -1.624172385044e-04, 8.194660512814e-04]), 8.577165476244e-04, TOL));
assert(isequalRel(mag([-1.943545921830e-04, -1.624172385044e-04, 8.194660512814e-04]), 8.577165476244e-04, TOL));
assert(isequalRel(mag([-2.249598375316e+03, -6.505848907139e+03, -1.956723650620e+03]), 7.156502658257e+03, TOL));
assert(isequalRel(mag([-2.311573757974e+03, -3.560991128912e+03, 5.748167495996e+03]), 7.146010118994e+03, TOL));
assert(isequalRel(mag([1.626569751194e+00, 5.890482233105e+00, 4.293545047748e+00]), 7.468469667279e+00, TOL));
assert(isequalRel(mag([-4.914875433469e+04, 1.927464143483e+04, -7.824083697300e+03]), 5.336973056701e+04, TOL));
assert(isequalRel(mag([-1.927464143483e+04, -4.914875433469e+04, 0.000000000000e+00]), 5.279310423808e+04, TOL));
assert(isequalRel(mag([2.361316187291e-04, 8.382270623835e-04, 5.816593130789e-04]), 1.047239373767e-03, TOL));
assert(isequalRel(mag([-1.927464143483e+04, -4.914875433469e+04, 0.000000000000e+00]), 5.279310423808e+04, TOL));
assert(isequalRel(mag([2.361316187291e-04, 8.382270623835e-04, 5.816593130789e-04]), 1.047239373767e-03, TOL));
assert(isequalRel(mag([2.361316187291e-04, 8.382270623835e-04, 5.816593130789e-04]), 1.047239373767e-03, TOL));
assert(isequalRel(mag([-2.311573757974e+03, -3.560991128912e+03, 5.748167495996e+03]), 7.146010118994e+03, TOL));
assert(isequalRel(mag([6.881605659366e+02, 4.124876189636e+03, 5.794559944490e+03]), 7.145984431457e+03, TOL));
assert(isequalRel(mag([2.810973664728e+00, 5.479585562882e+00, -4.224866315922e+00]), 7.468395160418e+00, TOL));
assert(isequalRel(mag([-4.917883748603e+04, 1.919574179762e+04, -7.824083637277e+03]), 5.336900640260e+04, TOL));
assert(isequalRel(mag([-1.919574179762e+04, -4.917883748603e+04, 0.000000000000e+00]), 5.279237217286e+04, TOL));
assert(isequalRel(mag([-3.979968202230e-04, -7.947896211581e-04, 5.516869183193e-04]), 1.046159866680e-03, TOL));
assert(isequalRel(mag([-1.919574179762e+04, -4.917883748603e+04, 0.000000000000e+00]), 5.279237217286e+04, TOL));
assert(isequalRel(mag([-3.979968202230e-04, -7.947896211581e-04, 5.516869183193e-04]), 1.046159866680e-03, TOL));
assert(isequalRel(mag([-3.979968202230e-04, -7.947896211581e-04, 5.516869183193e-04]), 1.046159866680e-03, TOL));
assert(isequalRel(mag([6.881605659366e+02, 4.124876189636e+03, 5.794559944490e+03]), 7.145984431457e+03, TOL));
assert(isequalRel(mag([2.759940882296e+03, 6.329872717980e+03, -1.879195183309e+03]), 7.156531061664e+03, TOL));
assert(isequalRel(mag([2.669306724043e-01, -2.222670877521e+00, -7.119390566961e+00]), 7.463058344846e+00, TOL));
assert(isequalRel(mag([-4.924166852557e+04, 1.914748224893e+04, -7.824077403601e+03]), 5.340958886635e+04, TOL));
assert(isequalRel(mag([-1.914748224893e+04, -4.924166852557e+04, 0.000000000000e+00]), 5.283339848670e+04, TOL));
assert(isequalRel(mag([-3.231659576031e-05, 2.545564356953e-04, 8.263514784701e-04]), 8.652745849065e-04, TOL));
assert(isequalRel(mag([-1.914748224893e+04, -4.924166852557e+04, 0.000000000000e+00]), 5.283339848670e+04, TOL));
assert(isequalRel(mag([-3.231659576031e-05, 2.545564356953e-04, 8.263514784701e-04]), 8.652745849065e-04, TOL));
assert(isequalRel(mag([-3.231659576031e-05, 2.545564356953e-04, 8.263514784701e-04]), 8.652745849065e-04, TOL));
assert(isequalRel(mag([2.759940882296e+03, 6.329872717980e+03, -1.879195183309e+03]), 7.156531061664e+03, TOL));
assert(isequalRel(mag([1.171506771373e+03, 1.258205374764e+02, -7.061966262020e+03]), 7.159582837633e+03, TOL));
assert(isequalRel(mag([-2.605687852250e+00, -6.958489748881e+00, -5.563332247578e-01]), 7.451153966039e+00, TOL));
assert(isequalRel(mag([-4.921061798656e+04, 1.905302784189e+04, -7.824068813280e+03]), 5.334715405116e+04, TOL));
assert(isequalRel(mag([-1.905302784189e+04, -4.921061798656e+04, 0.000000000000e+00]), 5.277028323368e+04, TOL));
assert(isequalRel(mag([-4.480109360750e-04, -3.631124700536e-05, 2.729405420435e-03]), 2.766168153711e-03, TOL));
assert(isequalRel(mag([-1.905302784189e+04, -4.921061798656e+04, 0.000000000000e+00]), 5.277028323368e+04, TOL));
assert(isequalRel(mag([-4.480109360750e-04, -3.631124700536e-05, 2.729405420435e-03]), 2.766168153711e-03, TOL));
assert(isequalRel(mag([-4.480109360750e-04, -3.631124700536e-05, 2.729405420435e-03]), 2.766168153711e-03, TOL));
assert(isequalRel(mag([1.171506771373e+03, 1.258205374764e+02, -7.061966262020e+03]), 7.159582837633e+03, TOL));
assert(isequalRel(mag([-1.951437084725e+03, -6.251719458202e+03, -2.886954723550e+03]), 7.157276748564e+03, TOL));
assert(isequalRel(mag([-2.024131482542e+00, -2.475214272154e+00, 6.741537478137e+00]), 7.461375310278e+00, TOL));
assert(isequalRel(mag([-4.929203256506e+04, 1.899926218751e+04, -7.824077252046e+03]), 5.340311435591e+04, TOL));
assert(isequalRel(mag([-1.899926218751e+04, -4.929203256506e+04, 0.000000000000e+00]), 5.282685338031e+04, TOL));
assert(isequalRel(mag([-9.846762848350e-05, 6.881584969830e-05, 7.874564274370e-04]), 7.965670845200e-04, TOL));
assert(isequalRel(mag([-1.899926218751e+04, -4.929203256506e+04, 0.000000000000e+00]), 5.282685338031e+04, TOL));
assert(isequalRel(mag([-9.846762848350e-05, 6.881584969830e-05, 7.874564274370e-04]), 7.965670845200e-04, TOL));
assert(isequalRel(mag([-9.846762848350e-05, 6.881584969830e-05, 7.874564274370e-04]), 7.965670845200e-04, TOL));
assert(isequalRel(mag([-1.951437084725e+03, -6.251719458202e+03, -2.886954723550e+03]), 7.157276748564e+03, TOL));
assert(isequalRel(mag([-2.475707222879e+03, -4.331905699582e+03, 5.117312349244e+03]), 7.147126620062e+03, TOL));
assert(isequalRel(mag([1.235823538829e+00, 5.322743370812e+00, 5.091281211251e+00]), 7.468601019112e+00, TOL));
assert(isequalRel(mag([-4.929309048050e+04, 1.892861672514e+04, -7.824083177119e+03]), 5.337899940809e+04, TOL));
assert(isequalRel(mag([-1.892861672514e+04, -4.929309048050e+04, 0.000000000000e+00]), 5.280247437617e+04, TOL));
assert(isequalRel(mag([1.392173867738e-04, 7.469319894047e-04, 9.299407917547e-04]), 1.200865835031e-03, TOL));
assert(isequalRel(mag([-1.892861672514e+04, -4.929309048050e+04, 0.000000000000e+00]), 5.280247437617e+04, TOL));
assert(isequalRel(mag([1.392173867738e-04, 7.469319894047e-04, 9.299407917547e-04]), 1.200865835031e-03, TOL));
assert(isequalRel(mag([1.392173867738e-04, 7.469319894047e-04, 9.299407917547e-04]), 1.200865835031e-03, TOL));
assert(isequalRel(mag([-2.475707222879e+03, -4.331905699582e+03, 5.117312349244e+03]), 7.147126620062e+03, TOL));
assert(isequalRel(mag([2.814609784741e+02, 3.353510571023e+03, 6.302879006502e+03]), 7.145035843365e+03, TOL));
assert(isequalRel(mag([2.840647273466e+00, 6.047222485034e+00, -3.337085992421e+00]), 7.468220647287e+00, TOL));
assert(isequalRel(mag([-4.930586480056e+04, 1.884351555349e+04, -7.824083502427e+03]), 5.336068463578e+04, TOL));
assert(isequalRel(mag([-1.884351555349e+04, -4.930586480056e+04, 0.000000000000e+00]), 5.278395951561e+04, TOL));
assert(isequalRel(mag([-3.347170770037e-04, -8.004897315197e-04, 1.814237077666e-04]), 8.864163207241e-04, TOL));
assert(isequalRel(mag([-1.884351555349e+04, -4.930586480056e+04, 0.000000000000e+00]), 5.278395951561e+04, TOL));
assert(isequalRel(mag([-3.347170770037e-04, -8.004897315197e-04, 1.814237077666e-04]), 8.864163207241e-04, TOL));
assert(isequalRel(mag([-3.347170770037e-04, -8.004897315197e-04, 1.814237077666e-04]), 8.864163207241e-04, TOL));
assert(isequalRel(mag([2.814609784741e+02, 3.353510571023e+03, 6.302879006502e+03]), 7.145035843365e+03, TOL));
assert(isequalRel(mag([2.650331188597e+03, 6.584334348513e+03, -9.082902713431e+02]), 7.155606573818e+03, TOL));
assert(isequalRel(mag([6.754572353940e-01, -1.274044971616e+00, -7.323921566628e+00]), 7.464533487142e+00, TOL));
assert(isequalRel(mag([-4.938035098994e+04, 1.879730651526e+04, -7.824077399906e+03]), 5.341323790295e+04, TOL));
assert(isequalRel(mag([-1.879730651526e+04, -4.938035098994e+04, 0.000000000000e+00]), 5.283708731675e+04, TOL));
assert(isequalRel(mag([6.265637767355e-06, 4.132344218104e-04, 9.532490945689e-04]), 1.038983051778e-03, TOL));
assert(isequalRel(mag([-1.879730651526e+04, -4.938035098994e+04, 0.000000000000e+00]), 5.283708731675e+04, TOL));
assert(isequalRel(mag([6.265637767355e-06, 4.132344218104e-04, 9.532490945689e-04]), 1.038983051778e-03, TOL));
assert(isequalRel(mag([6.265637767355e-06, 4.132344218104e-04, 9.532490945689e-04]), 1.038983051778e-03, TOL));
assert(isequalRel(mag([2.650331188597e+03, 6.584334348513e+03, -9.082902713431e+02]), 7.155606573818e+03, TOL));
assert(isequalRel(mag([1.501172265975e+03, 1.066311327559e+03, -6.918714729524e+03]), 7.159549673544e+03, TOL));
assert(isequalRel(mag([-2.361891904359e+00, -6.889669973793e+00, -1.574718619163e+00]), 7.451565234580e+00, TOL));
assert(isequalRel(mag([-4.934680143057e+04, 1.870518022603e+04, -7.824069394291e+03]), 5.334985136440e+04, TOL));
assert(isequalRel(mag([-1.870518022603e+04, -4.934680143057e+04, 0.000000000000e+00]), 5.277300994558e+04, TOL));
assert(isequalRel(mag([-5.407537274964e-04, -3.463301285141e-04, 2.582581815646e-03]), 2.661219266844e-03, TOL));
assert(isequalRel(mag([-1.870518022603e+04, -4.934680143057e+04, 0.000000000000e+00]), 5.277300994558e+04, TOL));
assert(isequalRel(mag([-5.407537274964e-04, -3.463301285141e-04, 2.582581815646e-03]), 2.661219266844e-03, TOL));
assert(isequalRel(mag([-5.407537274964e-04, -3.463301285141e-04, 2.582581815646e-03]), 2.661219266844e-03, TOL));
assert(isequalRel(mag([1.501172265975e+03, 1.066311327559e+03, -6.918714729524e+03]), 7.159549673544e+03, TOL));
assert(isequalRel(mag([-1.619734683344e+03, -5.871140519913e+03, -3.760565870714e+03]), 7.157910806721e+03, TOL));
assert(isequalRel(mag([-2.264093974624e+00, -3.376316601072e+00, 6.254622256152e+00]), 7.459620290857e+00, TOL));
assert(isequalRel(mag([-4.941862714357e+04, 1.864510312857e+04, -7.824076774600e+03]), 5.339528777715e+04, TOL));
assert(isequalRel(mag([-1.864510312857e+04, -4.941862714357e+04, 0.000000000000e+00]), 5.281894148343e+04, TOL));
assert(isequalRel(mag([-9.621219269508e-06, 3.390833538296e-04, 8.688196377557e-04]), 9.326937609175e-04, TOL));
assert(isequalRel(mag([-1.864510312857e+04, -4.941862714357e+04, 0.000000000000e+00]), 5.281894148343e+04, TOL));
assert(isequalRel(mag([-9.621219269508e-06, 3.390833538296e-04, 8.688196377557e-04]), 9.326937609175e-04, TOL));
assert(isequalRel(mag([-9.621219269508e-06, 3.390833538296e-04, 8.688196377557e-04]), 9.326937609175e-04, TOL));
assert(isequalRel(mag([-1.619734683344e+03, -5.871140519913e+03, -3.760565870714e+03]), 7.157910806721e+03, TOL));
assert(isequalRel(mag([-2.581042025049e+03, -5.020055725306e+03, 4.385923290467e+03]), 7.148360688305e+03, TOL));
assert(isequalRel(mag([8.296684584055e-01, 4.645048038434e+00, 5.789262667122e+00]), 7.468626597921e+00, TOL));
assert(isequalRel(mag([-4.943524557449e+04, 1.858119245298e+04, -7.824082300849e+03]), 5.338839276318e+04, TOL));
assert(isequalRel(mag([-1.858119245298e+04, -4.943524557449e+04, 0.000000000000e+00]), 5.281197040430e+04, TOL));
assert(isequalRel(mag([1.780156171912e-05, 5.559265462510e-04, 1.207777884620e-03]), 1.329698702340e-03, TOL));
assert(isequalRel(mag([-1.858119245298e+04, -4.943524557449e+04, 0.000000000000e+00]), 5.281197040430e+04, TOL));
assert(isequalRel(mag([1.780156171912e-05, 5.559265462510e-04, 1.207777884620e-03]), 1.329698702340e-03, TOL));
assert(isequalRel(mag([1.780156171912e-05, 5.559265462510e-04, 1.207777884620e-03]), 1.329698702340e-03, TOL));
assert(isequalRel(mag([-2.581042025049e+03, -5.020055725306e+03, 4.385923290467e+03]), 7.148360688305e+03, TOL));
assert(isequalRel(mag([-1.192208062753e+02, 2.510906204877e+03, 6.687456154588e+03]), 7.144293764248e+03, TOL));
assert(isequalRel(mag([2.807575711633e+00, 6.496549689314e+00, -2.384136660660e+00]), 7.468048396936e+00, TOL));
assert(isequalRel(mag([-4.943173473792e+04, 1.849130077728e+04, -7.824083166969e+03]), 5.335392095282e+04, TOL));
assert(isequalRel(mag([-1.849130077728e+04, -4.943173473792e+04, 0.000000000000e+00]), 5.277712197189e+04, TOL));
assert(isequalRel(mag([-2.310322667421e-04, -6.820672527329e-04, -1.523482010202e-04]), 7.360717491391e-04, TOL));
assert(isequalRel(mag([-1.849130077728e+04, -4.943173473792e+04, 0.000000000000e+00]), 5.277712197189e+04, TOL));
assert(isequalRel(mag([-2.310322667421e-04, -6.820672527329e-04, -1.523482010202e-04]), 7.360717491391e-04, TOL));
assert(isequalRel(mag([-2.310322667421e-04, -6.820672527329e-04, -1.523482010202e-04]), 7.360717491391e-04, TOL));
assert(isequalRel(mag([-1.192208062753e+02, 2.510906204877e+03, 6.687456154588e+03]), 7.144293764248e+03, TOL));
assert(isequalRel(mag([2.486238067258e+03, 6.708182100279e+03, 8.043349580657e+01]), 7.154547949719e+03, TOL));
assert(isequalRel(mag([1.057274904698e+00, -2.942940273652e-01, -7.384689123310e+00]), 7.465793504149e+00, TOL));
assert(isequalRel(mag([-4.951416829570e+04, 1.844513552985e+04, -7.824077604574e+03]), 5.341434336479e+04, TOL));
assert(isequalRel(mag([-1.844513552985e+04, -4.951416829570e+04, 0.000000000000e+00]), 5.283820480230e+04, TOL));
assert(isequalRel(mag([-3.265878170557e-06, 4.687007535386e-04, 1.125622291653e-03]), 1.219309889156e-03, TOL));
assert(isequalRel(mag([-1.844513552985e+04, -4.951416829570e+04, 0.000000000000e+00]), 5.283820480230e+04, TOL));
assert(isequalRel(mag([-3.265878170557e-06, 4.687007535386e-04, 1.125622291653e-03]), 1.219309889156e-03, TOL));
assert(isequalRel(mag([-3.265878170557e-06, 4.687007535386e-04, 1.125622291653e-03]), 1.219309889156e-03, TOL));
assert(isequalRel(mag([2.486238067258e+03, 6.708182100279e+03, 8.043349580657e+01]), 7.154547949719e+03, TOL));
assert(isequalRel(mag([1.788423345804e+03, 1.990505309570e+03, -6.640593377252e+03]), 7.159472735701e+03, TOL));
assert(isequalRel(mag([-2.074169090639e+00, -6.683381288034e+00, -2.562777775602e+00]), 7.452354848296e+00, TOL));
assert(isequalRel(mag([-4.948284028855e+04, 1.835704513059e+04, -7.824070536566e+03]), 5.335493106274e+04, TOL));
assert(isequalRel(mag([-1.835704513059e+04, -4.948284028855e+04, 0.000000000000e+00]), 5.277814499344e+04, TOL));
assert(isequalRel(mag([-5.855383052908e-04, -5.906028848651e-04, 2.317511651648e-03]), 2.462219959731e-03, TOL));
assert(isequalRel(mag([-1.835704513059e+04, -4.948284028855e+04, 0.000000000000e+00]), 5.277814499344e+04, TOL));
assert(isequalRel(mag([-5.855383052908e-04, -5.906028848651e-04, 2.317511651648e-03]), 2.462219959731e-03, TOL));
assert(isequalRel(mag([-5.855383052908e-04, -5.906028848651e-04, 2.317511651648e-03]), 2.462219959731e-03, TOL));
assert(isequalRel(mag([1.788423345804e+03, 1.990505309570e+03, -6.640593377252e+03]), 7.159472735701e+03, TOL));
# 28129
assert(isequalRel(mag([1.861675971861e+04, 3.166151770435e+03, 1.883341523210e+04]), 2.667031662277e+04, TOL));
assert(isequalRel(mag([-2.076122016210e+00, 2.838457575004e+00, 1.586210534951e+00]), 3.857873493582e+00, TOL));
assert(isequalRel(mag([-4.843566683524e+04, -6.863056839611e+04, 5.941620004258e+04]), 1.028904930868e+05, TOL));
assert(isequalRel(mag([6.863056839611e+04, -4.843566683524e+04, 0.000000000000e+00]), 8.400100439963e+04, TOL));
assert(isequalRel(mag([-1.814718262594e-03, -1.990748473193e-03, -3.778822749601e-03]), 4.640666248398e-03, TOL));
assert(isequalRel(mag([6.863056839611e+04, -4.843566683524e+04, 0.000000000000e+00]), 8.400100439963e+04, TOL));
assert(isequalRel(mag([-1.814718262594e-03, -1.990748473193e-03, -3.778822749601e-03]), 4.640666248398e-03, TOL));
assert(isequalRel(mag([-1.814718262594e-03, -1.990748473193e-03, -3.778822749601e-03]), 4.640666248398e-03, TOL));
assert(isequalRel(mag([1.861675971861e+04, 3.166151770435e+03, 1.883341523210e+04]), 2.667031662277e+04, TOL));
assert(isequalRel(mag([-3.006505963285e+03, 1.852220742011e+04, 1.894184078154e+04]), 2.666279388988e+04, TOL));
assert(isequalRel(mag([-3.375452789384e+00, 1.032680772586e+00, -1.559324534308e+00]), 3.858964124571e+00, TOL));
assert(isequalRel(mag([-4.844300723221e+04, -6.862540781323e+04, 5.941607580083e+04]), 1.028904349821e+05, TOL));
assert(isequalRel(mag([6.862540781323e+04, -4.844300723221e+04, 0.000000000000e+00]), 8.400102110827e+04, TOL));
assert(isequalRel(mag([-1.768984004926e-03, -2.023800848637e-03, -3.779769371972e-03]), 4.638074038857e-03, TOL));
assert(isequalRel(mag([6.862540781323e+04, -4.844300723221e+04, 0.000000000000e+00]), 8.400102110827e+04, TOL));
assert(isequalRel(mag([-1.768984004926e-03, -2.023800848637e-03, -3.779769371972e-03]), 4.638074038857e-03, TOL));
assert(isequalRel(mag([-1.768984004926e-03, -2.023800848637e-03, -3.779769371972e-03]), 4.638074038857e-03, TOL));
assert(isequalRel(mag([-3.006505963285e+03, 1.852220742011e+04, 1.894184078154e+04]), 2.666279388988e+04, TOL));
assert(isequalRel(mag([-2.160702086957e+04, 1.543259962630e+04, 2.066247030937e+02]), 2.655317637971e+04, TOL));
assert(isequalRel(mag([-1.306049851047e+00, -1.817011568223e+00, -3.163725018401e+00]), 3.875106868788e+00, TOL));
assert(isequalRel(mag([-4.844906206090e+04, -6.862853466087e+04, 5.941595131806e+04]), 1.028952994811e+05, TOL));
assert(isequalRel(mag([6.862853466087e+04, -4.844906206090e+04, 0.000000000000e+00]), 8.400706746625e+04, TOL));
assert(isequalRel(mag([-1.830346025367e-03, -1.970078466859e-03, -3.768047831549e-03]), 4.629207297044e-03, TOL));
assert(isequalRel(mag([6.862853466087e+04, -4.844906206090e+04, 0.000000000000e+00]), 8.400706746625e+04, TOL));
assert(isequalRel(mag([-1.830346025367e-03, -1.970078466859e-03, -3.768047831549e-03]), 4.629207297044e-03, TOL));
assert(isequalRel(mag([-1.830346025367e-03, -1.970078466859e-03, -3.768047831549e-03]), 4.629207297044e-03, TOL));
assert(isequalRel(mag([-2.160702086957e+04, 1.543259962630e+04, 2.066247030937e+02]), 2.655317637971e+04, TOL));
assert(isequalRel(mag([-1.845306134549e+04, -3.150832561335e+03, -1.868583030936e+04]), 2.645001839697e+04, TOL));
assert(isequalRel(mag([2.106017925296e+00, -2.860236336534e+00, -1.586151870247e+00]), 3.890005290226e+00, TOL));
assert(isequalRel(mag([-4.844819186915e+04, -6.862205134548e+04, 5.941582643446e+04]), 1.028904935217e+05, TOL));
assert(isequalRel(mag([6.862205134548e+04, -4.844819186915e+04, 0.000000000000e+00]), 8.400126919429e+04, TOL));
assert(isequalRel(mag([-1.760153643794e-03, -2.011331834550e-03, -3.758223882038e-03]), 4.611707205141e-03, TOL));
assert(isequalRel(mag([6.862205134548e+04, -4.844819186915e+04, 0.000000000000e+00]), 8.400126919429e+04, TOL));
assert(isequalRel(mag([-1.760153643794e-03, -2.011331834550e-03, -3.758223882038e-03]), 4.611707205141e-03, TOL));
assert(isequalRel(mag([-1.760153643794e-03, -2.011331834550e-03, -3.758223882038e-03]), 4.611707205141e-03, TOL));
assert(isequalRel(mag([-1.845306134549e+04, -3.150832561335e+03, -1.868583030936e+04]), 2.645001839697e+04, TOL));
assert(isequalRel(mag([3.425117423839e+03, -1.851473232706e+04, -1.858867200557e+04]), 2.645875033785e+04, TOL));
assert(isequalRel(mag([3.394666339720e+00, -1.003072029950e+00, 1.610061294673e+00]), 3.888728639016e+00, TOL));
assert(isequalRel(mag([-4.845563086372e+04, -6.861698815126e+04, 5.941569913245e+04]), 1.028905463527e+05, TOL));
assert(isequalRel(mag([6.861698815126e+04, -4.845563086372e+04, 0.000000000000e+00]), 8.400142394835e+04, TOL));
assert(isequalRel(mag([-1.806273291883e-03, -1.979449452814e-03, -3.759073355719e-03]), 4.616435403522e-03, TOL));
assert(isequalRel(mag([6.861698815126e+04, -4.845563086372e+04, 0.000000000000e+00]), 8.400142394835e+04, TOL));
assert(isequalRel(mag([-1.806273291883e-03, -1.979449452814e-03, -3.759073355719e-03]), 4.616435403522e-03, TOL));
assert(isequalRel(mag([-1.806273291883e-03, -1.979449452814e-03, -3.759073355719e-03]), 4.616435403522e-03, TOL));
assert(isequalRel(mag([3.425117423839e+03, -1.851473232706e+04, -1.858867200557e+04]), 2.645875033785e+04, TOL));
assert(isequalRel(mag([2.185823838149e+04, -1.510151661554e+04, 3.873451704808e+02]), 2.657044270448e+04, TOL));
assert(isequalRel(mag([1.247973967427e+00, 1.856017402747e+00, 3.161439947612e+00]), 3.872588561289e+00, TOL));
assert(isequalRel(mag([-4.846145727517e+04, -6.862011131448e+04, 5.941557043428e+04]), 1.028952988629e+05, TOL));
assert(isequalRel(mag([6.862011131448e+04, -4.846145727517e+04, 0.000000000000e+00]), 8.400733609658e+04, TOL));
assert(isequalRel(mag([-1.743387611204e-03, -2.030675392250e-03, -3.767232630406e-03]), 4.621156197662e-03, TOL));
assert(isequalRel(mag([6.862011131448e+04, -4.846145727517e+04, 0.000000000000e+00]), 8.400733609658e+04, TOL));
assert(isequalRel(mag([-1.743387611204e-03, -2.030675392250e-03, -3.767232630406e-03]), 4.621156197662e-03, TOL));
assert(isequalRel(mag([-1.743387611204e-03, -2.030675392250e-03, -3.767232630406e-03]), 4.621156197662e-03, TOL));
assert(isequalRel(mag([2.185823838149e+04, -1.510151661554e+04, 3.873451704808e+02]), 2.657044270448e+04, TOL));
assert(isequalRel(mag([1.836069935796e+04, 3.506552567622e+03, 1.902481678979e+04]), 2.667123629882e+04, TOL));
assert(isequalRel(mag([-2.122684183899e+00, 2.830618604699e+00, 1.537510676810e+00]), 3.857736241780e+00, TOL));
assert(isequalRel(mag([-4.846063834465e+04, -6.861344899781e+04, 5.941544087322e+04]), 1.028903954036e+05, TOL));
assert(isequalRel(mag([6.861344899781e+04, -4.846063834465e+04, 0.000000000000e+00]), 8.400142172693e+04, TOL));
assert(isequalRel(mag([-1.815034636691e-03, -1.991479497778e-03, -3.780162374658e-03]), 4.642194405799e-03, TOL));
assert(isequalRel(mag([6.861344899781e+04, -4.846063834465e+04, 0.000000000000e+00]), 8.400142172693e+04, TOL));
assert(isequalRel(mag([-1.815034636691e-03, -1.991479497778e-03, -3.780162374658e-03]), 4.642194405799e-03, TOL));
assert(isequalRel(mag([-1.815034636691e-03, -1.991479497778e-03, -3.780162374658e-03]), 4.642194405799e-03, TOL));
assert(isequalRel(mag([1.836069935796e+04, 3.506552567622e+03, 1.902481678979e+04]), 2.667123629882e+04, TOL));
assert(isequalRel(mag([-3.412847654090e+03, 1.864685269710e+04, 1.874800359987e+04]), 2.666158816721e+04, TOL));
assert(isequalRel(mag([-3.366815727595e+00, 9.860399215987e-01, -1.607874971672e+00]), 3.859143013040e+00, TOL));
assert(isequalRel(mag([-4.846808775187e+04, -6.860850570616e+04, 5.941531289748e+04]), 1.028905340265e+05, TOL));
assert(isequalRel(mag([6.860850570616e+04, -4.846808775187e+04, 0.000000000000e+00]), 8.400168204004e+04, TOL));
assert(isequalRel(mag([-1.767972891128e-03, -2.022566381052e-03, -3.777738622918e-03]), 4.635494796957e-03, TOL));
assert(isequalRel(mag([6.860850570616e+04, -4.846808775187e+04, 0.000000000000e+00]), 8.400168204004e+04, TOL));
assert(isequalRel(mag([-1.767972891128e-03, -2.022566381052e-03, -3.777738622918e-03]), 4.635494796957e-03, TOL));
assert(isequalRel(mag([-1.767972891128e-03, -2.022566381052e-03, -3.777738622918e-03]), 4.635494796957e-03, TOL));
assert(isequalRel(mag([-3.412847654090e+03, 1.864685269710e+04, 1.874800359987e+04]), 2.666158816721e+04, TOL));
assert(isequalRel(mag([-2.175808331586e+04, 1.521544829478e+04, -1.808218140631e+02]), 2.655102169257e+04, TOL));
assert(isequalRel(mag([-1.250144679705e+00, -1.856490448461e+00, -3.163774870236e+00]), 3.875421259033e+00, TOL));
assert(isequalRel(mag([-4.847394692508e+04, -6.861162379039e+04, 5.941518558776e+04]), 1.028952998347e+05, TOL));
assert(isequalRel(mag([6.861162379039e+04, -4.847394692508e+04, 0.000000000000e+00]), 8.400760947468e+04, TOL));
assert(isequalRel(mag([-1.830364503058e-03, -1.970731497421e-03, -3.769071452903e-03]), 4.630325740817e-03, TOL));
assert(isequalRel(mag([6.861162379039e+04, -4.847394692508e+04, 0.000000000000e+00]), 8.400760947468e+04, TOL));
assert(isequalRel(mag([-1.830364503058e-03, -1.970731497421e-03, -3.769071452903e-03]), 4.630325740817e-03, TOL));
assert(isequalRel(mag([-1.830364503058e-03, -1.970731497421e-03, -3.769071452903e-03]), 4.630325740817e-03, TOL));
assert(isequalRel(mag([-2.175808331586e+04, 1.521544829478e+04, -1.808218140631e+02]), 2.655102169257e+04, TOL));
assert(isequalRel(mag([-1.819341290284e+04, -3.493858769121e+03, -1.887714757717e+04]), 2.644908359097e+04, TOL));
assert(isequalRel(mag([2.153326942358e+00, -2.852221264187e+00, -1.536617760164e+00]), 3.890138455301e+00, TOL));
assert(isequalRel(mag([-4.847307629065e+04, -6.860499185729e+04, 5.941505936996e+04]), 1.028903946574e+05, TOL));
assert(isequalRel(mag([6.860499185729e+04, -4.847307629065e+04, 0.000000000000e+00]), 8.400169065452e+04, TOL));
assert(isequalRel(mag([-1.758754966790e-03, -2.010339055298e-03, -3.756144663784e-03]), 4.609045984338e-03, TOL));
assert(isequalRel(mag([6.860499185729e+04, -4.847307629065e+04, 0.000000000000e+00]), 8.400169065452e+04, TOL));
assert(isequalRel(mag([-1.758754966790e-03, -2.010339055298e-03, -3.756144663784e-03]), 4.609045984338e-03, TOL));
assert(isequalRel(mag([-1.758754966790e-03, -2.010339055298e-03, -3.756144663784e-03]), 4.609045984338e-03, TOL));
assert(isequalRel(mag([-1.819341290284e+04, -3.493858769121e+03, -1.887714757717e+04]), 2.644908359097e+04, TOL));
assert(isequalRel(mag([3.833573868477e+03, -1.863577026711e+04, -1.838868722885e+04]), 2.646000831546e+04, TOL));
assert(isequalRel(mag([3.384748179026e+00, -9.553638407244e-01, 1.658785020368e+00]), 3.888548321337e+00, TOL));
assert(isequalRel(mag([-4.848062341893e+04, -6.860015052004e+04, 5.941493162164e+04]), 1.028906487396e+05, TOL));
assert(isequalRel(mag([6.860015052004e+04, -4.848062341893e+04, 0.000000000000e+00]), 8.400209222668e+04, TOL));
assert(isequalRel(mag([-1.806140076694e-03, -1.980497238489e-03, -3.760421824395e-03]), 4.617930660554e-03, TOL));
assert(isequalRel(mag([6.860015052004e+04, -4.848062341893e+04, 0.000000000000e+00]), 8.400209222668e+04, TOL));
assert(isequalRel(mag([-1.806140076694e-03, -1.980497238489e-03, -3.760421824395e-03]), 4.617930660554e-03, TOL));
assert(isequalRel(mag([-1.806140076694e-03, -1.980497238489e-03, -3.760421824395e-03]), 4.617930660554e-03, TOL));
assert(isequalRel(mag([3.833573868477e+03, -1.863577026711e+04, -1.838868722885e+04]), 2.646000831546e+04, TOL));
assert(isequalRel(mag([2.200220074562e+04, -1.487972595593e+04, 7.743282709904e+02]), 2.657259239226e+04, TOL));
assert(isequalRel(mag([1.191573619290e+00, 1.894561164654e+00, 3.159953047019e+00]), 3.872274907101e+00, TOL));
assert(isequalRel(mag([-4.848624764414e+04, -6.860325214685e+04, 5.941480398091e+04]), 1.028952931276e+05, TOL));
assert(isequalRel(mag([6.860325214685e+04, -4.848624764414e+04, 0.000000000000e+00]), 8.400787115344e+04, TOL));
assert(isequalRel(mag([-1.742455768705e-03, -2.029648405758e-03, -3.765486179706e-03]), 4.618929629951e-03, TOL));
assert(isequalRel(mag([6.860325214685e+04, -4.848624764414e+04, 0.000000000000e+00]), 8.400787115344e+04, TOL));
assert(isequalRel(mag([-1.742455768705e-03, -2.029648405758e-03, -3.765486179706e-03]), 4.618929629951e-03, TOL));
assert(isequalRel(mag([-1.742455768705e-03, -2.029648405758e-03, -3.765486179706e-03]), 4.618929629951e-03, TOL));
assert(isequalRel(mag([2.200220074562e+04, -1.487972595593e+04, 7.743282709904e+02]), 2.657259239226e+04, TOL));
# 28350
assert(isequalRel(mag([-3.990938458545e+03, 3.052983419071e+03, 4.155327006290e+03]), 6.520355823590e+03, TOL));
assert(isequalRel(mag([-5.909006188028e+00, -8.763079661834e-01, -5.039131403571e+00]), 7.815184904032e+00, TOL));
assert(isequalRel(mag([-1.174303846392e+04, -4.466471630962e+04, 2.153738907901e+04]), 5.095777628316e+04, TOL));
assert(isequalRel(mag([4.466471630962e+04, -1.174303846392e+04, 0.000000000000e+00]), 4.618263564787e+04, TOL));
assert(isequalRel(mag([7.048623996782e-05, -4.886846299213e-04, -9.750131576371e-04]), 1.092900560486e-03, TOL));
assert(isequalRel(mag([4.466471630962e+04, -1.174303846392e+04, 0.000000000000e+00]), 4.618263564787e+04, TOL));
assert(isequalRel(mag([7.048623996782e-05, -4.886846299213e-04, -9.750131576371e-04]), 1.092900560486e-03, TOL));
assert(isequalRel(mag([7.048623996782e-05, -4.886846299213e-04, -9.750131576371e-04]), 1.092900560486e-03, TOL));
assert(isequalRel(mag([-3.990938458545e+03, 3.052983419071e+03, 4.155327006290e+03]), 6.520355823590e+03, TOL));
assert(isequalRel(mag([-6.035523200973e+02, -2.685134745690e+03, -5.891702742823e+03]), 6.502798260395e+03, TOL));
assert(isequalRel(mag([7.572519906820e+00, -1.975656725839e+00, 1.217226051852e-01]), 7.826946635193e+00, TOL));
assert(isequalRel(mag([-1.196682374702e+04, -4.454157034433e+04, 2.152564851483e+04]), 5.089705201006e+04, TOL));
assert(isequalRel(mag([4.454157034433e+04, -1.196682374702e+04, 0.000000000000e+00]), 4.612110535678e+04, TOL));
assert(isequalRel(mag([-2.754052654871e-04, 3.261811166511e-04, 5.218376056584e-04]), 6.742081783819e-04, TOL));
assert(isequalRel(mag([4.454157034433e+04, -1.196682374702e+04, 0.000000000000e+00]), 4.612110535678e+04, TOL));
assert(isequalRel(mag([-2.754052654871e-04, 3.261811166511e-04, 5.218376056584e-04]), 6.742081783819e-04, TOL));
assert(isequalRel(mag([-2.754052654871e-04, 3.261811166511e-04, 5.218376056584e-04]), 6.742081783819e-04, TOL));
assert(isequalRel(mag([-6.035523200973e+02, -2.685134745690e+03, -5.891702742823e+03]), 6.502798260395e+03, TOL));
assert(isequalRel(mag([4.788223456270e+03, 7.825616921357e+02, 4.335142846214e+03]), 6.506377653215e+03, TOL));
assert(isequalRel(mag([-4.954509025954e+00, 3.683346463780e+00, 4.804645838579e+00]), 7.822967627101e+00, TOL));
assert(isequalRel(mag([-1.220790129503e+04, -4.448422226372e+04, 2.151389490249e+04]), 5.089918033046e+04, TOL));
assert(isequalRel(mag([4.448422226372e+04, -1.220790129503e+04, 0.000000000000e+00]), 4.612893760361e+04, TOL));
assert(isequalRel(mag([-9.208194221032e-04, -1.495231915977e-05, -5.534290726254e-04]), 1.074437396221e-03, TOL));
assert(isequalRel(mag([4.448422226372e+04, -1.220790129503e+04, 0.000000000000e+00]), 4.612893760361e+04, TOL));
assert(isequalRel(mag([-9.208194221032e-04, -1.495231915977e-05, -5.534290726254e-04]), 1.074437396221e-03, TOL));
assert(isequalRel(mag([-9.208194221032e-04, -1.495231915977e-05, -5.534290726254e-04]), 1.074437396221e-03, TOL));
assert(isequalRel(mag([4.788223456270e+03, 7.825616921357e+02, 4.335142846214e+03]), 6.506377653215e+03, TOL));
assert(isequalRel(mag([-6.291846016441e+03, 1.547827907719e+03, -4.536711649769e+02]), 6.495299458258e+03, TOL));
assert(isequalRel(mag([-3.086255882484e-01, -3.341538573565e+00, -7.082659115218e+00]), 7.837422403745e+00, TOL));
assert(isequalRel(mag([-1.247869713688e+04, -4.442298600973e+04, 2.150214546140e+04]), 5.090640261988e+04, TOL));
assert(isequalRel(mag([4.442298600973e+04, -1.247869713688e+04, 0.000000000000e+00]), 4.614238364296e+04, TOL));
assert(isequalRel(mag([-9.234995327087e-04, 8.054405348513e-05, -3.695474773830e-04]), 9.979499333660e-04, TOL));
assert(isequalRel(mag([4.442298600973e+04, -1.247869713688e+04, 0.000000000000e+00]), 4.614238364296e+04, TOL));
assert(isequalRel(mag([-9.234995327087e-04, 8.054405348513e-05, -3.695474773830e-04]), 9.979499333660e-04, TOL));
assert(isequalRel(mag([-9.234995327087e-04, 8.054405348513e-05, -3.695474773830e-04]), 9.979499333660e-04, TOL));
assert(isequalRel(mag([-6.291846016441e+03, 1.547827907719e+03, -4.536711649769e+02]), 6.495299458258e+03, TOL));
assert(isequalRel(mag([4.480745734282e+03, -3.028552003741e+03, -3.586943436410e+03]), 6.489635797997e+03, TOL));
assert(isequalRel(mag([5.320920856923e+00, 1.199736274927e+00, 5.626350480560e+00]), 7.836286469056e+00, TOL));
assert(isequalRel(mag([-1.273630886488e+04, -4.429608805874e+04, 2.149039871912e+04]), 5.085463811606e+04, TOL));
assert(isequalRel(mag([4.429608805874e+04, -1.273630886488e+04, 0.000000000000e+00]), 4.609074723639e+04, TOL));
assert(isequalRel(mag([-5.120830683227e-04, 2.330077573070e-05, -2.554589601050e-04]), 5.727401464106e-04, TOL));
assert(isequalRel(mag([4.429608805874e+04, -1.273630886488e+04, 0.000000000000e+00]), 4.609074723639e+04, TOL));
assert(isequalRel(mag([-5.120830683227e-04, 2.330077573070e-05, -2.554589601050e-04]), 5.727401464106e-04, TOL));
assert(isequalRel(mag([-5.120830683227e-04, 2.330077573070e-05, -2.554589601050e-04]), 5.727401464106e-04, TOL));
assert(isequalRel(mag([4.480745734282e+03, -3.028552003741e+03, -3.586943436410e+03]), 6.489635797997e+03, TOL));
assert(isequalRel(mag([-4.464246091556e+02, 2.932288725878e+03, 5.759193897566e+03]), 6.478111333818e+03, TOL));
assert(isequalRel(mag([-7.561000244696e+00, 1.550975493333e+00, -1.374970884552e+00]), 7.839948635965e+00, TOL));
assert(isequalRel(mag([-1.296418021966e+04, -4.415908730849e+04, 2.147864214546e+04]), 5.078805990682e+04, TOL));
assert(isequalRel(mag([4.415908730849e+04, -1.296418021966e+04, 0.000000000000e+00]), 4.602276567837e+04, TOL));
assert(isequalRel(mag([1.606862588009e-04, -5.001387873832e-04, -9.312742688776e-04]), 1.069219642677e-03, TOL));
assert(isequalRel(mag([4.415908730849e+04, -1.296418021966e+04, 0.000000000000e+00]), 4.602276567837e+04, TOL));
assert(isequalRel(mag([1.606862588009e-04, -5.001387873832e-04, -9.312742688776e-04]), 1.069219642677e-03, TOL));
assert(isequalRel(mag([1.606862588009e-04, -5.001387873832e-04, -9.312742688776e-04]), 1.069219642677e-03, TOL));
assert(isequalRel(mag([-4.464246091556e+02, 2.932288725878e+03, 5.759193897566e+03]), 6.478111333818e+03, TOL));
assert(isequalRel(mag([-3.713795818306e+03, -1.382661251301e+03, -5.122451311359e+03]), 6.476383169112e+03, TOL));
assert(isequalRel(mag([6.090931625542e+00, -3.512629732827e+00, -3.467571745776e+00]), 7.839774838544e+00, TOL));
assert(isequalRel(mag([-1.319879769224e+04, -4.407835414179e+04, 2.146688475599e+04]), 5.077338579903e+04, TOL));
assert(isequalRel(mag([4.407835414179e+04, -1.319879769224e+04, 0.000000000000e+00]), 4.601205890166e+04, TOL));
assert(isequalRel(mag([8.079531169968e-04, 2.829391986446e-04, 1.077729917381e-03]), 1.376351918738e-03, TOL));
assert(isequalRel(mag([4.407835414179e+04, -1.319879769224e+04, 0.000000000000e+00]), 4.601205890166e+04, TOL));
assert(isequalRel(mag([8.079531169968e-04, 2.829391986446e-04, 1.077729917381e-03]), 1.376351918738e-03, TOL));
assert(isequalRel(mag([8.079531169968e-04, 2.829391986446e-04, 1.077729917381e-03]), 1.376351918738e-03, TOL));
assert(isequalRel(mag([-3.713795818306e+03, -1.382661251301e+03, -5.122451311359e+03]), 6.476383169112e+03, TOL));
assert(isequalRel(mag([6.058320175220e+03, -8.274740672249e+02, 2.104046786506e+03]), 6.466449532565e+03, TOL));
assert(isequalRel(mag([-1.798403024273e+00, 3.787067271798e+00, 6.641439743741e+00]), 7.853970577268e+00, TOL));
assert(isequalRel(mag([-1.346378588049e+04, -4.401989249608e+04, 2.145513419265e+04]), 5.078727447724e+04, TOL));
assert(isequalRel(mag([4.401989249608e+04, -1.346378588049e+04, 0.000000000000e+00]), 4.603286288731e+04, TOL));
assert(isequalRel(mag([4.131652443287e-04, 4.331250203671e-04, 1.147925013924e-03]), 1.294617565144e-03, TOL));
assert(isequalRel(mag([4.401989249608e+04, -1.346378588049e+04, 0.000000000000e+00]), 4.603286288731e+04, TOL));
assert(isequalRel(mag([4.131652443287e-04, 4.331250203671e-04, 1.147925013924e-03]), 1.294617565144e-03, TOL));
assert(isequalRel(mag([4.131652443287e-04, 4.331250203671e-04, 1.147925013924e-03]), 1.294617565144e-03, TOL));
assert(isequalRel(mag([6.058320175220e+03, -8.274740672249e+02, 2.104046786506e+03]), 6.466449532565e+03, TOL));
assert(isequalRel(mag([-5.631736590064e+03, 2.623709536436e+03, 1.766491250842e+03]), 6.459164039622e+03, TOL));
assert(isequalRel(mag([-3.216401578200e+00, -2.309140958515e+00, -6.788609120175e+00]), 7.858917537744e+00, TOL));
assert(isequalRel(mag([-1.373226118756e+04, -4.391340362481e+04, 2.144337712141e+04]), 5.076199796708e+04, TOL));
assert(isequalRel(mag([4.391340362481e+04, -1.373226118756e+04, 0.000000000000e+00]), 4.601045549915e+04, TOL));
assert(isequalRel(mag([-2.195539680473e-04, 7.078387474790e-04, 1.308965282213e-03]), 1.504204024512e-03, TOL));
assert(isequalRel(mag([4.391340362481e+04, -1.373226118756e+04, 0.000000000000e+00]), 4.601045549915e+04, TOL));
assert(isequalRel(mag([-2.195539680473e-04, 7.078387474790e-04, 1.308965282213e-03]), 1.504204024512e-03, TOL));
assert(isequalRel(mag([-2.195539680473e-04, 7.078387474790e-04, 1.308965282213e-03]), 1.504204024512e-03, TOL));
assert(isequalRel(mag([-5.631736590064e+03, 2.623709536436e+03, 1.766491250842e+03]), 6.459164039622e+03, TOL));
assert(isequalRel(mag([2.776849915601e+03, -3.255369419526e+03, -4.837196677900e+03]), 6.458079994243e+03, TOL));
assert(isequalRel(mag([6.748135564437e+00, -1.930448249990e-01, 4.005718697631e+00]), 7.849865106168e+00, TOL));
assert(isequalRel(mag([-1.397388993766e+04, -4.376533856175e+04, 2.143161764928e+04]), 5.069505591751e+04, TOL));
assert(isequalRel(mag([4.376533856175e+04, -1.397388993766e+04, 0.000000000000e+00]), 4.594207722137e+04, TOL));
assert(isequalRel(mag([-5.422339548756e-04, 8.187922703566e-04, 1.318500720778e-03]), 1.644044584100e-03, TOL));
assert(isequalRel(mag([4.376533856175e+04, -1.397388993766e+04, 0.000000000000e+00]), 4.594207722137e+04, TOL));
assert(isequalRel(mag([-5.422339548756e-04, 8.187922703566e-04, 1.318500720778e-03]), 1.644044584100e-03, TOL));
assert(isequalRel(mag([-5.422339548756e-04, 8.187922703566e-04, 1.318500720778e-03]), 1.644044584100e-03, TOL));
assert(isequalRel(mag([2.776849915601e+03, -3.255369419526e+03, -4.837196677900e+03]), 6.458079994243e+03, TOL));
assert(isequalRel(mag([1.148044308372e+03, 2.486073433861e+03, 5.826340759133e+03]), 6.437764634877e+03, TOL));
assert(isequalRel(mag([-7.420162295259e+00, 2.589456381879e+00, 3.563500059243e-01]), 7.867088290363e+00, TOL));
assert(isequalRel(mag([-1.420114297886e+04, -4.364149961634e+04, 2.141987901818e+04]), 5.064646254007e+04, TOL));
assert(isequalRel(mag([4.364149961634e+04, -1.420114297886e+04, 0.000000000000e+00]), 4.589393152334e+04, TOL));
assert(isequalRel(mag([-1.625333135915e-04, -1.235492771091e-04, -3.594807677561e-04]), 4.134101163345e-04, TOL));
assert(isequalRel(mag([4.364149961634e+04, -1.420114297886e+04, 0.000000000000e+00]), 4.589393152334e+04, TOL));
assert(isequalRel(mag([-1.625333135915e-04, -1.235492771091e-04, -3.594807677561e-04]), 4.134101163345e-04, TOL));
assert(isequalRel(mag([-1.625333135915e-04, -1.235492771091e-04, -3.594807677561e-04]), 4.134101163345e-04, TOL));
assert(isequalRel(mag([1.148044308372e+03, 2.486073433861e+03, 5.826340759133e+03]), 6.437764634877e+03, TOL));
assert(isequalRel(mag([-4.527908718278e+03, -7.232919904114e+02, -4.527446083187e+03]), 6.443824695056e+03, TOL));
assert(isequalRel(mag([5.121674217224e+00, -3.909895426836e+00, -4.500218555578e+00]), 7.859439934508e+00, TOL));
assert(isequalRel(mag([-1.444686869955e+04, -4.356468270609e+04, 2.140811552954e+04]), 5.064485171299e+04, TOL));
assert(isequalRel(mag([4.356468270609e+04, -1.444686869955e+04, 0.000000000000e+00]), 4.589764258112e+04, TOL));
assert(isequalRel(mag([8.332158877670e-04, 2.756699532930e-04, 1.123257885197e-03]), 1.425465157565e-03, TOL));
assert(isequalRel(mag([4.356468270609e+04, -1.444686869955e+04, 0.000000000000e+00]), 4.589764258112e+04, TOL));
assert(isequalRel(mag([8.332158877670e-04, 2.756699532930e-04, 1.123257885197e-03]), 1.425465157565e-03, TOL));
assert(isequalRel(mag([8.332158877670e-04, 2.756699532930e-04, 1.123257885197e-03]), 1.425465157565e-03, TOL));
assert(isequalRel(mag([-4.527908718278e+03, -7.232919904114e+02, -4.527446083187e+03]), 6.443824695056e+03, TOL));
# *** error: t:= 1560.000000 *** code =   1
# 28623
assert(isequalRel(mag([-1.164535454950e+04, 9.793766835596e+02, 5.517895000578e+03]), 1.292364602228e+04, TOL));
assert(isequalRel(mag([3.407743501660e+00, -5.183094988169e+00, -4.929832772235e-01]), 6.222557508060e+00, TOL));
assert(isequalRel(mag([2.811695759564e+04, 1.306260578082e+04, 5.702151427188e+04]), 6.490491556176e+04, TOL));
assert(isequalRel(mag([-1.306260578082e+04, 2.811695759564e+04, 0.000000000000e+00]), 3.100314458600e+04, TOL));
assert(isequalRel(mag([1.757804690616e-01, -5.980488327176e-01, 5.032598978417e-02]), 6.253749953957e-01, TOL));
assert(isequalRel(mag([-1.306260578082e+04, 2.811695759564e+04, 0.000000000000e+00]), 3.100314458600e+04, TOL));
assert(isequalRel(mag([1.757804690616e-01, -5.980488327176e-01, 5.032598978417e-02]), 6.253749953957e-01, TOL));
assert(isequalRel(mag([1.757804690616e-01, -5.980488327176e-01, 5.032598978417e-02]), 6.253749953957e-01, TOL));
assert(isequalRel(mag([-1.164535454950e+04, 9.793766835596e+02, 5.517895000578e+03]), 1.292364602228e+04, TOL));
assert(isequalRel(mag([5.619192522737e+03, 1.965144862280e+04, -7.261384967647e+03]), 2.169060785756e+04, TOL));
assert(isequalRel(mag([-2.013634212849e+00, 3.106842860878e+00, 2.842355165096e-01]), 3.713217625482e+00, TOL));
assert(isequalRel(mag([2.814562169628e+04, 1.302459911445e+04, 5.702877745208e+04]), 6.491608167813e+04, TOL));
assert(isequalRel(mag([-1.302459911445e+04, 2.814562169628e+04, 0.000000000000e+00]), 3.101316176662e+04, TOL));
assert(isequalRel(mag([1.761551769397e-01, -5.978228914315e-01, 4.959612775728e-02]), 6.252060714442e-01, TOL));
assert(isequalRel(mag([-1.302459911445e+04, 2.814562169628e+04, 0.000000000000e+00]), 3.101316176662e+04, TOL));
assert(isequalRel(mag([1.761551769397e-01, -5.978228914315e-01, 4.959612775728e-02]), 6.252060714442e-01, TOL));
assert(isequalRel(mag([1.761551769397e-01, -5.978228914315e-01, 4.959612775728e-02]), 6.252060714442e-01, TOL));
assert(isequalRel(mag([5.619192522737e+03, 1.965144862280e+04, -7.261384967647e+03]), 2.169060785756e+04, TOL));
assert(isequalRel(mag([-9.708686297137e+03, 2.630614553149e+04, -1.204294788557e+03]), 2.806638929890e+04, TOL));
assert(isequalRel(mag([-1.824164289749e+00, -9.319095958561e-01, 1.113419051843e+00]), 2.331465812713e+00, TOL));
assert(isequalRel(mag([2.816746974561e+04, 1.300666783921e+04, 5.703434920293e+04]), 6.492685691724e+04, TOL));
assert(isequalRel(mag([-1.300666783921e+04, 2.816746974561e+04, 0.000000000000e+00]), 3.102546953955e+04, TOL));
assert(isequalRel(mag([1.762431076977e-01, -5.975887508380e-01, 4.923902914472e-02]), 6.249787437426e-01, TOL));
assert(isequalRel(mag([-1.300666783921e+04, 2.816746974561e+04, 0.000000000000e+00]), 3.102546953955e+04, TOL));
assert(isequalRel(mag([1.762431076977e-01, -5.975887508380e-01, 4.923902914472e-02]), 6.249787437426e-01, TOL));
assert(isequalRel(mag([1.762431076977e-01, -5.975887508380e-01, 4.923902914472e-02]), 6.249787437426e-01, TOL));
assert(isequalRel(mag([-9.708686297137e+03, 2.630614553149e+04, -1.204294788557e+03]), 2.806638929890e+04, TOL));
assert(isequalRel(mag([-1.439403162892e+04, 6.659307650738e+03, 5.593383458579e+03]), 1.681726682420e+04, TOL));
assert(isequalRel(mag([1.556522911394e+00, -4.681657613693e+00, 2.969122476380e-01]), 4.942553840712e+00, TOL));
assert(isequalRel(mag([2.816353625745e+04, 1.297999378900e+04, 5.702256283488e+04]), 6.490945759706e+04, TOL));
assert(isequalRel(mag([-1.297999378900e+04, 2.816353625745e+04, 0.000000000000e+00]), 3.101072416580e+04, TOL));
assert(isequalRel(mag([1.764956267968e-01, -5.976731452069e-01, 4.887631473417e-02]), 6.251022227779e-01, TOL));
assert(isequalRel(mag([-1.297999378900e+04, 2.816353625745e+04, 0.000000000000e+00]), 3.101072416580e+04, TOL));
assert(isequalRel(mag([1.764956267968e-01, -5.976731452069e-01, 4.887631473417e-02]), 6.251022227779e-01, TOL));
assert(isequalRel(mag([1.764956267968e-01, -5.976731452069e-01, 4.887631473417e-02]), 6.251022227779e-01, TOL));
assert(isequalRel(mag([-1.439403162892e+04, 6.659307650738e+03, 5.593383458579e+03]), 1.681726682420e+04, TOL));
assert(isequalRel(mag([7.712094762697e+03, 1.556572627434e+04, -7.342404655712e+03]), 1.885945773888e+04, TOL));
assert(isequalRel(mag([-1.646800363992e+00, 4.070313571346e+00, -1.094830809489e-01]), 4.392196552176e+00, TOL));
assert(isequalRel(mag([2.818170564674e+04, 1.293581855479e+04, 5.702428767049e+04]), 6.491004020311e+04, TOL));
assert(isequalRel(mag([-1.293581855479e+04, 2.818170564674e+04, 0.000000000000e+00]), 3.100877190155e+04, TOL));
assert(isequalRel(mag([1.769327935603e-01, -5.975011344885e-01, 4.810052815569e-02]), 6.250011839676e-01, TOL));
assert(isequalRel(mag([-1.293581855479e+04, 2.818170564674e+04, 0.000000000000e+00]), 3.100877190155e+04, TOL));
assert(isequalRel(mag([1.769327935603e-01, -5.975011344885e-01, 4.810052815569e-02]), 6.250011839676e-01, TOL));
assert(isequalRel(mag([1.769327935603e-01, -5.975011344885e-01, 4.810052815569e-02]), 6.250011839676e-01, TOL));
assert(isequalRel(mag([7.712094762697e+03, 1.556572627434e+04, -7.342404655712e+03]), 1.885945773888e+04, TOL));
assert(isequalRel(mag([-7.558367396029e+03, 2.703511367962e+04, -2.385120541840e+03]), 2.817294960352e+04, TOL));
assert(isequalRel(mag([-1.999583791247e+00, -3.934092829965e-01, 1.078093514514e+00]), 2.305513354592e+00, TOL));
assert(isequalRel(mag([2.820805215992e+04, 1.291787524561e+04, 5.703250700619e+04]), 6.492513044213e+04, TOL));
assert(isequalRel(mag([-1.291787524561e+04, 2.820805215992e+04, 0.000000000000e+00]), 3.102524306944e+04, TOL));
assert(isequalRel(mag([1.770558725992e-01, -5.972139861803e-01, 4.769796422616e-02]), 6.247306804556e-01, TOL));
assert(isequalRel(mag([-1.291787524561e+04, 2.820805215992e+04, 0.000000000000e+00]), 3.102524306944e+04, TOL));
assert(isequalRel(mag([1.770558725992e-01, -5.972139861803e-01, 4.769796422616e-02]), 6.247306804556e-01, TOL));
assert(isequalRel(mag([1.770558725992e-01, -5.972139861803e-01, 4.769796422616e-02]), 6.247306804556e-01, TOL));
assert(isequalRel(mag([-7.558367396029e+03, 2.703511367962e+04, -2.385120541840e+03]), 2.817294960352e+04, TOL));
assert(isequalRel(mag([-1.549561862220e+04, 1.155015897828e+04, 5.053831781214e+03]), 1.997652583862e+04, TOL));
assert(isequalRel(mag([4.692773362912e-01, -4.029761073285e+00, 6.790547422118e-01]), 4.113430547492e+00, TOL));
assert(isequalRel(mag([2.820892481037e+04, 1.289402202526e+04, 5.702341289114e+04]), 6.491277887056e+04, TOL));
assert(isequalRel(mag([-1.289402202526e+04, 2.820892481037e+04, 0.000000000000e+00]), 3.101611263432e+04, TOL));
assert(isequalRel(mag([1.772312259912e-01, -5.972642999942e-01, 4.737767478334e-02]), 6.248041257720e-01, TOL));
assert(isequalRel(mag([-1.289402202526e+04, 2.820892481037e+04, 0.000000000000e+00]), 3.101611263432e+04, TOL));
assert(isequalRel(mag([1.772312259912e-01, -5.972642999942e-01, 4.737767478334e-02]), 6.248041257720e-01, TOL));
assert(isequalRel(mag([1.772312259912e-01, -5.972642999942e-01, 4.737767478334e-02]), 6.248041257720e-01, TOL));
assert(isequalRel(mag([-1.549561862220e+04, 1.155015897828e+04, 5.053831781214e+03]), 1.997652583862e+04, TOL));
assert(isequalRel(mag([9.167025682224e+03, 1.036365204210e+04, -6.871525760423e+03]), 1.544854393736e+04, TOL));
assert(isequalRel(mag([-8.816210273002e-01, 5.223361510353e+00, -7.406962968990e-01]), 5.348774823065e+00, TOL));
assert(isequalRel(mag([2.821614448445e+04, 1.284806357643e+04, 5.701950267289e+04]), 6.490336842025e+04, TOL));
assert(isequalRel(mag([-1.284806357643e+04, 2.821614448445e+04, 0.000000000000e+00]), 3.100360539085e+04, TOL));
assert(isequalRel(mag([1.776819563272e-01, -5.971669577844e-01, 4.663210239838e-02]), 6.247830071695e-01, TOL));
assert(isequalRel(mag([-1.284806357643e+04, 2.821614448445e+04, 0.000000000000e+00]), 3.100360539085e+04, TOL));
assert(isequalRel(mag([1.776819563272e-01, -5.971669577844e-01, 4.663210239838e-02]), 6.247830071695e-01, TOL));
assert(isequalRel(mag([1.776819563272e-01, -5.971669577844e-01, 4.663210239838e-02]), 6.247830071695e-01, TOL));
assert(isequalRel(mag([9.167025682224e+03, 1.036365204210e+04, -6.871525760423e+03]), 1.544854393736e+04, TOL));
assert(isequalRel(mag([-5.275802720938e+03, 2.715178486008e+04, -3.494506872161e+03]), 2.787947441610e+04, TOL));
assert(isequalRel(mag([-2.129609387811e+00, 1.501964804488e-01, 1.021038088603e+00]), 2.366498237009e+00, TOL));
assert(isequalRel(mag([2.824786914880e+04, 1.282873016676e+04, 5.703028893363e+04]), 6.492281790705e+04, TOL));
assert(isequalRel(mag([-1.282873016676e+04, 2.824786914880e+04, 0.000000000000e+00]), 3.102448112603e+04, TOL));
assert(isequalRel(mag([1.778641167089e-01, -5.968434852976e-01, 4.615901091914e-02]), 6.244905477618e-01, TOL));
assert(isequalRel(mag([-1.282873016676e+04, 2.824786914880e+04, 0.000000000000e+00]), 3.102448112603e+04, TOL));
assert(isequalRel(mag([1.778641167089e-01, -5.968434852976e-01, 4.615901091914e-02]), 6.244905477618e-01, TOL));
assert(isequalRel(mag([1.778641167089e-01, -5.968434852976e-01, 4.615901091914e-02]), 6.244905477618e-01, TOL));
assert(isequalRel(mag([-5.275802720938e+03, 2.715178486008e+04, -3.494506872161e+03]), 2.787947441610e+04, TOL));
assert(isequalRel(mag([-1.560137656145e+04, 1.564129379850e+04, 4.217032668496e+03]), 2.249080671809e+04, TOL));
assert(isequalRel(mag([-2.491831233173e-01, -3.405238557031e+00, 8.882145034423e-01]), 3.527983398963e+00, TOL));
assert(isequalRel(mag([2.825282624345e+04, 1.280655556408e+04, 5.702395545123e+04]), 6.491503332405e+04, TOL));
assert(isequalRel(mag([-1.280655556408e+04, 2.825282624345e+04, 0.000000000000e+00]), 3.101983327096e+04, TOL));
assert(isequalRel(mag([1.779857403758e-01, -5.968478167152e-01, 4.585729823050e-02]), 6.245071111651e-01, TOL));
assert(isequalRel(mag([-1.280655556408e+04, 2.825282624345e+04, 0.000000000000e+00]), 3.101983327096e+04, TOL));
assert(isequalRel(mag([1.779857403758e-01, -5.968478167152e-01, 4.585729823050e-02]), 6.245071111651e-01, TOL));
assert(isequalRel(mag([1.779857403758e-01, -5.968478167152e-01, 4.585729823050e-02]), 6.245071111651e-01, TOL));
assert(isequalRel(mag([-1.560137656145e+04, 1.564129379850e+04, 4.217032668496e+03]), 2.249080671809e+04, TOL));
assert(isequalRel(mag([9.301058722997e+03, 3.883152655738e+03, -5.477864770168e+03]), 1.147151124990e+04, TOL));
assert(isequalRel(mag([8.714478212337e-01, 6.493677330817e+00, -1.885545281704e+00]), 6.817811055702e+00, TOL));
assert(isequalRel(mag([2.824962611116e+04, 1.276389407102e+04, 5.701410926076e+04]), 6.489658713734e+04, TOL));
assert(isequalRel(mag([-1.276389407102e+04, 2.824962611116e+04, 0.000000000000e+00]), 3.099932849719e+04, TOL));
assert(isequalRel(mag([1.784101661287e-01, -5.967846416527e-01, 4.520416954891e-02]), 6.245202261218e-01, TOL));
assert(isequalRel(mag([-1.276389407102e+04, 2.824962611116e+04, 0.000000000000e+00]), 3.099932849719e+04, TOL));
assert(isequalRel(mag([1.784101661287e-01, -5.967846416527e-01, 4.520416954891e-02]), 6.245202261218e-01, TOL));
assert(isequalRel(mag([1.784101661287e-01, -5.967846416527e-01, 4.520416954891e-02]), 6.245202261218e-01, TOL));
assert(isequalRel(mag([9.301058722997e+03, 3.883152655738e+03, -5.477864770168e+03]), 1.147151124990e+04, TOL));
assert(isequalRel(mag([-2.914310658284e+03, 2.666520392758e+04, -4.511098143349e+03]), 2.720066752070e+04, TOL));
assert(isequalRel(mag([-2.216261908828e+00, 7.100677692327e-01, 9.406918236661e-01]), 2.510162184508e+00, TOL));
assert(isequalRel(mag([2.828692470651e+04, 1.273924318996e+04, 5.702771768785e+04]), 6.491994309216e+04, TOL));
assert(isequalRel(mag([-1.273924318996e+04, 2.828692470651e+04, 0.000000000000e+00]), 3.102319175076e+04, TOL));
assert(isequalRel(mag([1.786660087902e-01, -5.964772225827e-01, 4.462315099862e-02]), 6.242578356432e-01, TOL));
assert(isequalRel(mag([-1.273924318996e+04, 2.828692470651e+04, 0.000000000000e+00]), 3.102319175076e+04, TOL));
assert(isequalRel(mag([1.786660087902e-01, -5.964772225827e-01, 4.462315099862e-02]), 6.242578356432e-01, TOL));
assert(isequalRel(mag([1.786660087902e-01, -5.964772225827e-01, 4.462315099862e-02]), 6.242578356432e-01, TOL));
assert(isequalRel(mag([-2.914310658284e+03, 2.666520392758e+04, -4.511098143349e+03]), 2.720066752070e+04, TOL));
# 28626
assert(isequalRel(mag([3.774000085593e+04, 1.880276872802e+04, 3.455125837297e+00]), 4.216457978426e+04, TOL));
assert(isequalRel(mag([-1.371035205968e+00, 2.752105932104e+00, 3.368828238918e-04]), 3.074707256149e+00, TOL));
assert(isequalRel(mag([-3.174542486912e+00, -1.745105722601e+01, 1.296437381290e+05]), 1.296437393424e+05, TOL));
assert(isequalRel(mag([1.745105722601e+01, -3.174542486912e+00, 0.000000000000e+00]), 1.773744959984e+01, TOL));
assert(isequalRel(mag([5.110007513096e-05, -1.196661846965e-05, -3.595297759904e-10]), 5.248254601406e-05, TOL));
assert(isequalRel(mag([1.745105722601e+01, -3.174542486912e+00, 0.000000000000e+00]), 1.773744959984e+01, TOL));
assert(isequalRel(mag([5.110007513096e-05, -1.196661846965e-05, -3.595297759904e-10]), 5.248254601406e-05, TOL));
assert(isequalRel(mag([5.110007513096e-05, -1.196661846965e-05, -3.595297759904e-10]), 5.248254601406e-05, TOL));
assert(isequalRel(mag([3.774000085593e+04, 1.880276872802e+04, 3.455125837297e+00]), 4.216457978426e+04, TOL));
assert(isequalRel(mag([2.323282515008e+04, 3.518733981802e+04, 4.989274276434e+00]), 4.216530650684e+04, TOL));
assert(isequalRel(mag([-2.565776620125e+00, 1.694193131851e+00, 1.633653544487e-04]), 3.074654461737e+00, TOL));
assert(isequalRel(mag([-2.704401970577e+00, -1.659680200535e+01, 1.296437466322e+05]), 1.296437477228e+05, TOL));
assert(isequalRel(mag([1.659680200535e+01, -2.704401970577e+00, 0.000000000000e+00]), 1.681569584713e+01, TOL));
assert(isequalRel(mag([3.800875721673e-05, 2.818891934115e-06, 1.153742876974e-09]), 3.811314442850e-05, TOL));
assert(isequalRel(mag([1.659680200535e+01, -2.704401970577e+00, 0.000000000000e+00]), 1.681569584713e+01, TOL));
assert(isequalRel(mag([3.800875721673e-05, 2.818891934115e-06, 1.153742876974e-09]), 3.811314442850e-05, TOL));
assert(isequalRel(mag([3.800875721673e-05, 2.818891934115e-06, 1.153742876974e-09]), 3.811314442850e-05, TOL));
assert(isequalRel(mag([2.323282515008e+04, 3.518733981802e+04, 4.989274276434e+00]), 4.216530650684e+04, TOL));
assert(isequalRel(mag([2.467442901779e+03, 4.209360909959e+04, 5.150629869589e+00]), 4.216586567392e+04, TOL));
assert(isequalRel(mag([-3.069341800053e+00, 1.799762762513e-01, -3.173887732038e-05]), 3.074613885770e+00, TOL));
assert(isequalRel(mag([-2.262995079461e+00, -1.573072968778e+01, 1.296437551098e+05]), 1.296437560839e+05, TOL));
assert(isequalRel(mag([1.573072968778e+01, -2.262995079461e+00, 0.000000000000e+00]), 1.589267136889e+01, TOL));
assert(isequalRel(mag([1.926961019287e-05, 9.050429221540e-06, 1.434522538587e-09]), 2.128915564641e-05, TOL));
assert(isequalRel(mag([1.573072968778e+01, -2.262995079461e+00, 0.000000000000e+00]), 1.589267136889e+01, TOL));
assert(isequalRel(mag([1.926961019287e-05, 9.050429221540e-06, 1.434522538587e-09]), 2.128915564641e-05, TOL));
assert(isequalRel(mag([1.926961019287e-05, 9.050429221540e-06, 1.434522538587e-09]), 2.128915564641e-05, TOL));
assert(isequalRel(mag([2.467442901779e+03, 4.209360909959e+04, 5.150629869589e+00]), 4.216586567392e+04, TOL));
assert(isequalRel(mag([-1.896259052991e+04, 3.766166243819e+04, 4.044332575234e+00]), 4.216610811505e+04, TOL));
assert(isequalRel(mag([-2.746151981754e+00, -1.382675777466e+00, -1.976331326273e-04]), 3.074596404659e+00, TOL));
assert(isequalRel(mag([-1.851191639819e+00, -1.485398808551e+01, 1.296437635445e+05]), 1.296437644087e+05, TOL));
assert(isequalRel(mag([1.485398808551e+01, -1.851191639819e+00, 0.000000000000e+00]), 1.496889683750e+01, TOL));
assert(isequalRel(mag([-6.929592834441e-08, 5.049484497707e-06, 5.775573037724e-10]), 5.049959995073e-06, TOL));
assert(isequalRel(mag([1.485398808551e+01, -1.851191639819e+00, 0.000000000000e+00]), 1.496889683750e+01, TOL));
assert(isequalRel(mag([-6.929592834441e-08, 5.049484497707e-06, 5.775573037724e-10]), 5.049959995073e-06, TOL));
assert(isequalRel(mag([-6.929592834441e-08, 5.049484497707e-06, 5.775573037724e-10]), 5.049959995073e-06, TOL));
assert(isequalRel(mag([-1.896259052991e+04, 3.766166243819e+04, 4.044332575234e+00]), 4.216610811505e+04, TOL));
assert(isequalRel(mag([-3.528500095313e+04, 2.308544402778e+04, 2.087118800595e+00]), 4.216596995894e+04, TOL));
assert(isequalRel(mag([-1.683277907554e+00, -2.572893625018e+00, -2.962820474671e-04]), 3.074606675251e+00, TOL));
assert(isequalRel(mag([-1.469867966532e+00, -1.396751329475e+01, 1.296437719291e+05]), 1.296437726899e+05, TOL));
assert(isequalRel(mag([1.396751329475e+01, -1.469867966532e+00, 0.000000000000e+00]), 1.404464095227e+01, TOL));
assert(isequalRel(mag([-1.479861752869e-05, -8.106417868085e-06, -1.041149229085e-09]), 1.687344340959e-05, TOL));
assert(isequalRel(mag([1.396751329475e+01, -1.469867966532e+00, 0.000000000000e+00]), 1.404464095227e+01, TOL));
assert(isequalRel(mag([-1.479861752869e-05, -8.106417868085e-06, -1.041149229085e-09]), 1.687344340959e-05, TOL));
assert(isequalRel(mag([-1.479861752869e-05, -8.106417868085e-06, -1.041149229085e-09]), 1.687344340959e-05, TOL));
assert(isequalRel(mag([-3.528500095313e+04, 2.308544402778e+04, 2.087118800595e+00]), 4.216596995894e+04, TOL));
assert(isequalRel(mag([-4.210320138132e+04, 2.291062288930e+03, -1.327496350641e-01]), 4.216548983453e+04, TOL));
assert(isequalRel(mag([-1.669748164887e-01, -3.070104560267e+00, -3.110070365039e-04]), 3.074641881104e+00, TOL));
assert(isequalRel(mag([-1.120091752910e+00, -1.307222604298e+01, 1.296437802679e+05]), 1.296437809318e+05, TOL));
assert(isequalRel(mag([1.307222604298e+01, -1.120091752910e+00, 0.000000000000e+00]), 1.312012573315e+01, TOL));
assert(isequalRel(mag([-2.095054072555e-05, -2.687404794963e-05, -2.890768508900e-09]), 3.407549879677e-05, TOL));
assert(isequalRel(mag([1.307222604298e+01, -1.120091752910e+00, 0.000000000000e+00]), 1.312012573315e+01, TOL));
assert(isequalRel(mag([-2.095054072555e-05, -2.687404794963e-05, -2.890768508900e-09]), 3.407549879677e-05, TOL));
assert(isequalRel(mag([-2.095054072555e-05, -2.687404794963e-05, -2.890768508900e-09]), 3.407549879677e-05, TOL));
assert(isequalRel(mag([-4.210320138132e+04, 2.291062288930e+03, -1.327496350641e-01]), 4.216548983453e+04, TOL));
assert(isequalRel(mag([-3.758031858370e+04, -1.912040485693e+04, -2.027557016159e+00]), 4.216479847996e+04, TOL));
assert(isequalRel(mag([1.394367847791e+00, -2.740341611982e+00, -2.485907402960e-04]), 3.074692489846e+00, TOL));
assert(isequalRel(mag([-8.030432639037e-01, -1.216927953018e+01, 1.296437885757e+05]), 1.296437891493e+05, TOL));
assert(isequalRel(mag([1.216927953018e+01, -8.030432639037e-01, 0.000000000000e+00]), 1.219574691305e+01, TOL));
assert(isequalRel(mag([-1.686732989579e-05, -4.619855780472e-05, -4.441002270875e-09]), 4.918143532648e-05, TOL));
assert(isequalRel(mag([1.216927953018e+01, -8.030432639037e-01, 0.000000000000e+00]), 1.219574691305e+01, TOL));
assert(isequalRel(mag([-1.686732989579e-05, -4.619855780472e-05, -4.441002270875e-09]), 4.918143532648e-05, TOL));
assert(isequalRel(mag([-1.686732989579e-05, -4.619855780472e-05, -4.441002270875e-09]), 4.918143532648e-05, TOL));
assert(isequalRel(mag([-3.758031858370e+04, -1.912040485693e+04, -2.027557016159e+00]), 4.216479847996e+04, TOL));
assert(isequalRel(mag([-2.293420761876e+04, -3.538123870806e+04, -3.164959320817e+00]), 4.216408355027e+04, TOL));
assert(isequalRel(mag([2.580167539475e+00, -1.672360950534e+00, -1.349072104218e-04]), 3.074744818490e+00, TOL));
assert(isequalRel(mag([-5.197701627912e-01, -1.126011527641e+01, 1.296437968740e+05]), 1.296437973640e+05, TOL));
assert(isequalRel(mag([1.126011527641e+01, -5.197701627912e-01, 0.000000000000e+00]), 1.127210526300e+01, TOL));
assert(isequalRel(mag([-3.648069735420e-06, -6.087470542059e-05, -5.301853037533e-09]), 6.098391755986e-05, TOL));
assert(isequalRel(mag([1.126011527641e+01, -5.197701627912e-01, 0.000000000000e+00]), 1.127210526300e+01, TOL));
assert(isequalRel(mag([-3.648069735420e-06, -6.087470542059e-05, -5.301853037533e-09]), 6.098391755986e-05, TOL));
assert(isequalRel(mag([-3.648069735420e-06, -6.087470542059e-05, -5.301853037533e-09]), 6.098391755986e-05, TOL));
assert(isequalRel(mag([-2.293420761876e+04, -3.538123870806e+04, -3.164959320817e+00]), 4.216408355027e+04, TOL));
assert(isequalRel(mag([-2.109903323895e+03, -4.211071508198e+04, -3.365078891801e+00]), 4.216353908386e+04, TOL));
assert(isequalRel(mag([3.070935368803e+00, -1.538083903627e-01, -5.854950569728e-06]), 3.074784717724e+00, TOL));
assert(isequalRel(mag([-2.710212125304e-01, -1.034629316731e+01, 1.296438051849e+05]), 1.296438055981e+05, TOL));
assert(isequalRel(mag([1.034629316731e+01, -2.710212125304e-01, 0.000000000000e+00]), 1.034984225975e+01, TOL));
assert(isequalRel(mag([1.514693109789e-05, -6.694897531788e-05, -5.311234002083e-09]), 6.864105801929e-05, TOL));
assert(isequalRel(mag([1.034629316731e+01, -2.710212125304e-01, 0.000000000000e+00]), 1.034984225975e+01, TOL));
assert(isequalRel(mag([1.514693109789e-05, -6.694897531788e-05, -5.311234002083e-09]), 6.864105801929e-05, TOL));
assert(isequalRel(mag([1.514693109789e-05, -6.694897531788e-05, -5.311234002083e-09]), 6.864105801929e-05, TOL));
assert(isequalRel(mag([-2.109903323895e+03, -4.211071508198e+04, -3.365078891801e+00]), 4.216353908386e+04, TOL));
assert(isequalRel(mag([1.928277774728e+04, -3.749559250598e+04, -2.718614618432e+00]), 4.216331322863e+04, TOL));
assert(isequalRel(mag([2.734400524359e+00, 1.406220933068e+00, 1.034861081231e-04]), 3.074801383979e+00, TOL));
assert(isequalRel(mag([-5.730015483006e-02, -9.429280861040e+00, 1.296438135254e+05]), 1.296438138683e+05, TOL));
assert(isequalRel(mag([9.429280861040e+00, -5.730015483006e-02, 0.000000000000e+00]), 9.429454961137e+00, TOL));
assert(isequalRel(mag([3.445492642230e-05, -6.278495176828e-05, -4.551259758613e-09]), 7.161768038708e-05, TOL));
assert(isequalRel(mag([9.429280861040e+00, -5.730015483006e-02, 0.000000000000e+00]), 9.429454961137e+00, TOL));
assert(isequalRel(mag([3.445492642230e-05, -6.278495176828e-05, -4.551259758613e-09]), 7.161768038708e-05, TOL));
assert(isequalRel(mag([3.445492642230e-05, -6.278495176828e-05, -4.551259758613e-09]), 7.161768038708e-05, TOL));
assert(isequalRel(mag([1.928277774728e+04, -3.749559250598e+04, -2.718614618432e+00]), 4.216331322863e+04, TOL));
assert(isequalRel(mag([3.548060990600e+04, -2.277903375285e+04, -1.528418589129e+00]), 4.216346831502e+04, TOL));
assert(isequalRel(mag([1.661210675962e+00, 2.587414593138e+00, 1.682997515478e-04]), 3.074790271715e+00, TOL));
assert(isequalRel(mag([1.209468408334e-01, -8.510403109543e+00, 1.296438219025e+05]), 1.296438221819e+05, TOL));
assert(isequalRel(mag([8.510403109543e+00, 1.209468408334e-01, 0.000000000000e+00]), 8.511262493028e+00, TOL));
assert(isequalRel(mag([4.907472014676e-05, -4.950456864677e-05, -3.295484976027e-09]), 6.970674633954e-05, TOL));
assert(isequalRel(mag([8.510403109543e+00, 1.209468408334e-01, 0.000000000000e+00]), 8.511262493028e+00, TOL));
assert(isequalRel(mag([4.907472014676e-05, -4.950456864677e-05, -3.295484976027e-09]), 6.970674633954e-05, TOL));
assert(isequalRel(mag([4.907472014676e-05, -4.950456864677e-05, -3.295484976027e-09]), 6.970674633954e-05, TOL));
assert(isequalRel(mag([3.548060990600e+04, -2.277903375285e+04, -1.528418589129e+00]), 4.216346831502e+04, TOL));
assert(isequalRel(mag([4.211996263499e+04, -1.925775672630e+03, -1.982743315433e-01]), 4.216396404933e+04, TOL));
assert(isequalRel(mag([1.405212063672e-01, 3.071541613467e+00, 1.795611668152e-04]), 3.074754319445e+00, TOL));
assert(isequalRel(mag([2.632133334161e-01, -7.590971385211e+00, 1.296438303118e+05]), 1.296438305343e+05, TOL));
assert(isequalRel(mag([7.590971385211e+00, 2.632133334161e-01, 0.000000000000e+00]), 7.595533413130e+00, TOL));
assert(isequalRel(mag([5.506823198957e-05, -3.068593002813e-05, -1.908542111757e-09]), 6.304075253192e-05, TOL));
assert(isequalRel(mag([7.590971385211e+00, 2.632133334161e-01, 0.000000000000e+00]), 7.595533413130e+00, TOL));
assert(isequalRel(mag([5.506823198957e-05, -3.068593002813e-05, -1.908542111757e-09]), 6.304075253192e-05, TOL));
assert(isequalRel(mag([5.506823198957e-05, -3.068593002813e-05, -1.908542111757e-09]), 6.304075253192e-05, TOL));
assert(isequalRel(mag([4.211996263499e+04, -1.925775672630e+03, -1.982743315433e-01]), 4.216396404933e+04, TOL));
# 28872
assert(isequalRel(mag([-5.799242561336e+03, 2.589148111188e+03, 2.011545150996e+03]), 6.661922854655e+03, TOL));
assert(isequalRel(mag([2.325207364368e+00, -4.712567240989e-02, 7.296234070991e+00]), 7.657926725623e+00, TOL));
assert(isequalRel(mag([1.898582608151e+04, 4.698989076082e+04, -5.747013050402e+03]), 5.100528977187e+04, TOL));
assert(isequalRel(mag([-4.698989076082e+04, 1.898582608151e+04, 0.000000000000e+00]), 5.068048367677e+04, TOL));
assert(isequalRel(mag([1.105264952080e-02, -7.595431904404e-03, -2.558978597012e-02]), 2.889098117477e-02, TOL));
assert(isequalRel(mag([-4.698989076082e+04, 1.898582608151e+04, 0.000000000000e+00]), 5.068048367677e+04, TOL));
assert(isequalRel(mag([1.105264952080e-02, -7.595431904404e-03, -2.558978597012e-02]), 2.889098117477e-02, TOL));
assert(isequalRel(mag([1.105264952080e-02, -7.595431904404e-03, -2.558978597012e-02]), 2.889098117477e-02, TOL));
assert(isequalRel(mag([-5.799242561336e+03, 2.589148111188e+03, 2.011545150996e+03]), 6.661922854655e+03, TOL));
assert(isequalRel(mag([-4.769050619670e+03, 2.420465805618e+03, 4.035308558368e+03]), 6.699717433622e+03, TOL));
assert(isequalRel(mag([4.464585796417e+00, -1.060923208853e+00, 6.070907874485e+00]), 7.610125282092e+00, TOL));
assert(isequalRel(mag([1.897557742370e+04, 4.696844823462e+04, -5.746780769873e+03]), 5.098169433579e+04, TOL));
assert(isequalRel(mag([-4.696844823462e+04, 1.897557742370e+04, 0.000000000000e+00]), 5.065676330098e+04, TOL));
assert(isequalRel(mag([1.176861099235e-02, -7.902417168654e-03, -2.572711376684e-02]), 2.937401546552e-02, TOL));
assert(isequalRel(mag([-4.696844823462e+04, 1.897557742370e+04, 0.000000000000e+00]), 5.065676330098e+04, TOL));
assert(isequalRel(mag([1.176861099235e-02, -7.902417168654e-03, -2.572711376684e-02]), 2.937401546552e-02, TOL));
assert(isequalRel(mag([1.176861099235e-02, -7.902417168654e-03, -2.572711376684e-02]), 2.937401546552e-02, TOL));
assert(isequalRel(mag([-4.769050619670e+03, 2.420465805618e+03, 4.035308558368e+03]), 6.699717433622e+03, TOL));
assert(isequalRel(mag([-3.175451573399e+03, 1.965987380859e+03, 5.582125696073e+03]), 6.716303027966e+03, TOL));
assert(isequalRel(mag([6.049639376478e+00, -1.935777557718e+00, 4.148607019377e+00]), 7.586587608380e+00, TOL));
assert(isequalRel(mag([1.896186269506e+04, 4.694354810251e+04, -5.746546781494e+03]), 5.095362347499e+04, TOL));
assert(isequalRel(mag([-4.694354810251e+04, 1.896186269506e+04, 0.000000000000e+00]), 5.062853884242e+04, TOL));
assert(isequalRel(mag([1.211993856049e-02, -8.148370878515e-03, -2.657192836710e-02]), 3.032088778104e-02, TOL));
assert(isequalRel(mag([-4.694354810251e+04, 1.896186269506e+04, 0.000000000000e+00]), 5.062853884242e+04, TOL));
assert(isequalRel(mag([1.211993856049e-02, -8.148370878515e-03, -2.657192836710e-02]), 3.032088778104e-02, TOL));
assert(isequalRel(mag([1.211993856049e-02, -8.148370878515e-03, -2.657192836710e-02]), 3.032088778104e-02, TOL));
assert(isequalRel(mag([-3.175451573399e+03, 1.965987380859e+03, 5.582125696073e+03]), 6.716303027966e+03, TOL));
assert(isequalRel(mag([-1.210190248024e+03, 1.281545412937e+03, 6.474681727721e+03]), 6.710322090416e+03, TOL));
assert(isequalRel(mag([6.920746272878e+00, -2.580517337172e+00, 1.748783867509e+00]), 7.590391539062e+00, TOL));
assert(isequalRel(mag([1.894917439468e+04, 4.692599061756e+04, -5.746333723805e+03]), 5.093270223486e+04, TOL));
assert(isequalRel(mag([-4.692599061756e+04, 1.894917439468e+04, 0.000000000000e+00]), 5.060750740433e+04, TOL));
assert(isequalRel(mag([1.167012616960e-02, -8.073913139648e-03, -2.745004446731e-02]), 3.090121129435e-02, TOL));
assert(isequalRel(mag([-4.692599061756e+04, 1.894917439468e+04, 0.000000000000e+00]), 5.060750740433e+04, TOL));
assert(isequalRel(mag([1.167012616960e-02, -8.073913139648e-03, -2.745004446731e-02]), 3.090121129435e-02, TOL));
assert(isequalRel(mag([1.167012616960e-02, -8.073913139648e-03, -2.745004446731e-02]), 3.090121129435e-02, TOL));
assert(isequalRel(mag([-1.210190248024e+03, 1.281545412937e+03, 6.474681727721e+03]), 6.710322090416e+03, TOL));
assert(isequalRel(mag([8.967379953280e+02, 4.471235730478e+02, 6.607224005065e+03]), 6.682773943128e+03, TOL));
assert(isequalRel(mag([6.983396281749e+00, -2.925846167662e+00, -8.726552065311e-01]), 7.621674785391e+00, TOL));
assert(isequalRel(mag([1.894153632012e+04, 4.692340663017e+04, -5.746158524532e+03]), 5.092746042889e+04, TOL));
assert(isequalRel(mag([-4.692340663017e+04, 1.894153632012e+04, 0.000000000000e+00]), 5.060225180708e+04, TOL));
assert(isequalRel(mag([1.072135245144e-02, -7.704058851294e-03, -2.757003633746e-02]), 3.056806871265e-02, TOL));
assert(isequalRel(mag([-4.692340663017e+04, 1.894153632012e+04, 0.000000000000e+00]), 5.060225180708e+04, TOL));
assert(isequalRel(mag([1.072135245144e-02, -7.704058851294e-03, -2.757003633746e-02]), 3.056806871265e-02, TOL));
assert(isequalRel(mag([1.072135245144e-02, -7.704058851294e-03, -2.757003633746e-02]), 3.056806871265e-02, TOL));
assert(isequalRel(mag([8.967379953280e+02, 4.471235730478e+02, 6.607224005065e+03]), 6.682773943128e+03, TOL));
assert(isequalRel(mag([2.896996635344e+03, -4.400473859436e+02, 5.954926754864e+03]), 6.636820312684e+03, TOL));
assert(isequalRel(mag([6.211488246365e+00, -2.926949814866e+00, -3.433959805617e+00]), 7.677349894336e+00, TOL));
assert(isequalRel(mag([1.894087679859e+04, 4.693712754858e+04, -5.746014599854e+03]), 5.093984138366e+04, TOL));
assert(isequalRel(mag([-4.693712754858e+04, 1.894087679859e+04, 0.000000000000e+00]), 5.061472865096e+04, TOL));
assert(isequalRel(mag([1.005502482315e-02, -7.330961946227e-03, -2.673910879823e-02]), 2.949282059374e-02, TOL));
assert(isequalRel(mag([-4.693712754858e+04, 1.894087679859e+04, 0.000000000000e+00]), 5.061472865096e+04, TOL));
assert(isequalRel(mag([1.005502482315e-02, -7.330961946227e-03, -2.673910879823e-02]), 2.949282059374e-02, TOL));
assert(isequalRel(mag([1.005502482315e-02, -7.330961946227e-03, -2.673910879823e-02]), 2.949282059374e-02, TOL));
assert(isequalRel(mag([2.896996635344e+03, -4.400473859436e+02, 5.954926754864e+03]), 6.636820312684e+03, TOL));
assert(isequalRel(mag([4.545789701674e+03, -1.273559528721e+03, 4.580165129838e+03]), 6.577542892420e+03, TOL));
assert(isequalRel(mag([4.656984232729e+00, -2.568711512559e+00, -5.638510953752e+00]), 7.751037785627e+00, TOL));
assert(isequalRel(mag([1.894610225138e+04, 4.696124181929e+04, -5.745875695667e+03]), 5.096398837650e+04, TOL));
assert(isequalRel(mag([-4.696124181929e+04, 1.894610225138e+04, 0.000000000000e+00]), 5.063904643385e+04, TOL));
assert(isequalRel(mag([1.022374607497e-02, -7.253843377730e-03, -2.557475348155e-02]), 2.848177036626e-02, TOL));
assert(isequalRel(mag([-4.696124181929e+04, 1.894610225138e+04, 0.000000000000e+00]), 5.063904643385e+04, TOL));
assert(isequalRel(mag([1.022374607497e-02, -7.253843377730e-03, -2.557475348155e-02]), 2.848177036626e-02, TOL));
assert(isequalRel(mag([1.022374607497e-02, -7.253843377730e-03, -2.557475348155e-02]), 2.848177036626e-02, TOL));
assert(isequalRel(mag([4.545789701674e+03, -1.273559528721e+03, 4.580165129838e+03]), 6.577542892420e+03, TOL));
assert(isequalRel(mag([5.627432993706e+03, -1.947942824694e+03, 2.634167149295e+03]), 6.511629589999e+03, TOL));
assert(isequalRel(mag([2.464141046782e+00, -1.873985160836e+00, -7.195743032304e+00]), 7.833423853490e+00, TOL));
assert(isequalRel(mag([1.895328615706e+04, 4.698452115088e+04, -5.745720052693e+03]), 5.098809255947e+04, TOL));
assert(isequalRel(mag([-4.698452115088e+04, 1.895328615706e+04, 0.000000000000e+00]), 5.066332286703e+04, TOL));
assert(isequalRel(mag([1.098937698241e-02, -7.486378045183e-03, -2.496799002672e-02]), 2.828803260517e-02, TOL));
assert(isequalRel(mag([-4.698452115088e+04, 1.895328615706e+04, 0.000000000000e+00]), 5.066332286703e+04, TOL));
assert(isequalRel(mag([1.098937698241e-02, -7.486378045183e-03, -2.496799002672e-02]), 2.828803260517e-02, TOL));
assert(isequalRel(mag([1.098937698241e-02, -7.486378045183e-03, -2.496799002672e-02]), 2.828803260517e-02, TOL));
assert(isequalRel(mag([5.627432993706e+03, -1.947942824694e+03, 2.634167149295e+03]), 6.511629589999e+03, TOL));
assert(isequalRel(mag([5.984723185337e+03, -2.371376916090e+03, 3.498799620911e+02]), 6.446918339109e+03, TOL));
assert(isequalRel(mag([-1.212769495689e-01, -9.119815461885e-01, -7.859613893998e+00]), 7.913276755037e+00, TOL));
assert(isequalRel(mag([1.895719102641e+04, 4.699518112468e+04, -5.745550462735e+03]), 5.099934794361e+04, TOL));
assert(isequalRel(mag([-4.699518112468e+04, 1.895719102641e+04, 0.000000000000e+00]), 5.067466961465e+04, TOL));
assert(isequalRel(mag([1.149020689799e-02, -7.715433021114e-03, -2.519621507518e-02]), 2.874720882759e-02, TOL));
assert(isequalRel(mag([-4.699518112468e+04, 1.895719102641e+04, 0.000000000000e+00]), 5.067466961465e+04, TOL));
assert(isequalRel(mag([1.149020689799e-02, -7.715433021114e-03, -2.519621507518e-02]), 2.874720882759e-02, TOL));
assert(isequalRel(mag([1.149020689799e-02, -7.715433021114e-03, -2.519621507518e-02]), 2.874720882759e-02, TOL));
assert(isequalRel(mag([5.984723185337e+03, -2.371376916090e+03, 3.498799620911e+02]), 6.446918339109e+03, TOL));
assert(isequalRel(mag([5.548433259218e+03, -2.480164692448e+03, -1.979243145270e+03]), 6.391692417643e+03, TOL));
assert(isequalRel(mag([-2.763269533889e+00, 1.996919153146e-01, -7.482796996303e+00]), 7.979209626639e+00, TOL));
assert(isequalRel(mag([1.895380776554e+04, 4.698698200974e+04, -5.745386269140e+03]), 5.099051647688e+04, TOL));
assert(isequalRel(mag([-4.698698200974e+04, 1.895380776554e+04, 0.000000000000e+00]), 5.066580017326e+04, TOL));
assert(isequalRel(mag([1.112355344837e-02, -7.613762218446e-03, -2.557078110546e-02]), 2.890618727506e-02, TOL));
assert(isequalRel(mag([-4.698698200974e+04, 1.895380776554e+04, 0.000000000000e+00]), 5.066580017326e+04, TOL));
assert(isequalRel(mag([1.112355344837e-02, -7.613762218446e-03, -2.557078110546e-02]), 2.890618727506e-02, TOL));
assert(isequalRel(mag([1.112355344837e-02, -7.613762218446e-03, -2.557078110546e-02]), 2.890618727506e-02, TOL));
assert(isequalRel(mag([5.548433259218e+03, -2.480164692448e+03, -1.979243145270e+03]), 6.391692417643e+03, TOL));
# 29141
assert(isequalRel(mag([9.318088358700e+02, -1.017178522393e+03, 6.529192445268e+03]), 6.673325545810e+03, TOL));
assert(isequalRel(mag([-2.988479182834e-01, 7.613891977075e+00, 1.226399480369e+00]), 7.717818137419e+00, TOL));
assert(isequalRel(mag([-5.096003318711e+04, -3.094005442454e+03, 6.790710135658e+03]), 5.150351052361e+04, TOL));
assert(isequalRel(mag([3.094005442454e+03, -5.096003318711e+04, 0.000000000000e+00]), 5.105387205794e+04, TOL));
assert(isequalRel(mag([-3.991457075705e-04, 7.238253777886e-04, -2.665547267431e-03]), 2.790767404911e-03, TOL));
assert(isequalRel(mag([3.094005442454e+03, -5.096003318711e+04, 0.000000000000e+00]), 5.105387205794e+04, TOL));
assert(isequalRel(mag([-3.991457075705e-04, 7.238253777886e-04, -2.665547267431e-03]), 2.790767404911e-03, TOL));
assert(isequalRel(mag([-3.991457075705e-04, 7.238253777886e-04, -2.665547267431e-03]), 2.790767404911e-03, TOL));
assert(isequalRel(mag([9.318088358700e+02, -1.017178522393e+03, 6.529192445268e+03]), 6.673325545810e+03, TOL));
assert(isequalRel(mag([-8.344906141046e+01, 6.286202084526e+03, 2.223498371606e+03]), 6.668376519205e+03, TOL));
assert(isequalRel(mag([-1.113515974336e+00, 2.530970283428e+00, -7.219445567640e+00]), 7.730855237606e+00, TOL));
assert(isequalRel(mag([-5.101050208021e+04, -3.078356912217e+03, 6.788579344412e+03]), 5.155222995438e+04, TOL));
assert(isequalRel(mag([3.078356912217e+03, -5.101050208021e+04, 0.000000000000e+00]), 5.110330325678e+04, TOL));
assert(isequalRel(mag([-1.359557329556e-04, 1.772917960543e-04, -9.411988059245e-04]), 9.673528490398e-04, TOL));
assert(isequalRel(mag([3.078356912217e+03, -5.101050208021e+04, 0.000000000000e+00]), 5.110330325678e+04, TOL));
assert(isequalRel(mag([-1.359557329556e-04, 1.772917960543e-04, -9.411988059245e-04]), 9.673528490398e-04, TOL));
assert(isequalRel(mag([-1.359557329556e-04, 1.772917960543e-04, -9.411988059245e-04]), 9.673528490398e-04, TOL));
assert(isequalRel(mag([-8.344906141046e+01, 6.286202084526e+03, 2.223498371606e+03]), 6.668376519205e+03, TOL));
assert(isequalRel(mag([-9.585768122083e+02, 3.259260053478e+03, -5.722637324667e+03]), 6.655090048284e+03, TOL));
assert(isequalRel(mag([-1.012258127257e-01, -6.735338321376e+00, -3.804851872132e+00]), 7.736402700056e+00, TOL));
assert(isequalRel(mag([-5.094490018841e+04, -3.067964164389e+03, 6.786260385047e+03]), 5.148639227344e+04, TOL));
assert(isequalRel(mag([3.067964164389e+03, -5.094490018841e+04, 0.000000000000e+00]), 5.103719486141e+04, TOL));
assert(isequalRel(mag([8.068149536785e-05, -1.720049216427e-03, -1.719265931774e-04]), 1.730502113280e-03, TOL));
assert(isequalRel(mag([3.067964164389e+03, -5.094490018841e+04, 0.000000000000e+00]), 5.103719486141e+04, TOL));
assert(isequalRel(mag([8.068149536785e-05, -1.720049216427e-03, -1.719265931774e-04]), 1.730502113280e-03, TOL));
assert(isequalRel(mag([8.068149536785e-05, -1.720049216427e-03, -1.719265931774e-04]), 1.730502113280e-03, TOL));
assert(isequalRel(mag([-9.585768122083e+02, 3.259260053478e+03, -5.722637324667e+03]), 6.655090048284e+03, TOL));
assert(isequalRel(mag([-2.552561998463e+02, -5.132597629736e+03, -4.221272331177e+03]), 6.650402563025e+03, TOL));
assert(isequalRel(mag([1.077709303174e+00, -4.905938824423e+00, 5.892521263779e+00]), 7.742835393783e+00, TOL));
assert(isequalRel(mag([-5.095324448963e+04, -3.045201877234e+03, 6.783719516015e+03]), 5.149296290722e+04, TOL));
assert(isequalRel(mag([3.045201877234e+03, -5.095324448963e+04, 0.000000000000e+00]), 5.104416106170e+04, TOL));
assert(isequalRel(mag([-9.404677131091e-05, 1.878931542775e-04, -6.220504158489e-04]), 6.565785196579e-04, TOL));
assert(isequalRel(mag([3.045201877234e+03, -5.095324448963e+04, 0.000000000000e+00]), 5.104416106170e+04, TOL));
assert(isequalRel(mag([-9.404677131091e-05, 1.878931542775e-04, -6.220504158489e-04]), 6.565785196579e-04, TOL));
assert(isequalRel(mag([-9.404677131091e-05, 1.878931542775e-04, -6.220504158489e-04]), 6.565785196579e-04, TOL));
assert(isequalRel(mag([-2.552561998463e+02, -5.132597629736e+03, -4.221272331177e+03]), 6.650402563025e+03, TOL));
assert(isequalRel(mag([8.674429509677e+02, -5.038404029333e+03, 4.256738105326e+03]), 6.652652984586e+03, TOL));
assert(isequalRel(mag([4.794475348774e-01, 5.032326445668e+00, 5.857126248379e+00]), 7.736931386792e+00, TOL));
assert(isequalRel(mag([-5.093186422986e+04, -3.039840285867e+03, 6.780906493844e+03]), 5.147111923954e+04, TOL));
assert(isequalRel(mag([3.039840285867e+03, -5.093186422986e+04, 0.000000000000e+00]), 5.102249918313e+04, TOL));
assert(isequalRel(mag([-1.135462981758e-04, 7.918527852530e-04, -4.978712873374e-04]), 9.422310831730e-04, TOL));
assert(isequalRel(mag([3.039840285867e+03, -5.093186422986e+04, 0.000000000000e+00]), 5.102249918313e+04, TOL));
assert(isequalRel(mag([-1.135462981758e-04, 7.918527852530e-04, -4.978712873374e-04]), 9.422310831730e-04, TOL));
assert(isequalRel(mag([-1.135462981758e-04, 7.918527852530e-04, -4.978712873374e-04]), 9.422310831730e-04, TOL));
assert(isequalRel(mag([8.674429509677e+02, -5.038404029333e+03, 4.256738105326e+03]), 6.652652984586e+03, TOL));
assert(isequalRel(mag([5.591688201275e+02, 3.376305879365e+03, 5.699220173906e+03]), 6.647798263418e+03, TOL));
assert(isequalRel(mag([-9.067493283052e-01, 6.646149866798e+00, -3.852331832189e+00]), 7.735241621412e+00, TOL));
assert(isequalRel(mag([-5.088452201395e+04, -3.013660219208e+03, 6.777782867675e+03]), 5.142232072851e+04, TOL));
assert(isequalRel(mag([3.013660219208e+03, -5.088452201395e+04, 0.000000000000e+00]), 5.097368662854e+04, TOL));
assert(isequalRel(mag([-2.285276855003e-04, -6.841521521175e-04, -2.019882376824e-03]), 2.144810920918e-03, TOL));
assert(isequalRel(mag([3.013660219208e+03, -5.088452201395e+04, 0.000000000000e+00]), 5.097368662854e+04, TOL));
assert(isequalRel(mag([-2.285276855003e-04, -6.841521521175e-04, -2.019882376824e-03]), 2.144810920918e-03, TOL));
assert(isequalRel(mag([-2.285276855003e-04, -6.841521521175e-04, -2.019882376824e-03]), 2.144810920918e-03, TOL));
assert(isequalRel(mag([5.591688201275e+02, 3.376305879365e+03, 5.699220173906e+03]), 6.647798263418e+03, TOL));
assert(isequalRel(mag([-6.698518420486e+02, 6.196002294840e+03, -2.281957417704e+03]), 6.636751885085e+03, TOL));
assert(isequalRel(mag([-7.958040917752e-01, -2.752114827104e+00, -7.202478519577e+00]), 7.751331304945e+00, TOL));
assert(isequalRel(mag([-5.090678227992e+04, -3.008602453389e+03, 6.774313165348e+03]), 5.144359522506e+04, TOL));
assert(isequalRel(mag([3.008602453389e+03, -5.090678227992e+04, 0.000000000000e+00]), 5.099560932882e+04, TOL));
assert(isequalRel(mag([-2.058977538908e-04, -2.086812192915e-04, -1.639934660005e-03]), 1.665931398776e-03, TOL));
assert(isequalRel(mag([3.008602453389e+03, -5.090678227992e+04, 0.000000000000e+00]), 5.099560932882e+04, TOL));
assert(isequalRel(mag([-2.058977538908e-04, -2.086812192915e-04, -1.639934660005e-03]), 1.665931398776e-03, TOL));
assert(isequalRel(mag([-2.058977538908e-04, -2.086812192915e-04, -1.639934660005e-03]), 1.665931398776e-03, TOL));
assert(isequalRel(mag([-6.698518420486e+02, 6.196002294840e+03, -2.281957417704e+03]), 6.636751885085e+03, TOL));
assert(isequalRel(mag([-7.842070801930e+02, -1.278531255533e+03, -6.449198925965e+03]), 6.621313291384e+03, TOL));
assert(isequalRel(mag([6.367023798193e-01, -7.595425203451e+00, 1.431090801759e+00]), 7.755249501116e+00, TOL));
assert(isequalRel(mag([-5.081410238390e+04, -2.983948764952e+03, 6.770430114693e+03]), 5.134993354670e+04, TOL));
assert(isequalRel(mag([2.983948764952e+03, -5.081410238390e+04, 0.000000000000e+00]), 5.090163996683e+04, TOL));
assert(isequalRel(mag([1.378880026463e-04, -1.587240808677e-04, 9.649358236086e-04]), 9.875766192070e-04, TOL));
assert(isequalRel(mag([2.983948764952e+03, -5.081410238390e+04, 0.000000000000e+00]), 5.090163996683e+04, TOL));
assert(isequalRel(mag([1.378880026463e-04, -1.587240808677e-04, 9.649358236086e-04]), 9.875766192070e-04, TOL));
assert(isequalRel(mag([1.378880026463e-04, -1.587240808677e-04, 9.649358236086e-04]), 9.875766192070e-04, TOL));
assert(isequalRel(mag([-7.842070801930e+02, -1.278531255533e+03, -6.449198925965e+03]), 6.621313291384e+03, TOL));
assert(isequalRel(mag([4.061581165884e+02, -6.607031157990e+03, 1.483302147702e+02]), 6.621165078061e+03, TOL));
assert(isequalRel(mag([1.009818574511e+00, 2.318437654711e-01, 7.692047844379e+00]), 7.761513069321e+00, TOL));
assert(isequalRel(mag([-5.085598921209e+04, -2.974401059145e+03, 6.766068012840e+03]), 5.139025565956e+04, TOL));
assert(isequalRel(mag([2.974401059145e+03, -5.085598921209e+04, 0.000000000000e+00]), 5.094289646654e+04, TOL));
assert(isequalRel(mag([-8.026550077179e-06, -6.764593450374e-04, -3.577054696893e-04]), 7.652547772083e-04, TOL));
assert(isequalRel(mag([2.974401059145e+03, -5.085598921209e+04, 0.000000000000e+00]), 5.094289646654e+04, TOL));
assert(isequalRel(mag([-8.026550077179e-06, -6.764593450374e-04, -3.577054696893e-04]), 7.652547772083e-04, TOL));
assert(isequalRel(mag([-8.026550077179e-06, -6.764593450374e-04, -3.577054696893e-04]), 7.652547772083e-04, TOL));
assert(isequalRel(mag([4.061581165884e+02, -6.607031157990e+03, 1.483302147702e+02]), 6.621165078061e+03, TOL));
assert(isequalRel(mag([9.163491181317e+02, -8.840864924780e+02, 6.491098103617e+03]), 6.614806060895e+03, TOL));
assert(isequalRel(mag([-3.021630486618e-01, 7.669887108902e+00, 1.084336908891e+00]), 7.752048587520e+00, TOL));
assert(isequalRel(mag([-5.074463728200e+04, -2.955001162372e+03, 6.761156018564e+03]), 5.127829438913e+04, TOL));
assert(isequalRel(mag([2.955001162372e+03, -5.074463728200e+04, 0.000000000000e+00]), 5.083060342698e+04, TOL));
assert(isequalRel(mag([-3.928773071308e-04, 7.343236875572e-04, -2.627729495904e-03]), 2.756546056247e-03, TOL));
assert(isequalRel(mag([2.955001162372e+03, -5.074463728200e+04, 0.000000000000e+00]), 5.083060342698e+04, TOL));
assert(isequalRel(mag([-3.928773071308e-04, 7.343236875572e-04, -2.627729495904e-03]), 2.756546056247e-03, TOL));
assert(isequalRel(mag([-3.928773071308e-04, 7.343236875572e-04, -2.627729495904e-03]), 2.756546056247e-03, TOL));
assert(isequalRel(mag([9.163491181317e+02, -8.840864924780e+02, 6.491098103617e+03]), 6.614806060895e+03, TOL));
assert(isequalRel(mag([-1.040249096999e+02, 6.304318214051e+03, 1.960087398815e+03]), 6.602816969813e+03, TOL));
assert(isequalRel(mag([-1.108873823088e+00, 2.259522809253e+00, -7.351147709905e+00]), 7.770097627051e+00, TOL));
assert(isequalRel(mag([-5.077283658749e+04, -2.938192084225e+03, 6.755646783783e+03]), 5.130450926898e+04, TOL));
assert(isequalRel(mag([2.938192084225e+03, -5.077283658749e+04, 0.000000000000e+00]), 5.085778119289e+04, TOL));
assert(isequalRel(mag([-1.373437041957e-04, 3.742698137200e-04, -8.694434498137e-04]), 9.564899889534e-04, TOL));
assert(isequalRel(mag([2.938192084225e+03, -5.077283658749e+04, 0.000000000000e+00]), 5.085778119289e+04, TOL));
assert(isequalRel(mag([-1.373437041957e-04, 3.742698137200e-04, -8.694434498137e-04]), 9.564899889534e-04, TOL));
assert(isequalRel(mag([-1.373437041957e-04, 3.742698137200e-04, -8.694434498137e-04]), 9.564899889534e-04, TOL));
assert(isequalRel(mag([-1.040249096999e+02, 6.304318214051e+03, 1.960087398815e+03]), 6.602816969813e+03, TOL));
assert(isequalRel(mag([-9.446164284893e+02, 2.872172483790e+03, -5.846941033616e+03]), 6.582430738276e+03, TOL));
assert(isequalRel(mag([-5.111768583039e-02, -6.989747075746e+00, -3.413102600335e+00]), 7.778717539615e+00, TOL));
assert(isequalRel(mag([-5.067165836481e+04, -2.925190693571e+03, 6.749448729412e+03]), 5.120281984603e+04, TOL));
assert(isequalRel(mag([2.925190693571e+03, -5.067165836481e+04, 0.000000000000e+00]), 5.075602133771e+04, TOL));
assert(isequalRel(mag([1.016703703651e-04, -1.586571264226e-03, 7.567770297112e-05]), 1.591625695760e-03, TOL));
assert(isequalRel(mag([2.925190693571e+03, -5.067165836481e+04, 0.000000000000e+00]), 5.075602133771e+04, TOL));
assert(isequalRel(mag([1.016703703651e-04, -1.586571264226e-03, 7.567770297112e-05]), 1.591625695760e-03, TOL));
assert(isequalRel(mag([1.016703703651e-04, -1.586571264226e-03, 7.567770297112e-05]), 1.591625695760e-03, TOL));
assert(isequalRel(mag([-9.446164284893e+02, 2.872172483790e+03, -5.846941033616e+03]), 6.582430738276e+03, TOL));
assert(isequalRel(mag([-1.871656988818e+02, -5.404861634673e+03, -3.731970576180e+03]), 6.570781130906e+03, TOL));
assert(isequalRel(mag([1.094696706449e+00, -4.412110995417e+00, 6.326060952339e+00]), 7.790002021033e+00, TOL));
assert(isequalRel(mag([-5.065735255364e+04, -2.901354278993e+03, 6.742480068288e+03]), 5.118638746646e+04, TOL));
assert(isequalRel(mag([2.901354278993e+03, -5.065735255364e+04, 0.000000000000e+00]), 5.074037075540e+04, TOL));
assert(isequalRel(mag([-1.015426231835e-04, 7.602385308882e-05, -7.301924930437e-04]), 7.411286038596e-04, TOL));
assert(isequalRel(mag([2.901354278993e+03, -5.065735255364e+04, 0.000000000000e+00]), 5.074037075540e+04, TOL));
assert(isequalRel(mag([-1.015426231835e-04, 7.602385308882e-05, -7.301924930437e-04]), 7.411286038596e-04, TOL));
assert(isequalRel(mag([-1.015426231835e-04, 7.602385308882e-05, -7.301924930437e-04]), 7.411286038596e-04, TOL));
assert(isequalRel(mag([-1.871656988818e+02, -5.404861634673e+03, -3.731970576180e+03]), 6.570781130906e+03, TOL));
assert(isequalRel(mag([8.845972046733e+02, -4.465745161630e+03, 4.725836326961e+03]), 6.561929674445e+03, TOL));
assert(isequalRel(mag([3.806560278094e-01, 5.691554045613e+00, 5.303910983386e+00]), 7.789105095280e+00, TOL));
assert(isequalRel(mag([-5.058326767739e+04, -2.892906745441e+03, 6.734645613431e+03]), 5.111155769392e+04, TOL));
assert(isequalRel(mag([2.892906745441e+03, -5.058326767739e+04, 0.000000000000e+00]), 5.066592423277e+04, TOL));
assert(isequalRel(mag([-1.505312391585e-04, 1.044282128523e-03, -6.820479374977e-04]), 1.256333636802e-03, TOL));
assert(isequalRel(mag([2.892906745441e+03, -5.058326767739e+04, 0.000000000000e+00]), 5.066592423277e+04, TOL));
assert(isequalRel(mag([-1.505312391585e-04, 1.044282128523e-03, -6.820479374977e-04]), 1.256333636802e-03, TOL));
assert(isequalRel(mag([-1.505312391585e-04, 1.044282128523e-03, -6.820479374977e-04]), 1.256333636802e-03, TOL));
assert(isequalRel(mag([8.845972046733e+02, -4.465745161630e+03, 4.725836326961e+03]), 6.561929674445e+03, TOL));
assert(isequalRel(mag([4.464076723613e+02, 4.086668396204e+03, 5.093055966501e+03]), 6.545178184617e+03, TOL));
assert(isequalRel(mag([-9.824244465967e-01, 6.072965199475e+00, -4.791630681766e+00]), 7.797806659423e+00, TOL));
assert(isequalRel(mag([-5.051175731699e+04, -2.864521989914e+03, 6.725861196594e+03]), 5.103802819778e+04, TOL));
assert(isequalRel(mag([2.864521989914e+03, -5.051175731699e+04, 0.000000000000e+00]), 5.059291564519e+04, TOL));
assert(isequalRel(mag([-1.655183250905e-04, -5.925752420222e-04, -1.495431735200e-03]), 1.617052197068e-03, TOL));
assert(isequalRel(mag([2.864521989914e+03, -5.051175731699e+04, 0.000000000000e+00]), 5.059291564519e+04, TOL));
assert(isequalRel(mag([-1.655183250905e-04, -5.925752420222e-04, -1.495431735200e-03]), 1.617052197068e-03, TOL));
assert(isequalRel(mag([-1.655183250905e-04, -5.925752420222e-04, -1.495431735200e-03]), 1.617052197068e-03, TOL));
assert(isequalRel(mag([4.464076723613e+02, 4.086668396204e+03, 5.093055966501e+03]), 6.545178184617e+03, TOL));
assert(isequalRel(mag([-7.522446749459e+02, 5.588354733011e+03, -3.275040925732e+03]), 6.520849157753e+03, TOL));
assert(isequalRel(mag([-6.611613700329e-01, -4.016290740302e+00, -6.676898026330e+00]), 7.819762970952e+00, TOL));
assert(isequalRel(mag([-5.046639123140e+04, -2.857330440092e+03, 6.716037593934e+03]), 5.099143204625e+04, TOL));
assert(isequalRel(mag([2.857330440092e+03, -5.046639123140e+04, 0.000000000000e+00]), 5.054721536509e+04, TOL));
assert(isequalRel(mag([-1.734724342917e-04, -5.028886531232e-04, -1.517479116344e-03]), 1.608021315605e-03, TOL));
assert(isequalRel(mag([2.857330440092e+03, -5.046639123140e+04, 0.000000000000e+00]), 5.054721536509e+04, TOL));
assert(isequalRel(mag([-1.734724342917e-04, -5.028886531232e-04, -1.517479116344e-03]), 1.608021315605e-03, TOL));
assert(isequalRel(mag([-1.734724342917e-04, -5.028886531232e-04, -1.517479116344e-03]), 1.608021315605e-03, TOL));
assert(isequalRel(mag([-7.522446749459e+02, 5.588354733011e+03, -3.275040925732e+03]), 6.520849157753e+03, TOL));
assert(isequalRel(mag([-6.437287252548e+02, -2.585025285602e+03, -5.923013066083e+03]), 6.494522783078e+03, TOL));
assert(isequalRel(mag([8.079221418095e-01, -7.171597814175e+00, 3.041115058342e+00]), 7.831534600165e+00, TOL));
assert(isequalRel(mag([-5.033882688029e+04, -2.827680282456e+03, 6.705062684334e+03]), 5.086207951967e+04, TOL));
assert(isequalRel(mag([2.827680282456e+03, -5.033882688029e+04, 0.000000000000e+00]), 5.041818389692e+04, TOL));
assert(isequalRel(mag([5.531879350080e-05, 3.819313609774e-04, 5.763798386226e-04]), 6.936464890584e-04, TOL));
assert(isequalRel(mag([2.827680282456e+03, -5.033882688029e+04, 0.000000000000e+00]), 5.041818389692e+04, TOL));
assert(isequalRel(mag([5.531879350080e-05, 3.819313609774e-04, 5.763798386226e-04]), 6.936464890584e-04, TOL));
assert(isequalRel(mag([5.531879350080e-05, 3.819313609774e-04, 5.763798386226e-04]), 6.936464890584e-04, TOL));
assert(isequalRel(mag([-6.437287252548e+02, -2.585025285602e+03, -5.923013066083e+03]), 6.494522783078e+03, TOL));
assert(isequalRel(mag([5.844029581851e+02, -6.202356058171e+03, 1.781005360194e+03]), 6.479407965463e+03, TOL));
assert(isequalRel(mag([8.692504496186e-01, 2.226927513957e+00, 7.471676764710e+00]), 7.844791658985e+00, TOL));
assert(isequalRel(mag([-5.030816948541e+04, -2.818330293777e+03, 6.692823819080e+03]), 5.082960548038e+04, TOL));
assert(isequalRel(mag([2.818330293777e+03, -5.030816948541e+04, 0.000000000000e+00]), 5.038705094186e+04, TOL));
assert(isequalRel(mag([2.700755417414e-05, -3.697137981409e-04, 4.732307677791e-05]), 3.737073375169e-04, TOL));
assert(isequalRel(mag([2.818330293777e+03, -5.030816948541e+04, 0.000000000000e+00]), 5.038705094186e+04, TOL));
assert(isequalRel(mag([2.700755417414e-05, -3.697137981409e-04, 4.732307677791e-05]), 3.737073375169e-04, TOL));
assert(isequalRel(mag([2.700755417414e-05, -3.697137981409e-04, 4.732307677791e-05]), 3.737073375169e-04, TOL));
assert(isequalRel(mag([5.844029581851e+02, -6.202356058171e+03, 1.781005360194e+03]), 6.479407965463e+03, TOL));
assert(isequalRel(mag([7.795921176491e+02, 1.100737283015e+03, 6.311595294805e+03]), 6.454116639907e+03, TOL));
assert(isequalRel(mag([-5.995523048656e-01, 7.721032522310e+00, -1.275153026528e+00]), 7.848555371399e+00, TOL));
assert(isequalRel(mag([-5.013564101670e+04, -2.790032258101e+03, 6.679205669589e+03]), 5.065548902669e+04, TOL));
assert(isequalRel(mag([2.790032258101e+03, -5.013564101670e+04, 0.000000000000e+00]), 5.021321320286e+04, TOL));
assert(isequalRel(mag([-3.368341910078e-04, -1.138924128934e-04, -2.575929300512e-03]), 2.600353921139e-03, TOL));
assert(isequalRel(mag([2.790032258101e+03, -5.013564101670e+04, 0.000000000000e+00]), 5.021321320286e+04, TOL));
assert(isequalRel(mag([-3.368341910078e-04, -1.138924128934e-04, -2.575929300512e-03]), 2.600353921139e-03, TOL));
assert(isequalRel(mag([-3.368341910078e-04, -1.138924128934e-04, -2.575929300512e-03]), 2.600353921139e-03, TOL));
assert(isequalRel(mag([7.795921176491e+02, 1.100737283015e+03, 6.311595294805e+03]), 6.454116639907e+03, TOL));
assert(isequalRel(mag([-4.030315558768e+02, 6.399180008372e+03, -3.641273587499e+02]), 6.422190276532e+03, TOL));
assert(isequalRel(mag([-1.008861923884e+00, -5.166366152128e-01, -7.799812287320e+00]), 7.881737593391e+00, TOL));
assert(isequalRel(mag([-5.010052438421e+04, -2.776216254018e+03, 6.664109913381e+03]), 5.061798377256e+04, TOL));
assert(isequalRel(mag([2.776216254018e+03, -5.010052438421e+04, 0.000000000000e+00]), 5.017738454983e+04, TOL));
assert(isequalRel(mag([-2.064306204942e-04, 8.167796764920e-04, -1.211673490810e-03]), 1.475769388942e-03, TOL));
assert(isequalRel(mag([2.776216254018e+03, -5.010052438421e+04, 0.000000000000e+00]), 5.017738454983e+04, TOL));
assert(isequalRel(mag([-2.064306204942e-04, 8.167796764920e-04, -1.211673490810e-03]), 1.475769388942e-03, TOL));
assert(isequalRel(mag([-2.064306204942e-04, 8.167796764920e-04, -1.211673490810e-03]), 1.475769388942e-03, TOL));
assert(isequalRel(mag([-4.030315558768e+02, 6.399180008372e+03, -3.641273587499e+02]), 6.422190276532e+03, TOL));
assert(isequalRel(mag([-8.529391007119e+02, 1.926523202273e+02, -6.322470547838e+03]), 6.382652571956e+03, TOL));
assert(isequalRel(mag([3.960061942603e-01, -7.882964919438e+00, -2.893315173451e-01]), 7.898206730259e+00, TOL));
assert(isequalRel(mag([-4.989555392092e+04, -2.750519664185e+03, 6.647397497181e+03]), 5.041150218933e+04, TOL));
assert(isequalRel(mag([2.750519664185e+03, -4.989555392092e+04, 0.000000000000e+00]), 4.997130836289e+04, TOL));
assert(isequalRel(mag([1.744599977160e-04, -5.702603178617e-04, 1.073542842613e-03]), 1.228058368261e-03, TOL));
assert(isequalRel(mag([2.750519664185e+03, -4.989555392092e+04, 0.000000000000e+00]), 4.997130836289e+04, TOL));
assert(isequalRel(mag([1.744599977160e-04, -5.702603178617e-04, 1.073542842613e-03]), 1.228058368261e-03, TOL));
assert(isequalRel(mag([1.744599977160e-04, -5.702603178617e-04, 1.073542842613e-03]), 1.228058368261e-03, TOL));
assert(isequalRel(mag([-8.529391007119e+02, 1.926523202273e+02, -6.322470547838e+03]), 6.382652571956e+03, TOL));
# *** error: t:= 440.000000 *** code =   6
# 29238
assert(isequalRel(mag([4.474279154954e+03, -1.447722861416e+03, 4.619839272345e+03]), 6.592267465920e+03, TOL));
assert(isequalRel(mag([4.712595821980e+00, 5.668306152772e+00, -2.701606741039e+00]), 7.850919245931e+00, TOL));
assert(isequalRel(mag([-2.227548553070e+04, 3.385917797938e+04, 3.218411677134e+04]), 5.175382653890e+04, TOL));
assert(isequalRel(mag([-3.385917797938e+04, -2.227548553070e+04, 0.000000000000e+00]), 4.052951010150e+04, TOL));
assert(isequalRel(mag([8.447073799443e-03, -9.921693635666e-03, 1.628452520810e-02]), 2.085614589579e-02, TOL));
assert(isequalRel(mag([-3.385917797938e+04, -2.227548553070e+04, 0.000000000000e+00]), 4.052951010150e+04, TOL));
assert(isequalRel(mag([8.447073799443e-03, -9.921693635666e-03, 1.628452520810e-02]), 2.085614589579e-02, TOL));
assert(isequalRel(mag([8.447073799443e-03, -9.921693635666e-03, 1.628452520810e-02]), 2.085614589579e-02, TOL));
assert(isequalRel(mag([4.474279154954e+03, -1.447722861416e+03, 4.619839272345e+03]), 6.592267465920e+03, TOL));
assert(isequalRel(mag([1.922177124743e+03, 5.113011383417e+03, -4.087084702033e+03]), 6.822163268893e+03, TOL));
assert(isequalRel(mag([-6.490769650541e+00, -5.223501575279e-01, -3.896001153601e+00]), 7.588264975099e+00, TOL));
assert(isequalRel(mag([-2.205518758611e+04, 3.401712963857e+04, 3.218332958645e+04]), 5.176256477007e+04, TOL));
assert(isequalRel(mag([-3.401712963857e+04, -2.205518758611e+04, 0.000000000000e+00]), 4.054129263240e+04, TOL));
assert(isequalRel(mag([8.560523481393e-03, -9.828717765359e-03, 1.625527017698e-02]), 2.083554807806e-02, TOL));
assert(isequalRel(mag([-3.401712963857e+04, -2.205518758611e+04, 0.000000000000e+00]), 4.054129263240e+04, TOL));
assert(isequalRel(mag([8.560523481393e-03, -9.828717765359e-03, 1.625527017698e-02]), 2.083554807806e-02, TOL));
assert(isequalRel(mag([8.560523481393e-03, -9.828717765359e-03, 1.625527017698e-02]), 2.083554807806e-02, TOL));
assert(isequalRel(mag([1.922177124743e+03, 5.113011383417e+03, -4.087084702033e+03]), 6.822163268893e+03, TOL));
assert(isequalRel(mag([-6.157935468821e+03, -2.094707987903e+03, -1.941637309598e+03]), 6.788072350437e+03, TOL));
assert(isequalRel(mag([1.499006608594e-01, -5.175192523207e+00, 5.604262034415e+00]), 7.629733993448e+00, TOL));
assert(isequalRel(mag([-2.178763933720e+04, 3.421963124243e+04, 3.218249970833e+04]), 5.178221391301e+04, TOL));
assert(isequalRel(mag([-3.421963124243e+04, -2.178763933720e+04, 0.000000000000e+00]), 4.056703575880e+04, TOL));
assert(isequalRel(mag([8.208579351836e-03, -9.847137517279e-03, 1.602768540972e-02]), 2.052397602446e-02, TOL));
assert(isequalRel(mag([-3.421963124243e+04, -2.178763933720e+04, 0.000000000000e+00]), 4.056703575880e+04, TOL));
assert(isequalRel(mag([8.208579351836e-03, -9.847137517279e-03, 1.602768540972e-02]), 2.052397602446e-02, TOL));
assert(isequalRel(mag([8.208579351836e-03, -9.847137517279e-03, 1.602768540972e-02]), 2.052397602446e-02, TOL));
assert(isequalRel(mag([-6.157935468821e+03, -2.094707987903e+03, -1.941637309598e+03]), 6.788072350437e+03, TOL));
assert(isequalRel(mag([2.482640524109e+03, -3.268459445550e+03, 5.146380061902e+03]), 6.582671103792e+03, TOL));
assert(isequalRel(mag([6.501814698230e+00, 4.402848753801e+00, -3.509435107562e-01]), 7.860142038584e+00, TOL));
assert(isequalRel(mag([-2.151168840955e+04, 3.433207611063e+04, 3.218160840136e+04]), 5.174070068711e+04, TOL));
assert(isequalRel(mag([-3.433207611063e+04, -2.151168840955e+04, 0.000000000000e+00]), 4.051474038292e+04, TOL));
assert(isequalRel(mag([8.550060218206e-03, -9.469289271187e-03, 1.581731356993e-02]), 2.032137735504e-02, TOL));
assert(isequalRel(mag([-3.433207611063e+04, -2.151168840955e+04, 0.000000000000e+00]), 4.051474038292e+04, TOL));
assert(isequalRel(mag([8.550060218206e-03, -9.469289271187e-03, 1.581731356993e-02]), 2.032137735504e-02, TOL));
assert(isequalRel(mag([8.550060218206e-03, -9.469289271187e-03, 1.581731356993e-02]), 2.032137735504e-02, TOL));
assert(isequalRel(mag([2.482640524109e+03, -3.268459445550e+03, 5.146380061902e+03]), 6.582671103792e+03, TOL));
assert(isequalRel(mag([4.036264552866e+03, 4.827433472010e+03, -2.507990639548e+03]), 6.773888286314e+03, TOL));
assert(isequalRel(mag([-5.184409515423e+00, 1.772280694717e+00, -5.331390167990e+00]), 7.644789206238e+00, TOL));
assert(isequalRel(mag([-2.129206795629e+04, 3.452135168882e+04, 3.218078577318e+04]), 5.177527260438e+04, TOL));
assert(isequalRel(mag([-3.452135168882e+04, -2.129206795629e+04, 0.000000000000e+00]), 4.055953501063e+04, TOL));
assert(isequalRel(mag([8.960261080496e-03, -9.305571167468e-03, 1.591084153067e-02]), 2.049475083034e-02, TOL));
assert(isequalRel(mag([-3.452135168882e+04, -2.129206795629e+04, 0.000000000000e+00]), 4.055953501063e+04, TOL));
assert(isequalRel(mag([8.960261080496e-03, -9.305571167468e-03, 1.591084153067e-02]), 2.049475083034e-02, TOL));
assert(isequalRel(mag([8.960261080496e-03, -9.305571167468e-03, 1.591084153067e-02]), 2.049475083034e-02, TOL));
assert(isequalRel(mag([4.036264552866e+03, 4.827433472010e+03, -2.507990639548e+03]), 6.773888286314e+03, TOL));
assert(isequalRel(mag([-5.776813716215e+03, -1.186415531930e+02, -3.641220524182e+03]), 6.829651487134e+03, TOL));
assert(isequalRel(mag([-2.539917206750e+00, -5.622701582125e+00, 4.403125405190e+00]), 7.579806450867e+00, TOL));
assert(isequalRel(mag([-2.099589003916e+04, 3.468443389786e+04, 3.217995989942e+04]), 5.176279718562e+04, TOL));
assert(isequalRel(mag([-3.468443389786e+04, -2.099589003916e+04, 0.000000000000e+00]), 4.054426412393e+04, TOL));
assert(isequalRel(mag([8.768724514793e-03, -9.505258121414e-03, 1.596619990505e-02]), 2.054653257801e-02, TOL));
assert(isequalRel(mag([-3.468443389786e+04, -2.099589003916e+04, 0.000000000000e+00]), 4.054426412393e+04, TOL));
assert(isequalRel(mag([8.768724514793e-03, -9.505258121414e-03, 1.596619990505e-02]), 2.054653257801e-02, TOL));
assert(isequalRel(mag([8.768724514793e-03, -9.505258121414e-03, 1.596619990505e-02]), 2.054653257801e-02, TOL));
assert(isequalRel(mag([-5.776813716215e+03, -1.186415531930e+02, -3.641220524182e+03]), 6.829651487134e+03, TOL));
assert(isequalRel(mag([6.798699486521e+01, -4.456492134728e+03, 4.863717942833e+03]), 6.597021798191e+03, TOL));
assert(isequalRel(mag([7.183809419588e+00, 2.418917791052e+00, 2.015642495218e+00]), 7.843538469680e+00, TOL));
assert(isequalRel(mag([-2.074762878894e+04, 3.480298529597e+04, 3.217904512722e+04]), 5.174169335434e+04, TOL));
assert(isequalRel(mag([-3.480298529597e+04, -2.074762878894e+04, 0.000000000000e+00]), 4.051804395421e+04, TOL));
assert(isequalRel(mag([8.981997053358e-03, -9.335189903824e-03, 1.588759441379e-02]), 2.049969994571e-02, TOL));
assert(isequalRel(mag([-3.480298529597e+04, -2.074762878894e+04, 0.000000000000e+00]), 4.051804395421e+04, TOL));
assert(isequalRel(mag([8.981997053358e-03, -9.335189903824e-03, 1.588759441379e-02]), 2.049969994571e-02, TOL));
assert(isequalRel(mag([8.981997053358e-03, -9.335189903824e-03, 1.588759441379e-02]), 2.049969994571e-02, TOL));
assert(isequalRel(mag([6.798699486521e+01, -4.456492134728e+03, 4.863717942833e+03]), 6.597021798191e+03, TOL));
assert(isequalRel(mag([5.520622070379e+03, 3.782382035542e+03, -5.967319316081e+02]), 6.718613763638e+03, TOL));
assert(isequalRel(mag([-3.027966069347e+00, 3.754152524768e+00, -6.013506362859e+00]), 7.708728719607e+00, TOL));
assert(isequalRel(mag([-2.050515574984e+04, 3.500517998857e+04, 3.217818174873e+04]), 5.178087889378e+04, TOL));
assert(isequalRel(mag([-3.500517998857e+04, -2.050515574984e+04, 0.000000000000e+00]), 4.056875692399e+04, TOL));
assert(isequalRel(mag([9.481728373366e-03, -9.177118832504e-03, 1.602548638728e-02]), 2.075906782496e-02, TOL));
assert(isequalRel(mag([-3.500517998857e+04, -2.050515574984e+04, 0.000000000000e+00]), 4.056875692399e+04, TOL));
assert(isequalRel(mag([9.481728373366e-03, -9.177118832504e-03, 1.602548638728e-02]), 2.075906782496e-02, TOL));
assert(isequalRel(mag([9.481728373366e-03, -9.177118832504e-03, 1.602548638728e-02]), 2.075906782496e-02, TOL));
assert(isequalRel(mag([5.520622070379e+03, 3.782382035542e+03, -5.967319316081e+02]), 6.718613763638e+03, TOL));
assert(isequalRel(mag([-4.528051044554e+03, 1.808462733292e+03, -4.816997277621e+03]), 6.853994929412e+03, TOL));
assert(isequalRel(mag([-4.808419762697e+00, -5.185789344828e+00, 2.642104493777e+00]), 7.549438912877e+00, TOL));
assert(isequalRel(mag([-2.020178564189e+04, 3.512572891944e+04, 3.217736680655e+04]), 5.174274741300e+04, TOL));
assert(isequalRel(mag([-3.512572891944e+04, -2.020178564189e+04, 0.000000000000e+00]), 4.052072278777e+04, TOL));
assert(isequalRel(mag([9.187452060046e-03, -9.598013193567e-03, 1.624558497460e-02]), 2.098690457849e-02, TOL));
assert(isequalRel(mag([-3.512572891944e+04, -2.020178564189e+04, 0.000000000000e+00]), 4.052072278777e+04, TOL));
assert(isequalRel(mag([9.187452060046e-03, -9.598013193567e-03, 1.624558497460e-02]), 2.098690457849e-02, TOL));
assert(isequalRel(mag([9.187452060046e-03, -9.598013193567e-03, 1.624558497460e-02]), 2.098690457849e-02, TOL));
assert(isequalRel(mag([-4.528051044554e+03, 1.808462733292e+03, -4.816997277621e+03]), 6.853994929412e+03, TOL));
assert(isequalRel(mag([-2.356614680779e+03, -4.852512022719e+03, 3.856538161837e+03]), 6.631243644898e+03, TOL));
assert(isequalRel(mag([6.688446735149e+00, 1.185209579825e-01, 4.021854210077e+00]), 7.805426204476e+00, TOL));
assert(isequalRel(mag([-1.997317650546e+04, 3.527221075294e+04, 3.217645996606e+04]), 5.175307920371e+04, TOL));
assert(isequalRel(mag([-3.527221075294e+04, -1.997317650546e+04, 0.000000000000e+00]), 4.053463495725e+04, TOL));
assert(isequalRel(mag([9.053476591484e-03, -9.678587655596e-03, 1.622962470326e-02]), 2.095331036873e-02, TOL));
assert(isequalRel(mag([-3.527221075294e+04, -1.997317650546e+04, 0.000000000000e+00]), 4.053463495725e+04, TOL));
assert(isequalRel(mag([9.053476591484e-03, -9.678587655596e-03, 1.622962470326e-02]), 2.095331036873e-02, TOL));
assert(isequalRel(mag([9.053476591484e-03, -9.678587655596e-03, 1.622962470326e-02]), 2.095331036873e-02, TOL));
assert(isequalRel(mag([-2.356614680779e+03, -4.852512022719e+03, 3.856538161837e+03]), 6.631243644898e+03, TOL));
assert(isequalRel(mag([6.149658001344e+03, 2.173594232607e+03, 1.369294887325e+03]), 6.664666076404e+03, TOL));
assert(isequalRel(mag([-3.458327771842e-01, 5.109857861076e+00, -5.842951828175e+00]), 7.769834859027e+00, TOL));
assert(isequalRel(mag([-1.969710863925e+04, 3.545860840793e+04, 3.217557841103e+04]), 5.177409434320e+04, TOL));
assert(isequalRel(mag([-3.545860840793e+04, -1.969710863925e+04, 0.000000000000e+00]), 4.056216215851e+04, TOL));
assert(isequalRel(mag([9.525181232709e-03, -9.487514961067e-03, 1.628665693663e-02]), 2.111864606986e-02, TOL));
assert(isequalRel(mag([-3.545860840793e+04, -1.969710863925e+04, 0.000000000000e+00]), 4.056216215851e+04, TOL));
assert(isequalRel(mag([9.525181232709e-03, -9.487514961067e-03, 1.628665693663e-02]), 2.111864606986e-02, TOL));
assert(isequalRel(mag([9.525181232709e-03, -9.487514961067e-03, 1.628665693663e-02]), 2.111864606986e-02, TOL));
assert(isequalRel(mag([6.149658001344e+03, 2.173594232607e+03, 1.369294887325e+03]), 6.664666076404e+03, TOL));
assert(isequalRel(mag([-2.629550114488e+03, 3.400980401577e+03, -5.344382171288e+03]), 6.858835344962e+03, TOL));
assert(isequalRel(mag([-6.368548448364e+00, -3.998963508932e+00, 5.772530637682e-01]), 7.542104453305e+00, TOL));
assert(isequalRel(mag([-1.940876292414e+04, 3.555387264435e+04, 3.217478341213e+04]), 5.173001668155e+04, TOL));
assert(isequalRel(mag([-3.555387264435e+04, -1.940876292414e+04, 0.000000000000e+00]), 4.050651723187e+04, TOL));
assert(isequalRel(mag([9.098437923814e-03, -9.896358819736e-03, 1.642414492723e-02]), 2.122432630575e-02, TOL));
assert(isequalRel(mag([-3.555387264435e+04, -1.940876292414e+04, 0.000000000000e+00]), 4.050651723187e+04, TOL));
assert(isequalRel(mag([9.098437923814e-03, -9.896358819736e-03, 1.642414492723e-02]), 2.122432630575e-02, TOL));
assert(isequalRel(mag([9.098437923814e-03, -9.896358819736e-03, 1.642414492723e-02]), 2.122432630575e-02, TOL));
assert(isequalRel(mag([-2.629550114488e+03, 3.400980401577e+03, -5.344382171288e+03]), 6.858835344962e+03, TOL));
# 88888
assert(isequalRel(mag([1.020692345577e+03, 2.286562606342e+03, -6.191555659270e+03]), 6.678738121747e+03, TOL));
assert(isequalRel(mag([-3.746543902234e+00, 6.467532720713e+00, 1.827985678143e+00]), 7.694615152453e+00, TOL));
assert(isequalRel(mag([4.422389251501e+04, 2.133112411108e+04, 1.516806833267e+04]), 5.138910217124e+04, TOL));
assert(isequalRel(mag([-2.133112411108e+04, 4.422389251501e+04, 0.000000000000e+00]), 4.909958782945e+04, TOL));
assert(isequalRel(mag([-4.540814471364e-03, 3.015172071551e-03, 8.998870419362e-03]), 1.052092807260e-02, TOL));
assert(isequalRel(mag([-2.133112411108e+04, 4.422389251501e+04, 0.000000000000e+00]), 4.909958782945e+04, TOL));
assert(isequalRel(mag([-4.540814471364e-03, 3.015172071551e-03, 8.998870419362e-03]), 1.052092807260e-02, TOL));
assert(isequalRel(mag([-4.540814471364e-03, 3.015172071551e-03, 8.998870419362e-03]), 1.052092807260e-02, TOL));
assert(isequalRel(mag([1.020692345577e+03, 2.286562606342e+03, -6.191555659270e+03]), 6.678738121747e+03, TOL));
assert(isequalRel(mag([-3.226543491554e+03, 3.503709775249e+03, 4.532809793430e+03]), 6.575175261199e+03, TOL));
assert(isequalRel(mag([1.000992116067e+00, -5.788042888412e+00, 5.162585825662e+00]), 7.820212151972e+00, TOL));
assert(isequalRel(mag([4.432429991232e+04, 2.119461456223e+04, 1.516818624843e+04]), 5.141915132736e+04, TOL));
assert(isequalRel(mag([-2.119461456223e+04, 4.432429991232e+04, 0.000000000000e+00]), 4.913100089718e+04, TOL));
assert(isequalRel(mag([-4.047982752107e-03, 3.117870513250e-03, 7.472346126600e-03]), 9.052250412713e-03, TOL));
assert(isequalRel(mag([-2.119461456223e+04, 4.432429991232e+04, 0.000000000000e+00]), 4.913100089718e+04, TOL));
assert(isequalRel(mag([-4.047982752107e-03, 3.117870513250e-03, 7.472346126600e-03]), 9.052250412713e-03, TOL));
assert(isequalRel(mag([-4.047982752107e-03, 3.117870513250e-03, 7.472346126600e-03]), 9.052250412713e-03, TOL));
assert(isequalRel(mag([-3.226543491554e+03, 3.503709775249e+03, 4.532809793430e+03]), 6.575175261199e+03, TOL));
assert(isequalRel(mag([2.456107065334e+03, -6.071938555030e+03, 1.222897685538e+03]), 6.663060744263e+03, TOL));
assert(isequalRel(mag([2.679390040234e+00, -4.482908110761e-01, -7.228792154938e+00]), 7.722404525684e+00, TOL));
assert(isequalRel(mag([4.444099558718e+04, 2.103130736444e+04, 1.516804146085e+04]), 5.145276921601e+04, TOL));
assert(isequalRel(mag([-2.103130736444e+04, 4.444099558718e+04, 0.000000000000e+00]), 4.916622802532e+04, TOL));
assert(isequalRel(mag([-4.262466434708e-03, 3.367433206278e-03, 7.819515098970e-03]), 9.521189153082e-03, TOL));
assert(isequalRel(mag([-2.103130736444e+04, 4.444099558718e+04, 0.000000000000e+00]), 4.916622802532e+04, TOL));
assert(isequalRel(mag([-4.262466434708e-03, 3.367433206278e-03, 7.819515098970e-03]), 9.521189153082e-03, TOL));
assert(isequalRel(mag([-4.262466434708e-03, 3.367433206278e-03, 7.819515098970e-03]), 9.521189153082e-03, TOL));
assert(isequalRel(mag([2.456107065334e+03, -6.071938555030e+03, 1.222897685538e+03]), 6.663060744263e+03, TOL));
assert(isequalRel(mag([7.871645734899e+02, 2.719918009460e+03, -6.043866620243e+03]), 6.674271927876e+03, TOL));
assert(isequalRel(mag([-3.759883838595e+00, 6.277439314037e+00, 2.397897863858e+00]), 7.700187334516e+00, TOL));
assert(isequalRel(mag([4.446209151546e+04, 2.083669617880e+04, 1.516795360631e+04]), 5.139175328961e+04, TOL));
assert(isequalRel(mag([-2.083669617880e+04, 4.446209151546e+04, 0.000000000000e+00]), 4.910239800231e+04, TOL));
assert(isequalRel(mag([-4.413826914318e-03, 3.026911479416e-03, 8.780165393286e-03]), 1.028277032065e-02, TOL));
assert(isequalRel(mag([-2.083669617880e+04, 4.446209151546e+04, 0.000000000000e+00]), 4.910239800231e+04, TOL));
assert(isequalRel(mag([-4.413826914318e-03, 3.026911479416e-03, 8.780165393286e-03]), 1.028277032065e-02, TOL));
assert(isequalRel(mag([-4.413826914318e-03, 3.026911479416e-03, 8.780165393286e-03]), 1.028277032065e-02, TOL));
assert(isequalRel(mag([7.871645734899e+02, 2.719918009460e+03, -6.043866620243e+03]), 6.674271927876e+03, TOL));
assert(isequalRel(mag([-3.110976480293e+03, 3.121730262353e+03, 4.878152170355e+03]), 6.574172426166e+03, TOL));
assert(isequalRel(mag([1.244916055994e+00, -6.124880424955e+00, 4.700576353428e+00]), 7.820447190594e+00, TOL));
assert(isequalRel(mag([4.455203019115e+04, 2.069627243979e+04, 1.516806682056e+04]), 5.141292967852e+04, TOL));
assert(isequalRel(mag([-2.069627243979e+04, 4.455203019115e+04, 0.000000000000e+00]), 4.912452632907e+04, TOL));
assert(isequalRel(mag([-3.925085312382e-03, 3.168010909447e-03, 7.206225009361e-03]), 8.796150676142e-03, TOL));
assert(isequalRel(mag([-2.069627243979e+04, 4.455203019115e+04, 0.000000000000e+00]), 4.912452632907e+04, TOL));
assert(isequalRel(mag([-3.925085312382e-03, 3.168010909447e-03, 7.206225009361e-03]), 8.796150676142e-03, TOL));
assert(isequalRel(mag([-3.925085312382e-03, 3.168010909447e-03, 7.206225009361e-03]), 8.796150676142e-03, TOL));
assert(isequalRel(mag([-3.110976480293e+03, 3.121730262353e+03, 4.878152170355e+03]), 6.574172426166e+03, TOL));
assert(isequalRel(mag([2.567562296951e+03, -6.112503839223e+03, 7.139637443537e+02]), 6.668194925277e+03, TOL));
assert(isequalRel(mag([2.440245751324e+00, 9.810900213933e-02, -7.319959258254e+00]), 7.716620260558e+00, TOL));
assert(isequalRel(mag([4.467323279851e+04, 2.053669840047e+04, 1.516791249850e+04]), 5.145405017512e+04, TOL));
assert(isequalRel(mag([-2.053669840047e+04, 4.467323279851e+04, 0.000000000000e+00]), 4.916760833986e+04, TOL));
assert(isequalRel(mag([-4.173683465658e-03, 3.420898259659e-03, 7.660775817558e-03]), 9.370681122593e-03, TOL));
assert(isequalRel(mag([-2.053669840047e+04, 4.467323279851e+04, 0.000000000000e+00]), 4.916760833986e+04, TOL));
assert(isequalRel(mag([-4.173683465658e-03, 3.420898259659e-03, 7.660775817558e-03]), 9.370681122593e-03, TOL));
assert(isequalRel(mag([-4.173683465658e-03, 3.420898259659e-03, 7.660775817558e-03]), 9.370681122593e-03, TOL));
assert(isequalRel(mag([2.567562296951e+03, -6.112503839223e+03, 7.139637443537e+02]), 6.668194925277e+03, TOL));
assert(isequalRel(mag([5.560566178034e+02, 3.144522882008e+03, -5.855346361782e+03]), 6.669505538952e+03, TOL));
assert(isequalRel(mag([-3.754660143253e+00, 6.044752775392e+00, 2.957941671728e+00]), 7.706226563000e+00, TOL));
assert(isequalRel(mag([4.469543644166e+04, 2.034005256788e+04, 1.516783951836e+04]), 5.139516643449e+04, TOL));
assert(isequalRel(mag([-2.034005256788e+04, 4.469543644166e+04, 0.000000000000e+00]), 4.910600551027e+04, TOL));
assert(isequalRel(mag([-4.293421409559e-03, 3.074185970802e-03, 8.529048538653e-03]), 1.003138852591e-02, TOL));
assert(isequalRel(mag([-2.034005256788e+04, 4.469543644166e+04, 0.000000000000e+00]), 4.910600551027e+04, TOL));
assert(isequalRel(mag([-4.293421409559e-03, 3.074185970802e-03, 8.529048538653e-03]), 1.003138852591e-02, TOL));
assert(isequalRel(mag([-4.293421409559e-03, 3.074185970802e-03, 8.529048538653e-03]), 1.003138852591e-02, TOL));
assert(isequalRel(mag([5.560566178034e+02, 3.144522882008e+03, -5.855346361782e+03]), 6.669505538952e+03, TOL));
assert(isequalRel(mag([-2.982479405393e+03, 2.712616637110e+03, 5.192323304719e+03]), 6.573712324421e+03, TOL));
assert(isequalRel(mag([1.475566773233e+00, -6.427737013518e+00, 4.202420226902e+00]), 7.820066251682e+00, TOL));
assert(isequalRel(mag([4.477444371552e+04, 2.019525152387e+04, 1.516794628786e+04]), 5.140686324546e+04, TOL));
assert(isequalRel(mag([-2.019525152387e+04, 4.477444371552e+04, 0.000000000000e+00]), 4.911821448451e+04, TOL));
assert(isequalRel(mag([-3.814155859067e-03, 3.258399874629e-03, 6.920679952865e-03]), 8.547559047484e-03, TOL));
assert(isequalRel(mag([-2.019525152387e+04, 4.477444371552e+04, 0.000000000000e+00]), 4.911821448451e+04, TOL));
assert(isequalRel(mag([-3.814155859067e-03, 3.258399874629e-03, 6.920679952865e-03]), 8.547559047484e-03, TOL));
assert(isequalRel(mag([-3.814155859067e-03, 3.258399874629e-03, 6.920679952865e-03]), 8.547559047484e-03, TOL));
assert(isequalRel(mag([-2.982479405393e+03, 2.712616637110e+03, 5.192323304719e+03]), 6.573712324421e+03, TOL));
assert(isequalRel(mag([2.663089643522e+03, -6.115482908846e+03, 1.964007286646e+02]), 6.673061584014e+03, TOL));
assert(isequalRel(mag([2.196121563878e+00, 6.524150925789e-01, -7.362824152460e+00]), 7.711016461946e+00, TOL));
assert(isequalRel(mag([4.489909046564e+04, 2.003918062287e+04, 1.516778376597e+04]), 5.145443371614e+04, TOL));
assert(isequalRel(mag([-2.003918062287e+04, 4.489909046564e+04, 0.000000000000e+00]), 4.916804942926e+04, TOL));
assert(isequalRel(mag([-4.096991552791e-03, 3.513090058257e-03, 7.486377040703e-03]), 9.228920995253e-03, TOL));
assert(isequalRel(mag([-2.003918062287e+04, 4.489909046564e+04, 0.000000000000e+00]), 4.916804942926e+04, TOL));
assert(isequalRel(mag([-4.096991552791e-03, 3.513090058257e-03, 7.486377040703e-03]), 9.228920995253e-03, TOL));
assert(isequalRel(mag([-4.096991552791e-03, 3.513090058257e-03, 7.486377040703e-03]), 9.228920995253e-03, TOL));
assert(isequalRel(mag([2.663089643522e+03, -6.115482908846e+03, 1.964007286646e+02]), 6.673061584014e+03, TOL));
assert(isequalRel(mag([3.285499967384e+02, 3.557094905520e+03, -5.626214272111e+03]), 6.664469694052e+03, TOL));
assert(isequalRel(mag([-3.731193288240e+00, 5.769341171972e+00, 3.504058730818e+00]), 7.712686205328e+00, TOL));
assert(isequalRel(mag([4.492381910247e+04, 1.984123444572e+04, 1.516772566035e+04]), 5.139926078057e+04, TOL));
assert(isequalRel(mag([-1.984123444572e+04, 4.492381910247e+04, 0.000000000000e+00]), 4.911032587024e+04, TOL));
assert(isequalRel(mag([-4.183559017035e-03, 3.161978492372e-03, 8.254625295185e-03]), 9.779525182704e-03, TOL));
assert(isequalRel(mag([-1.984123444572e+04, 4.492381910247e+04, 0.000000000000e+00]), 4.911032587024e+04, TOL));
assert(isequalRel(mag([-4.183559017035e-03, 3.161978492372e-03, 8.254625295185e-03]), 9.779525182704e-03, TOL));
assert(isequalRel(mag([-4.183559017035e-03, 3.161978492372e-03, 8.254625295185e-03]), 9.779525182704e-03, TOL));
assert(isequalRel(mag([3.285499967384e+02, 3.557094905520e+03, -5.626214272111e+03]), 6.664469694052e+03, TOL));
assert(isequalRel(mag([-2.842068767573e+03, 2.278423434920e+03, 5.472334371496e+03]), 6.573812569724e+03, TOL));
assert(isequalRel(mag([1.691852635382e+00, -6.693216334930e+00, 3.671022711877e+00]), 7.819073985910e+00, TOL));
assert(isequalRel(mag([4.499166198236e+04, 1.969168232259e+04, 1.516782440723e+04]), 5.140111767148e+04, TOL));
assert(isequalRel(mag([-1.969168232259e+04, 4.499166198236e+04, 0.000000000000e+00]), 4.911223880693e+04, TOL));
assert(isequalRel(mag([-3.719171772442e-03, 3.392907276589e-03, 6.627164470046e-03]), 8.322461617424e-03, TOL));
assert(isequalRel(mag([-1.969168232259e+04, 4.499166198236e+04, 0.000000000000e+00]), 4.911223880693e+04, TOL));
assert(isequalRel(mag([-3.719171772442e-03, 3.392907276589e-03, 6.627164470046e-03]), 8.322461617424e-03, TOL));
assert(isequalRel(mag([-3.719171772442e-03, 3.392907276589e-03, 6.627164470046e-03]), 8.322461617424e-03, TOL));
assert(isequalRel(mag([-2.842068767573e+03, 2.278423434920e+03, 5.472334371496e+03]), 6.573812569724e+03, TOL));
assert(isequalRel(mag([2.742553988317e+03, -6.079670091229e+03, -3.263901264921e+02]), 6.677613444314e+03, TOL));
assert(isequalRel(mag([1.948497651478e+00, 1.211072678443e+00, -7.356193131278e+00]), 7.705641927506e+00, TOL));
assert(isequalRel(mag([4.511850953024e+04, 1.953878641608e+04, 1.516765509892e+04]), 5.145388068983e+04, TOL));
assert(isequalRel(mag([-1.953878641608e+04, 4.511850953024e+04, 0.000000000000e+00]), 4.916751037874e+04, TOL));
assert(isequalRel(mag([-4.035252003676e-03, 3.646173772688e-03, 7.306518026783e-03]), 9.108405326374e-03, TOL));
assert(isequalRel(mag([-1.953878641608e+04, 4.511850953024e+04, 0.000000000000e+00]), 4.916751037874e+04, TOL));
assert(isequalRel(mag([-4.035252003676e-03, 3.646173772688e-03, 7.306518026783e-03]), 9.108405326374e-03, TOL));
assert(isequalRel(mag([-4.035252003676e-03, 3.646173772688e-03, 7.306518026783e-03]), 9.108405326374e-03, TOL));
assert(isequalRel(mag([2.742553988317e+03, -6.079670091229e+03, -3.263901264921e+02]), 6.677613444314e+03, TOL));

