var count = (function pow(Decimal) {
var start = +new Date(),
sum,
log,
error,
passed = 0,
total = 0;
if (typeof window === 'undefined') {
log = console.log;
error = console.error;
} else {
log = function (str) { document.body.innerHTML += str.replace('\n', '
') };
error = function (str) { document.body.innerHTML += '
' +
str.replace('\n', '
') + '
' };
}
if (!Decimal && typeof require === 'function') Decimal = require('../decimal');
function T(base, exp, expected, pr, rm) {
total++;
//if ( total % 100 == 0 ) log( total);
Decimal.precision = pr;
Decimal.rounding = rm;
var actual = new Decimal(base).pow(exp).toString();
if (expected !== actual) {
error('\n Test number: ' + total + ' failed');
error(' ' + base + '^' + exp );
error(' Expected: ' + expected);
error(' Actual: ' + actual);
error(' pr: ' + pr);
error(' rm: ' + ['UP', 'DOWN', 'CEIL', 'FLOOR', 'HALF_UP', 'HALF_DOWN', 'HALF_EVEN'][rm]);
log('');
//process.exit();
} else {
passed++;
//log('\n Expected and actual: ' + actual);
}
}
log('\n Testing pow...');
Decimal.config({
precision: 40,
rounding: 4,
toExpNeg: -9e15,
toExpPos: 9e15,
minE: -9e15,
maxE: 9e15,
errors: true
});
/*
Fails due to the result having zeros or nines as the first 15 rounding digits:
Exact: 839756321.6408851099999999999999999999999999998969466049426031167...
// Wrongly returns 839756321.64088511 for both
T('28', '6.166675020000903537297764507632802193308677149', '839756321.6408851', 8, 1);
T('28', '6.166675020000903537297764507632802193308677149', '839756321.640885109', 9, 1);
*/
T('9', '0.5', '3', 7, 4);
T('9', '0.5', '3', 26, 4);
T('0.9999999999', '6', '0.999999999400000000149999999980000000001', 39, 4);
T('2.56', '6.5', '450.3599627370496', 16, 1);
T('1.96', '1.5', '2.744', 15, 1);
T('2.25', '9.5', '2216.8378200531005859375', 23, 1);
T('11.05', '2.00000000000000007', '122.103', 6, 4);
T('10.5', '3.000000000000000002', '1157.63', 6, 4);
T('1.00000000000000000003', '4.00000005', '1.000000000000000000120000002', 28, 4);
T('6.0000005', '1.00000000000000006', '6.000001', 7, 4);
T('1.0000000000000000000005', '49.0000000000000000000002', '1.000000000000000000025', 22, 4);
T('15.333333333333333333', '28.33333333333333', '3917746643938779840069598486694964.98308568625045', 49, 4);
T('7.537714', '7.9', '8515169.08260507715975', 21, 4);
T('6.951', '9.225', '58598464.57', 10, 4);
T('6.01093', '9.8911', '50651225.3819968681522216250662534915', 36, 4);
T('8.7587', '4.23', '9694.37298592397372', 18, 4);
T('5.1749', '7.7267995', '328229.2815443039852', 19, 4);
T('0.16', '-0.9999999999999', '6.2', 2, 4);
T('0.4', '-20', '90949470.1772928237915039063', 27, 4);
T('0.5', '22', '0.000000238418579101563', 15, 4);
T('32', '0.4', '4', 1, 4);
T('4', '2.5', '32', 11, 4);
T('4', '5.5', '2048', 27, 4);
T('16', '23.5', '19807040628566084398385987584', 29, 4);
T('16', '26.5', '81129638414606681695789005144064', 35, 4);
T('25', '13.5', '7450580596923828125', 39, 4);
T('32', '28.2', '2787593149816327892691964784081045188247552', 43, 4);
T('32', '3.6', '262144', 35, 4);
T('25', '21.5', '1136868377216160297393798828125', 31, 4);
T('9', '8.5', '129140163', 19, 4);
T('4', '7.5', '32768', 13, 4);
T('9', '5.5', '177147', 13, 4);
T('4', '6.5', '8192', 10, 4);
T('6.034', '0.25964', '2', 1, 4);
T('9', '4.5', '19683', 16, 4);
T('9', '2.5', '243', 28, 4);
T('9', '1.5', '27', 12, 4);
T('9', '1.5', '27', 5, 4);
T('9.61', '3.5', '2751.2614111', 12, 4);
T('9', '8.5', '129140163', 30, 4);
T('9', '2.5', '243', 22, 4);
T('4', '6.5', '8192', 8, 4);
T('4', '7.5', '32768', 11, 4);
T('9', '4.5', '19683', 5, 4);
T('48.9262695992662373981', '1.0', '48.926269599266237', 17, 1);
T('1.21', '0.5', '1.1', 2, 1);
T('12.96', '0.5', '3.6', 2, 3);
T('3.24', '0.5', '1.8', 2, 1);
T('70.56', '0.5', '8.4', 2, 3);
T('90.25', '0.5', '9.5', 2, 3);
T('2.56', '6.5', '450.3599627370496', 16, 1);
T('1.96', '1.5', '2.744', 4, 1);
T('999000.25', '0.5', '999.5', 5, 4);
T('4.41', '6.5', '15447.2377739119461', 32, 3);
T('11.05', '2.00000000000000007', '122.103', 6, 4);
T('10.5', '3.000000000000000002', '1157.63', 6, 4);
T('1.00000000000000000003', '4.00000005', '1.000000000000000000120000002', 28, 4);
T('6.0000005', '1.00000000000000006', '6.000001', 7, 4);
T('1.0000000000000000000005', '49.0000000000000000000002', '1.000000000000000000025', 22, 4);
T('5344.87762641765349023882127126550721', '1.0625', '9139.7407411741874683083843738640173291', 38, 1);
T('390625', '2.5', '95367431640625', 14, 3);
T('4294967296', '1.4375', '70368744177664', 14, 3);
T('0.999999999999999999', '2.29', '0.999999999999999997710000000000000001477', 40, 4);
T('28', '6.166675020000903537297764507632802193308677149', '839756321.64088511', 17, 0);
T('91.180153837', '0.5', '9.54882997214842023704943457512609', 33, 1);
T('16', '26.5', '81129638414606681695789005144064', 35, 4);
T('25', '13.5', '7450580596923828125', 39, 4);
T('4.3985903', '20.9956530307', '32120869378609.033520730996715368034448124619', 44, 2);
T('2.858368', '48.97', '21682301291468972839895.193017121528607658932', 44, 5);
T('91.145', '23.8479557348417627', '54402923894673605836306983589686900000000000000', 33, 1);
/*
T('19.573692', '39.26449896890', '521054762573404555504167445689791315945776225706079.2116169842543900194096', 73, 3);
T('39.930616507', '42.75527260683915249287', '291256227754122949217889951695109090756624015235199291012218659859430.1483885', 76, 3);
T('26.83062706567369901840006672503178674304033559618349', '33.97599448561040496576773597688798140377713162', '3460612383084345697566784116666546471243869942274.645400309266443336139010350455115437597342796396780325323658', 109, 4);
T('47.135718860729672020084081', '3.05', '126974.90929240431902383117376127315256838006780434227504056037805', 65, 4);
T('18.67753133', '20.9', '372029173771636488825923373.24368101909925322135384712128889742', 62, 4);
T('0.489692498552144752316290764961721145017762201246086586011796456968995995969396377681', '73.369662', '0.00000000000000000000001777413292817808875302333322248871556548370900264362859174427090747064763', 73, 4);
T('0.2099424284425661993789657104284654051840652083412425216783104125771311', '1.8542', '0.0553398810557535646400543292708622414221770030552096817266128959560806156909100492590093948271', 93, 4);
T('48', '47.00000000006', '10431293299578300472505722493977127156669827052412267550640375015611511073910913.00531047503932427870602874919343580355903603249536669162057', 139, 4);
T('0.838625145339541271701779', '94.77593582', '0.000000057026184458450818565687361276199680034303594036642041738789609293', 65, 4);
T('40.098683536988660067035248', '40.00000000000000000000000000004', '13341497789508672160655257782814705308380068881069319519274710828.0510014812189671113037267510437119', 99, 4);
T('6.7230783647381181879144192', '36.99999999999999999999999999', '4168909024084299883499172453439.92952620058282432135208362904491979626334626', 75, 4);
T('39.827734210552778790888', '40.99999999999999999999999', '405144183872563552639525122722590290945106980493132837196819477406.2493257487373426610525895206833', 97, 4);
T('44.06836778444502', '16.99999999', '8915760497864097881057047385.1589321368280183450665841730522629478192616', 71, 4);
T('20.48125478194761957371727', '44.999999999999999999999999999999', '102575869173172687693623536696277218136268269250881789151455.5599587539313661506308343751829071', 94, 4);
T('25.7', '34.9', '16094074385237190707184756692452184305918209248603.03437636908', 61, 4);
T('25.648733787941182939757019123', '42.0000000000000000000006', '151624387302245711852361685116892093436785716023010596705862.905859238770884707617030065289418650604180572596634880557', 117, 4);
T('29.815418285970618948', '49.00000000000000000001', '1768497375108123883211511704270568373888734104562897895967054691907030085.702823746498', 85, 4);
*/
T('5.379973182', '2.65', '86.4', 3, 6);
T('625', '4.5', '3814697265625', 13, 0);
T('65536', '1.25', '1048576', 7, 5);
T('9', '1.5', '27', 2, 8);
T('256', '1.625', '8192', 4, 8);
T('65536', '1.875', '1073741824', 10, 6);
T('65536', '2.5', '1099511627776', 13, 1);
T('4', '3.5', '128', 3, 3);
T('65536', '0.3125', '32', 4, 1);
T('65536', '0.75', '4096', 4, 5);
T('625', '5.25', '476837158203125', 15, 4);
T('0.16', '-0.9999999999999', '6.2', 2, 4);
T('3.6361', '-0.06', '0.92547', 5, 4);
T('8.7881541', '-0.00000006', '0.999999869595727123998', 22, 4);
T('5.812', '-0.99999', '0.17206083953928505581714758136682954', 35, 4);
T('1.00182', '-0.99', '0.99820145697169941929781173763757', 32, 4);
T('5.5444262906750381', '-0.000000000000000002', '0.99999999999999999657441', 23, 4);
T('6.06737421654397', '-0.000000000001', '0.99999999999819707407228698', 26, 4);
T('5.57197470953405387', '-0.9', '0.213', 3, 4);
T('8.4297580531324', '-0.000000000000002', '0.99999999999999573646385819', 26, 4);
T('1.746122696164', '-0.9', '0.605526', 6, 4);
T('5.74274073282643192871', '-0.000000000000004', '0.999999999999993008253696156596264156', 36, 4);
T('9.66306878602393217324', '-0.999', '0.1037217997755957147', 19, 4);
T('5', '-0.9999999', '0.200000032188760838972540436', 28, 4);
T('4.3824878980139638', '-0.9999999999999', '0.2281808925138899469268430741', 28, 4);
T('5', '-0.000003', '0.9999952', 7, 4);
T('9.334054292', '-0.004', '0.99110511776926013256649456014581966281', 38, 4);
T('2.857025525067229367', '-0.9999', '0.3500511195441991531149', 23, 4);
T('6.15', '-0.00000000009', '0.9999999998365193126497', 22, 4);
T('3.7546658482323', '-0.9999999999999', '0.266335285328', 12, 4);
T('5.224911080753249', '-0.0000000002', '0.999999999669312', 15, 4);
T('9.95213178392941249', '-0.000001', '0.9999977022158620465445576', 25, 4);
T('5.7886', '-0.000000000005', '0.999999999991220548', 18, 4);
T('8.0710798936715749', '-0.000006', '0.9999874703547618', 16, 4);
T('5.676593873395780714', '-0.0000003', '0.999999479094720867', 18, 4);
T('0.0157695061', '-0.999999999999', '63', 2, 4);
T('21.8005326254960840089', '14.99999999999999999999', '119400615273418803650.1362563340821916898208389', 46, 4);
T('46.80102307015', '4.000001', '4797589.19437982876031', 21, 4);
T('29.255206217375', '9.9999999999999999999999999', '459231465846284.22207', 20, 4);
T('0.72591761772', '6.999999999999999999999', '0.106221237503302998', 18, 4);
T('15.4118713082497485', '0.9999999999999999999999999999', '15.411871308249748499999999995784640395270841', 44, 4);
T('28.4081968639389', '11.8', '141460533914213599.43787', 23, 4);
T('0.3928066161887', '32.0002', '0.00000000000010319062643292561810866879769121849802', 38, 4);
T('24.798046085018648753453', '5.9999999999999999', '232543806.207', 12, 4);
T('20.485568584242', '18.99999999999999999999999', '8270131718672851271097903.87621818958353436851582', 48, 4);
T('42.8370908953833379325104378096', '0.9999999999', '42.83709087928771082404132296717420023028537565', 46, 4);
T('27.0796495092501825688964546', '11.00000000005', '5742135400426759.88475582631790390070483164414', 45, 4);
T('14.1156212914776333444958455', '1.999999', '199.25023697213730437422455790987056', 35, 4);
T('0.1823257652020553', '42.2217', '0.0000000000000000000000000000000619081603070606529100642938807884', 33, 4);
T('0.85023814', '21.11452134', '0.032529930015511087700837705442326', 32, 4);
T('0.709391244588543909409761011308150363507899772705872604200789038324780375', '9.12701096', '0.04355', 4, 4);
T('0.8414635711869', '10.3112', '0.16866469404646128907003917377733', 32, 4);
T('3.60', '-1', '0.2777777777777777777777777777777777777777778', 43, 5);
T('4394.46', '-1', '0.0002275592450495', 13, 2);
T('969.0', '-1', '0.0010319917440660474716202', 23, 4);
T('8.97', '-1', '0.111482720178', 12, 3);
T('61766796871807246.3278075', '-1', '0.00000000000000001618993', 7, 0);
Decimal.toExpNeg = Decimal.toExpPos = 0;
/*
Fails due to the result having zeros or nines as the first 15 rounding digits:
T('5.631494596755272325099275679497505022190851E-85579855160', '-4.380603843574597881680471605766E-351772', '1.00001', 6, 2);
T('1.54725732121174158E+13424', '7.681985316868594141252366283E-70646641813731', '2', 1, 2);
T('3.1798831663344988E-78494755872861', '8.66070402471402816755433578062455886E-5900', '0.9', 1, 3);
(Make sure toExpNeg is set so toString uses exponential notation or this application will fail
when trying to log e.g. new Decimal('3.1798831663344988E-78494755872861') as it will run out
of memory trying to use normal 'fixed-point' notation!)
*/
T('9.9999999999999', '2220.75', '5.623413251778e+2220', 13, 1);
T('0.9999999999999999991999999999019999949909999999', '2220.75', '9.999999999999982233999997e-1', 25, 1);
T('987504387560932846509387650789.49807365', '981459.4903857', '9.876e+29438424', 4, 4);
T('-2', '1001', '-2.1430172143725346418e+301', 20, 1);
T('-2', 1e6, '9.9006562292958982506979236164e+301029', 29, 0);
T('5.0771598579583468811E-101844', '7064449.87442997380369702938801116641723585825702571602', '3.907934864857193219594361275098983e-719466848189', 34, 1);
T('5.80246472674775E+21125581', '0.00077726506294426495082193497633668602085', '1.5018938138904125617523547e+16420', 26, 3);
T('6.79814531138172811146427639311641731E+3002', '921333.540141164765345827196802875063582247147527560444072816', '5.46796747665387723536e+2766610196', 21, 4);
T('6.5682926973887749938950364924863319424161626660461642009258E+4917387197097215', '-7.473344492898604115409998651708493960E-8', '5.1432092531946772355e-367493286', 20, 5);
T('8.5584843207389113768089262878530505250100133967822E+319264126', '4.4104952652598E-7', '6.475779017455885133163196967776853546e+140', 38, 1);
T('2.2E-85790816', '8.460028062421713597703181700157526623479295', '1.0935729098864136591458e-725792708', 23, 6);
T('6.95700356503674177773968765540131122E+101', '0.000211632455594172697231298140755613', '1.05088008501037478144463478588688e+0', 34, 0);
T('3.3316637995391385961633264550E-3772960791958671', '0.000784672027200673851569', '1.349e-2960536793175', 4, 5);
T('3.0332704812020656734919659194988434164516141443309417146E+2375752', '84923.18', '6.11472957964e+201756455656', 13, 6);
T('3.331031860068154E+31107', '548.388652532680608435775902486969187', '2.458163170095818634716945e+17059012', 25, 5);
T('6.158616065490231075328019700927848134714359968E+6586', '396825439.1781141105070705573415309972949738857215903', '1.1750895091378313509383824e+2613805629417', 26, 4);
T('4.859961965493268964638E-7819', '5696158198.72674162171585785793670944491', '1.321e-44534349786390', 4, 2);
T('3.308275915E+77212864266', '8.371E+8', 'Infinity', 15, 2);
T('9.43310662617420078049146370844152509E+64581877644', '5.9E+3', '2.903932226338996143527e+381033078105350', 22, 5);
T('1.81266947641829295657247077144694660E+832281', '68616995635.8663593755366737573587973504301621883', 'Infinity', 32, 4);
T('2.4E+1232', '0.748899744138', '8.49620298398677665e+922', 19, 3);
T('7.25882410E+71552582111235', '0.000001959406007575585330174050', '1.7631972693126152338714709966936e+140200559', 32, 6);
T('2.62087885971273E-91339358825', '-1.79', '1.00225899699109514583960077804e+163497452296', 30, 1);
T('1.04229845E+4612', '2816.085044372115823938', '7.8e+12987834', 2, 5);
T('4.49936598066551281014136706696408646312061894590668335E-514963', '5.229545897987', '5.907717620117625e-2693020', 16, 5);
T('5.4312672321860831634015624847358227E-96', '3.869388648063353450784031014746833623069E-7', '9.9991512624172e-1', 14, 1);
T('8.1874305132863843004288479583988609288226775782721E-796', '86287636.018906365566916459137593560', '1.08225784e-68606164921', 9, 5);
T('6.97697061126899654376939048E+454', '32983.32837', '1.0523674190109e+15002258', 14, 2);
T('6.98646150526695482213630E+10094615260375', '-2.313568527197886888053736918475172855084', '8.80106745866762752508733009161638022e-23354584160578', 36, 5);
T('2.46E+6807810868902', '165504.792024627015721419216934101289417655264710125320', 'Infinity', 39, 2);
T('4.6611695937763727901764245452E+39357615164', '5523.187068356708641689', '8.375494973574516e+217379471118856', 16, 5);
T('5240.55860832754015401851361991154096', '81.967282733336603047726073', '7.36671523747e+304', 12, 4);
T('3.83293431846360497085E+22460014654', '87422.7917773', '4.43240217e+1963517184462762', 9, 0);
T('6.07976449380202695570672783218419418012688288182650E-8748574', '-80506.513335286282873749037045580619', '6e+704317126287', 1, 0);
T('2.70311705336978938471313110157167442061062340617691623846E+598', '0.70202658549705138907022833483536035235676707256314158432', '1.30340305614020216816816379e+420', 27, 3);
T('8.19226205828103067815656903723E+843283962', '4186782365.1454021709877368898656337749625995193632801484', 'Infinity', 15, 3);
T('9.048018220179838690160476412892178992790E-74561', '-544.861085646252181', '1.65238024e+40624866', 9, 5);
T('8.94153193419185952648109226E+37694850845765', '10.8990689418747722178108109013966', '4.684502779625540746956345543e+410838778121689', 28, 1);
T('8.355858242210290921583866619038461E+1533967231604', '22040.8342164255071260853405101881310229095792451834063628', 'Infinity', 34, 4);
T('7.980784424596730E+62', '4549.220335716', '1.840391265091332722600312840171e+286155', 31, 1);
T('7.353793980179257379112856201773846699826E+63830864934175', '6.816271825625622855541621907720102171265393461137E-7', '4.222928698030893636e+43508852', 19, 2);
T('3.5799714878406968191E+65297038918762', '50278.1386257334759042626769371626290015637481449605692480', 'Infinity', 2, 2);
T('9.6243636096055922536521273111E-396', '5920618332.4326756700062568987705', '5.27990794084958590687701576193e-2338742689221', 30, 1);
T('5.351524841596585527066548007832595450540E-6900660083423', '0.3513412144597333826620514746180947', '4.11193187e-2424486294284', 9, 4);
T('1.853556718499932114426541936E+87654', '4772290.7596925542935273123122793454667963', '1.18946271575922949592807590800617143e+418311653252', 36, 4);
T('2.9932243988603051613029655E+27095', '-49137.21272', '1.565591758733e-1331396175', 13, 2);
T('4.90835642540615754207791719888139323287038500600086187406E+323995843', '-3.1175E+6', '5.41202651005644161199476215577532225692e-1010057042706494', 39, 6);
T('5.53917753642534662031903215871385102E+719028', '8.1E+9', '1.5420589888668e+5824132821906808', 14, 5);
T('3.2463970188013098129842820589447516E+7509397560', '19896572.09822722893235765', 'Infinity', 11, 0);
T('7.86510933113092958285533647370800403533108E-19310', '5.8863560225170047649418509E-8', '9.9738629742634280669669172195959185e-1', 35, 5);
T('3.5594168562027049179E+7780564249923203', '3E-18', '1.0552167897899870873293090075940144622e+0', 38, 4);
T('69262535.5060474103', '-13701.9178481573095', '1.365303342599745517073745221651537e-107430', 34, 0);
T('1.431397648211E+7603955804', '6.2765078776416', '1.05e+47726288506', 3, 4);
T('9.0968190675810127390972E+17349114939', '0.00000882667333358649266115914874355997', '9.336881826930216e+153134', 16, 2);
T('3.76588033E+822', '0.0001025529515887847663397222156277393409085154', '1.21438832417858515403929485e+0', 27, 3);
T('5.84501760745660235389485148944652846220E+9248288815', '0.00084325421', '3.014333197311981074259e+7798658', 22, 4);
T('0.00006614', '0.000022049910', '9.99787819981949439235657385e-1', 27, 0);
T('6.0003208406152355926310469716974209910327314295650E+64687794611878', '26.033510753168627099254060752011047584021484263', '5.601446439e+1684050396627109', 10, 6);
T('8.117008383E+7158', '7.2706271498941212636904030030133919192533E-8', '1.0011992085e+0', 11, 5);
T('1.72811288429651131465175588156671220359452E-5707034846881', '-4.0575454834840E-7', '2.2217985751061080605642e+2315655', 23, 3);
T('97637051849.909438339567842', '371555035308793.9080622141370606183291955840592937678786', '1.06144413718216162422462354574978e+4083246662069331', 33, 0);
T('5.985096633413813E+561', '65806633.2539333000586861147953697705287386278592235253549', '5.5055533269431429514779e+36968657692', 23, 6);
T('53267011.744272861578238255240403493261783374', '-493.941494308794718', '3.8161454359118554948e-3817', 20, 6);
T('2.746E+6364504', '39.9168044722206079756625576923335472842051765968348001100', '1.746583455543525803633334398e+254050679', 28, 2);
T('9.9387668014142760681370651297E+7614474059', '1712188781.21879322628323956883', 'Infinity', 2, 2);
T('3.53014084524946', '4.871197491025608341402076679526556E-7', '1.0000006144227266e+0', 17, 3);
T('2.9014E+690', '-0.048', '7.20766901141632909675632494993e-34', 30, 5);
T('6.7737932249914149192741904436033502881E+69749', '-0.053022712987606', '5e-3699', 1, 6);
T('3.6882175649704684277757828E+2037964874', '-642635.8362223765343131663196387750446', '1.4267857980606754101453788797453e-1309669261359077', 32, 4);
T('5.11991785183E-3964466', '50.479', '3.88049042607e-200122244', 12, 2);
T('4.0005860432176758E+78488494356638', '57557.576405933488417239933136101256516304401', 'Infinity', 21, 1);
T('9.5028642420663381800682029705240338162178980457016913E-8546023572', '-0.00003840168085460067309845988710067', '4.6746627792e+328181', 11, 0);
T('7.2465E-6395778', '213.7585955518485060854', '1.3134275713320485356634e-1367152339', 23, 4);
T('4.33901448445764731784110608985303169833582431444289375174E+60516785149', '9902352.6183715624163', 'Infinity', 30, 6);
T('4.76328474150765985910452135589930147653518708469312875497E+583612573', '7629595.9208504002813101957894', '2.86346770725041477546361444032302e+4452728111489959', 33, 4);
T('7.9554083492767223354864588228489828334013896455028E+13167', '2015.66', '4.46e+26542010', 5, 2);
T('5.04931440384197989038621792283832975822144434473E+63', '-17.149639619768469086', '3.25477890437150725e-1093', 18, 3);
T('8.214177E+75966888071', '30364.45069179876052659964380366664253430364446270', '1.562389342311588854940141e+2306692827069045', 25, 3);
T('1.4075196025653192682742670275E-39122', '940954025.6674305831', '1.036554486499e-36811863703347', 14, 6);
T('2.2986590678229284E+370392870', '97345814.5277182390478328722819235', 'Infinity', 13, 1);
T('5.57683020911537577257633E+934917303658982', '-4.25311611870491E-29', '9.999999999999084420360023414484177e-1', 34, 0);
T('1.0710075288038136528515644237139732E+65', '0.047725273191322320664747', '1.2693009753583437170918352992764072e+3', 35, 1);
T('8.1497979533468E+597', '556752.315192836410882451812697427370835264116', '1e+332888415', 1, 1);
T('2.930060170451323886761623608554032477037784145174641645E+73', '-3E+8', '2.094454199984211528355892628727511e-22040062962', 34, 0);
T('9.8577E+825206092718303', '0.0022110', '1.47955202e+1824530671000', 9, 5);
T('7.9742E+95828', '206800229930477.1323', 'Infinity', 37, 3);
T('5.753890382013E+6807473988', '0.0754264073573', '1.4139e+513463306', 5, 5);
T('1834764.958079827578616321', '-97006188.4597939293840381191', '4.947542073173793689074414906442045865e-607606065', 37, 5);
T('7.440727008114541286497954414408496303E+98487561', '-7980827.272482942', '8.0146608376457224435682604305e-786012219785340', 29, 2);
T('9.55999593025822561160479338E+95', '-666.3', '1.66352588e-63952', 9, 3);
T('2.620771502858155704600372178644271310074352903507500091933E+66', '2.44590333E-9', '1.00000037406205743668737376e+0', 27, 5);
T('6.709010827115311E+914391225959413', '-8.864064', '2.7416639030849663228e-8105222347942706', 20, 3);
T('3.71568864935547034975803653196471500933089027829633338E+985253596', '6.26509982590332709822605393', '2.195736341659688677851565131e+6172712136', 28, 6);
T('6.745917715273634386E+54700229624', '-48.1307174544', '3.571994854951e-2632761296764', 13, 0);
T('5.1915559970290E+991046', '8.54419746433086962914319198382480626592031790149020', '6.79013958295e+8467698', 12, 4);
T('5.2380448393914E+72874805286712', '14437.1570049050862864865489174497106479405265821687619154', 'Infinity', 32, 2);
T('5.16012974239479948692516586442121244564792300566067E+617', '1630375.763313280575759560950309321947537389455290', '3.705000256448983280647292442122119e+1007103750', 34, 6);
T('4.550743857579917E+89364924883381', '0.071624936256657', '1.4198730603177818398948e+6400757048353', 23, 1);
T('5.4784315202534954933752E+33', '50.89978170673732', '2e+1717', 1, 4);
T('4.4E+907314110', '0.01226922166800446010823682923592832', '8.83e+11132037', 3, 6);
T('5.63687872577834530360787E-951', '48675873.191927476517892157', '3.78490584626639e-46254197942', 15, 1);
T('2.57209445348531846179035553715262227407164720E+4946720729061', '-3.7', '6.0525505088486191940357e-18302866697528', 23, 2);
T('0.80783305227594822490', '557297197.1243805703436076820342175284400830676387253', '4.09225902098130174e-51649403', 18, 3);
T('4.584765738210609298576356293036301454E+8474495611292', '6065067.0540885155406011346202658116313', 'Infinity', 9, 6);
T('5.00462269496018478010950760E+86', '9.65131599505646981649097854341675891698966650224326820E-9', '1.000001926719933e+0', 16, 3);
T('7.563438E+67811136', '-7.17484326831E-23', '9.999999999999887971342205745603291224e-1', 37, 3);
T('5.9763980481068E+1113186691516091', '-1.3360029E-14', '1.3421267083913530666271523e-15', 26, 2);
T('8.713242E+5235499', '-1.98292870076E-8', '7.87378893e-1', 9, 3);
T('8.8125725501017303078E+8159173492169', '6029591.745', 'Infinity', 24, 1);
T('3.369944959336926265579433954594E+97550306', '54706.112261688363166941820', '1.755708444492156e+5336598020062', 16, 2);
T('3.7542579994511004229761890E+1462024', '2.810223427334048', '5.1364818899e+4108615', 12, 4);
T('4.507548245236103246777419861328222395814830663351978233E+9215058605908', '-0.6226090733453', '3.809876e-5737379099448', 7, 1);
T('2.51462213040697818603313246450951120892996E+9291832004', '504766.1995653938766024498921253', '6.5029475983490433746195009480676346e+4690202727861322', 35, 5);
T('7.3371675684192595774004205491887147259123372644191', '2902867.20003859346149086963501957958204041508964563', '1.29598827535234984271e+2512514', 21, 5);
T('1.25251232761437105495117783119126533219961471789108E-5601273319', '-73.6512577287927218140', '7.55e+412540824819', 3, 2);
T('8.1374782496336891E+87410194', '-0.0300', '1.4213e-2622306', 6, 4);
T('8.62212E+367', '-0.002', '1.8370829727622e-1', 14, 5);
T('5.92239414115944307485175893092142735501E-154', '-76.672520121779641068399680167', '2.181641865067e+11748', 14, 2);
T('6.125403043035592435596824426852943151660022E+5926', '65982.22675024794740311740587742', '4.17e+391062612', 3, 4);
T('7.284395660349E-82911613', '-9609.96811006787033383524', '5.18055574826116314136620021678343156834e+796777948596', 39, 3);
T('4577422398925031174823401.4196752295172101319597154983601', '7578796.626513284235095426704781855453556696783', '1.47931e+186897831', 7, 5);
T('5.3915388253441339540763890176079700908597035262E-493205', '18684.486685', '1.59026e-9215268584', 6, 0);
T('6.5460E-11832', '26943775.67722264403338049703137405470', '2.69068080646213385260257e-318776768339', 24, 4);
T('9.552099614070226859748E+522250995', '-0.7134529193085892', '2.02385874463953e-372601498', 15, 6);
T('5.33014285366E+6640', '2432.874973546845', '7.7465526772753511221079778688948468e+16156057', 35, 4);
T('4.37816973238061550439E+390301', '-707574.56662380566870098', '6.80107457312003e-276167514691', 16, 3);
T('8791873.2220876986561305724198951917', '-7.353683E+7', '2.15519273455868576810119774e-510645735', 27, 1);
T('6.928788232907308442704857627923073270253E+7512187664588', '637.719', '7.501101953378144222062958121991e+4790664805273930', 31, 5);
T('8.557874958124599204654E-9845', '-0.532896', '7.31587e+5245', 6, 4);
T('7.909064231902852763550504721E+7729325055', '10782.8', '2.010741456085473198e+83343766212738', 19, 0);
T('9.70061858912969405080616286638669487950784703798672793112E+620158674087206', '0.0008073727586653391770700589465604878355224551', '1e+500699219508', 2, 1);
T('8.69544672318768645069891055702492801030E+836172024743991', '-0.9189385406', '9.0926178561400237931548536357520847e-768390700108792', 35, 4);
T('6.821907772029241562888E-641988722030697', '-8.80448692', '1.70950409898587409319546e+5652381305906780', 24, 0);
T('2.0394585080136797274515127800480935450E+55742195', '-4.5386E+7', '8.316594560489691e-2529915276317643', 16, 5);
T('1.19358632791080098547717793552706755853555741576544121E+39141', '-52659468.256521365038538341', '2.44162971679093437367642016e-2061148294111', 27, 6);
T('9.161790991723791509327994187198136437E+27457608255728', '0.56608958614148538780', '4.3708691505454533490744153012026e+15543466093920', 32, 4);
T('3.7662134744708956765426105833763348E-71455', '0.000023849088573800620787264793114229120799092187309', '1.97641031015543e-2', 15, 3);
T('8.55227544534E+8270770351116', '50.9072', '7.67129163e+421041760418379', 9, 2);
T('4.1938542493600279390170E+17936185', '-64.54972137057845250657581129217599661506', '4.067561611914045705223241906316e-1157775785', 31, 4);
T('2.3131763547205E+55482', '-13.425', '1.8217870382263049170752492e-744851', 26, 5);
T('1.3E-342294', '0.002878457310386054168779994', '5.268189395464716053289828931549040674e-986', 37, 0);
T('7.50841253834314739444848074171321830077188975E-74633850', '356.83537735328009715320188771188828', '2.2307055348406240138303734200465e-26631997716', 32, 4);
T('2.245089E-50412198', '93814710.170868752', '3e-4729405711495575', 1, 0);
T('2.5E-347447417283', '0.000783016200', '4.16449753034885026620617386759699448888e-272056957', 39, 4);
T('7.823397170086362080613754691658200994307742E+1857542338153', '3.3820520498585415084271809358129658449416774684393466233244E-27', '1.00000000000001446554154895286784118693e+0', 39, 4);
T('9.81177E+403007713345', '-5.47717188142508023546353347241702598446', '8.2217378103780488829365161998610916336e-2207342515537', 38, 5);
T('2.4507353066731837649751451E-75', '-0.000006571206', '1.00112955418884528082016536140424e+0', 33, 6);
T('7.443641736509587181356E+3324827', '-5.3612350707639818490727538', '1.6200566747196711e-17825184', 17, 4);
T('9.7407E+746579', '3260.04', '1.008070522815792e+2433880626', 16, 3);
T('3.2777121934336912810168007444541E+4019', '5491.1165071333267136192272001652269029669351', '2.002586e+22071628', 7, 6);
T('2.75365674196783038E+65159448733345', '-2.433365097487755443408', '2.9557671819634e-158556728319266', 14, 4);
T('1.3719782532970653E+32', '-0.00008148246902734791777306700205', '9.93988522350500261151816388124855984e-1', 36, 4);
T('6.961684485831144504394149421043093841228143127163E-8025', '5.66143E-8', '9.9895452382e-1', 11, 1);
T('3.203870427796078788719169671144343627555783E+89712', '7.33187668691940303464671E-9', '1.0015156982510789881385334461275046784e+0', 38, 6);
T('7.9618158439774247953E+6050954789', '-2.347E+5', '2.841e-1420159089189768', 4, 1);
T('7.9E+782077019', '976562.32673916207', '4.603394230286315501e+763746954240456', 21, 5);
T('1.338774629507178454137999605147970822412281015E+9195075956131', '0.94557490379385372576241180588124664720593602777', '7.3739152723297e+8694633062595', 14, 1);
T('3.3871725596953124824987766938901600E+57339095732', '-0.000059214631484', '3.772006640709082760894149085217641432e-3395314', 37, 4);
T('6.5481E-95', '6.95724E+9', '6.14497093699163269210190386385737396e-655259889969', 36, 4);
T('3.92454353231273611169248335873251152E+776667749226', '364.62853054352776095853', '1.030364793896893243802149386975e+283195220121042', 31, 4);
T('1.09223483289341702621056648392354614E-2657', '-808657.510406641', '4.0826106964027262677172e+2148572020', 23, 4);
T('7.3192028959103777360131963180583077042853268703093277E+909404806829', '3.21374964647566381609483296249831645116503E-8', '9.857e+29225', 4, 6);
T('1.43936221446087376875177418385562336116306398607E-77138514', '2.2316071645634117628750263513039949045353476', '7.0274615942815e-172142861', 14, 2);
T('9.3681362983674339253637847554582064868169E-6771', '-185.856', '2.44581005644e+1258250', 12, 5);
T('0.0660729161751769793425262396174', '5.76079E+9', '1.9006934476039675787e-6797596965', 20, 1);
T('2.59169206971662705870749634961542664603329199E+66', '5.5439431053650', '1.5600115e+368', 8, 6);
T('9.532244485927074147056042839343098352851133654E-797', '6545795.735902209014765212577590', '1.1809880732e-5210589590', 11, 5);
T('27613038502066878502411859587573099052445296.2', '-1.68652421', '5.4388764684482822763706e-74', 23, 4);
T('3.2314084085186696773729515133529862999E+474903', '3.186E+8', '4.394e+151304258092243', 4, 4);
T('71687543.393833653743705678', '8.629920110176544750723537346352', '6.192293673677253e+67', 17, 4);
T('8.222747797878525869993E+91317', '-9.99160E-22', '9.99999999999999789909354665e-1', 27, 6);
T('8.782032315973218726E+5627', '0.0000802993830038751440486128543961702078086106587303', '2.830874e+0', 7, 0);
T('9E+36232707249683', '-42', '8.35246382862392181051107318287717484627e-1521773704486727', 39, 2);
T('1.188166725593E+544', '-0.45', '1.46657e-245', 6, 3);
T('9.17503208816241082159387326100949902389404587588091329E+668275179212400', '-1.629712147', '1.8121907731671607349e-1089096177101052', 20, 0);
T('4.1E-57107000', '0.0111452652464478005919', '2.21004310379622800709e-636473', 21, 6);
T('7.2705827518572846348071070646891039E-50748', '3963.8', '4.876199857456245466466770191856068e-201151508', 34, 0);
T('5.437359658062633910229422238566735067843E-945660337', '9680.4664615019518853239085297269260152309085298054533', '5.836e-9154433169183', 4, 0);
T('8.3115757068779638683226331235801E+757329828', '-0.00007729603672856076270523536275296440351', '2.5452367749e-58539', 11, 6);
T('6.006057907936150', '808871713.08629583895755330087321', '8.470500147971835274466193e+629779034', 25, 2);
T('7.64349884280629088310958E-8068', '-212685269.518065674123255802779', '1.7712674661492160384e+1715756891231', 20, 1);
T('2.82714844763001396760502449440039972193408245645350E+907093', '-1E-7', '8.11e-1', 3, 1);
T('6.76201289187997006065251E-68269336', '70932.8324936694129190381703980', '4.0405983775906402328865028619829e-4842537316063', 32, 4);
T('3.734209818208857153109408459940415845307E+7912847300793', '0.000189698810366761117108375455804010337923', '3.752990087054993356848550108925415e+1501057719', 34, 5);
T('7.48828005901074874086686327832442100176173E+84279001853606', '8E-7', '3.04008341073872128340614882098e+67423201', 30, 4);
T('7.871247861390195043E+47907686170495', '0.0004', '1.578913788610903e+19163074468', 16, 5);
T('5.9404972154762900249357516837332077722792095626831563824246E-38084', '-0.004506774727812020522', '4.2906322125800659457479280870392367149e+171', 38, 1);
T('5.4654499973740226777117297791777381085967091477327606E+76224', '1.9689685189928950122574', '1.284558656827135142718745725659803195e+150084', 37, 1);
T('3.646056615243E+42468777867', '0.083720729320335555346388072514697970850325559', '2.6037594032522493e+3555517056', 17, 4);
T('2.6847256147074E+90437079560', '4.08690700011586767E-8', '1.2e+3696', 4, 1);
T('7.44178450056353769408836251138199842205277120238697285805E+88', '0.107157559025034920881311018720', '3.3363e+9', 5, 3);
T('8.7866521890629663317944589103030337127017860556769958567E+9937909361255', '0.178841708489075337687476966466087538620', '3.876102911e+1777312688976', 10, 2);
T('1.19473123E+1564', '3E+4', '1.277867958134239380301278326131e+46922318', 31, 0);
T('7.938764945781384076E+6080', '5591.22202955', '4.5513695029114625344462377786170376109e+33999660', 38, 5);
T('7.04689441463039523454393363762155749287E+76770', '0.000172727313450498151', '1.821471271885195637858e+13', 22, 3);
T('4E-2927999089326', '2027.17000226244973117045613', '2.0204170898633160900595232224153e-5935551920532218', 32, 0);
T('599.02258214977740443955617518', '2888642.310254317240', '8.453571458419e+8023039', 13, 5);
T('4.08310428041776621844744313774309309337632383674874676901E+20625', '59815799.1620608322988665735554073', '7.101689325884e+1233737404600', 14, 6);
T('4.1108488871286023623810551774186079378367088863035879E+2931831', '756062.041074229677230', '1.028903677564269398e+2216646594115', 19, 4);
T('6.67583226737E+40793488463128', '4.1085963276748772345489E-8', '5.873900500171689e+1676039', 16, 0);
T('9.10556062199787E+59059201', '-7.349326599391897790150853257569184', '1.3e-434045364', 2, 2);
T('7.129001E-125', '-0.0000054853309260643627770', '1.00156926e+0', 9, 4);
T('9.349147200463064402434848793172841115669923581245789792E+95', '40666.0291024681928686859730843883', '1.610814e+3902750', 7, 3);
T('7.32478339660827386511904398146593223690892363724638067928E+147441930', '300.262378199884726565526139448', '7.018901219e+44271264807', 10, 5);
T('2.44194666894526283911E+4759', '-34564905.626613407', '4.498037884464906858017550598e-164507787942', 28, 2);
T('8.5450213030663475403925390862757928243049864470438068821E-9450653', '6.35212633430652189178965844844482991E-7', '9.92719178275547649159520009606e-7', 30, 0);
T('7.0812203847203896891657449E-5581550115241', '8.1537646404038798861907616340200074822849116449224943966', '4.6225104704125618131676851077924e-45510645968288', 32, 0);
T('5.4365124537572282251220801129890472069264624E+70709860', '-0.00003302', '1.446766752e-2335', 11, 5);
T('7.2564079797525275842223957575199099725533628583581940840E+525563', '30.32848064460663', '2.3845288309557631899791305078047e+15939553', 32, 1);
T('3.761438485653425132373312148474923170770E+375447975335', '8E-8', '6.88694866883939275e+30035', 18, 5);
T('9.29633132E+5952905852880', '-0.0029', '4.417656017858392443e-17263426974', 19, 6);
T('5.69617994228945675175806014587356905822E+772166', '372305.495181063218348152640', '8.80069187860397927278408742239219255e+287481926299', 36, 6);
T('4.74E+756531', '7478.67938838032168930600074020614170549325489434482', '1.9966784918136155e+5657857850', 17, 0);
T('7.1498486769103546629735019198841931936605158871558742248E+442233623632', '-141.1530358', '1e-62422618508612', 1, 5);
T('6.3699159330279977330578689630950297498906351447828942E+88752', '-9877.93987', '2.974517e-876694863', 7, 0);
T('2.1328E-36076527', '6484.9682191578845045274', '4.3632949345006979377e-233955128920', 20, 0);
T('4.4317422553267864709042786956854797718571024E-867279', '-2967836.1', '5.94447835368052268717797409736e+2573940006044', 30, 2);
T('8.640940138781391559424163634E+47815331749824', '-0.030066097865616139762783845988967984', '7.25827e-1437620443868', 6, 3);
T('3.7356551798388343706037572965284E+9614946926', '-0.00049745287539654218001000857107912624723', '1.010628241547351094711841349951e-4782983', 31, 5);
T('5.2756050421400918548432951313606520208189098E+50035', '929797933.6436569701770123124', '7.6563147963021741756726619e+46523111177128', 26, 2);
T('7.1899254058519432659426926220919793616925857627438640857E+3659864937', '-598.6927600737586618427', '2.4124217456891662165454e-2191134641143', 23, 4);
T('1.147487567601177441990531729624174624975867317214307844E-82', '39635.490730239834520560731748493755621945510', '7.961230862860157814045291e-3247743', 25, 1);
T('4863.50689', '-352.801969', '1.7256164978338917113502131045e-1301', 29, 4);
T('5.983818609426797113889418679604882639700955568868282478E+4135', '-2939574.320160534790658783891589522220', '2.114e-12157423800', 4, 1);
T('2.906681938358842060030144181578E+887483702748', '52.87997314882238401309343494285815550926401256750805107', '1.62430550691028547902178319e+46930114371356', 27, 2);
T('7.9114076584066097737338768E+7810323948903', '-0.000008740', '4.85937e-68262232', 6, 4);
T('4.6013912808758606017110871E-245', '3.4724995945188572159462668862516186993570565854787773131', '3.463233e-849', 7, 6);
T('8.594601824852994632773253829009423761767E+557233', '3296746.0179167050381799091063361088630662641', '6.88021020915406500327644e+1837058753706', 24, 2);
T('7.5065769223E+80945520', '44311579.91450835622099079475373793', '7.81666320504675306640165696e+3586823916993649', 27, 1);
T('8.39140435622E+881', '-49355269.733295166', '4.7902426e-43527588744', 8, 0);
T('1.85959539599127806116798728957747440888E+64897189', '-2.6282E+7', '9.426151184050998099496125481209146601e-1705627928378857', 37, 5);
T('2.482E+9183945670', '20.3882516496848113757561147315860933', '1.102803875585527670088322714972305841e+187244595465', 37, 1);
T('4.82067355244004903214465213245729406158094749631E-4958', '-0.08613523', '9.99150014879904732387152377e+426', 27, 1);
T('5.45489356136239491363420910615E-38246937', '0.00000177960423531323264', '8.6216470171421929946987e-69', 23, 1);
T('2.36489347E+934055', '-28342.77814832234', '6.45e-26473724239', 3, 3);
T('4.59940067802489686883617006546003868327E+37431515', '64562.77354657730260142402011', '1.3864514223597113686522e+2416682469236', 24, 0);
T('8.25778322918239224333700772E+45482332', '773.883851735802787007611159390733795544441207116', '5e+35198042983', 1, 0);
T('74957.412246810792788884', '7743629200.8', '7.7e+37748756568', 2, 0);
T('5.5140024230792986213477732E+46', '798841.8366676098559674270965707126110', '2.0368858e+37339039', 8, 0);
T('5.263098291053805792559892617E+907', '2.65434903844893480535683930140208648600653442333201753208565E-9', '1.000005547884646151963e+0', 22, 4);
T('3.72311056860059868316321066085162037831468066579239E+9616846', '45907.2931958298442867129221121393217397371634022886148924', '7.75454454970947579884565287808e+441483395149', 30, 4);
T('1.8435082851888111442344443479166058249790453557211910602085E+66580', '-811597643.0841915477732597508620', '3.327849082473907e-54036386673478', 16, 0);
T('3.697260569406113319191698322074299748896E+7007', '0.767414997683490424098482169261805723369074', '5.160460313809209592313139909738897e+5377', 34, 3);
T('1.030879593520268877343557289105932959940209596180848E-6318', '397676.7782919784', '1.7514771349443e-2512516633', 14, 2);
T('9.625504980110E+7481970126', '535.53888926403366458', '2.42e+4006885971311', 3, 6);
T('7.330323521200187837671246094104583822799328503E+9334141699', '268352.91263137194944787357894327786548389', '1.10660785621471227475e+2504844112072751', 21, 3);
T('4.4336827185427321390667790041004325510717185845E+60', '89263.5031865831713880817361626598956239275275668', '4.635718673528298714e+5413542', 19, 1);
T('1.25079709471385644710449496404342118731991905342280292898E+21637783', '2350.47024817547008354378018207097274', '2.581068333e+50858965406', 10, 1);
T('5.53246829839995757504726968715310499258089509906E-597577456288275', '-0.2166244923760343050240812392', '1.7376819214293845e+129449913123809', 17, 0);
T('7.2064422728991150451081E+51267', '1.8279665442660962695940418850500503013832513571', '8.486136664229787335127e+93715', 22, 1);
T('3.77674514690011642776690392706007538429237402416E+931689', '-0.07855666803914414227248331478053500567756', '3.72541651802324623e-73191', 18, 2);
T('1.55384497102883E+428', '68.61099016450983730355401071824', '4.33e+29378', 3, 0);
T('7.993753886259415047243487E+731', '0.075115850878944976379581850524075527386454652911', '9.4950637501933162377318864e+54', 26, 4);
T('1.55694709677077667744695642517697895675851211378519128968755E-6557325', '960218.7732664123136446682525958357247355335474469', '6.2e-6296466382785', 2, 4);
T('8.4841229368160708749841885639520852819355304533488478002389E+20041893179', '-175.33037889904506935', '8.51306752324188e-3513952725092', 15, 6);
T('3.95380677969906649473169361350477736189E+860242', '0.0009875111291836559', '3.156009854463035385748448e+849', 25, 2);
T('5.17765862660410322326190753569171688302197869975119296980E+31887', '8108801.4715061805569486683272503', '9.7473710156e+258571143287', 11, 1);
T('9.8037E+8565372', '-6.9513E+8', '1.6e-5954047727504940', 2, 3);
T('8.5824463221851411255451390877390329597E-691135604', '-2.58300768613E-20', '1.000000000041105946524850370999e+0', 31, 5);
T('4.65E+8408', '1.100806336824531989527921406283235367', '2.06260687380855310918629224033799014391e+9256', 39, 5);
T('1.77286546860978039E+99', '-326.9', '4.1e-32445', 2, 0);
T('1.35185540277151981999259893988649E-284264787', '20399.63950252065589048180573834991617383354705545180510120', '1.28679038528348e-5798899175390', 15, 0);
T('6.849E-840', '51086.64930', '9.55e-42870097', 4, 0);
T('6.6602105401918870666433687832649710523844366792E+133312', '4490277329.9', '5.27489899143156401591721518e+598611549092938', 28, 2);
T('1.758457604865791424956759785062684508E+84592205607535', '0.000031320288832705093938858330649', '4.203193313877024449105363795905e+2649452312', 31, 3);
T('4.0033339069914007725', '7.60', '3.78796356e+4', 9, 3);
T('2.284388102641739158542E+5530551', '41.3185268990586415428666623018911748325062', '1.21327431814278462548162760804e+228514235', 30, 4);
T('3.57132804915297790220803545323363990096357450E+60206895652', '906.05507591133502027329713710032662543507720884', '3.8068514949e+54550763410859', 11, 0);
T('5.692772152E+94197814026', '-18339.58222956343515706', '5.92830168259179054432153606939e-1727548556188804', 30, 5);
T('7.25328470488639728818355758239482325579E-45889', '-2.5094E+8', '1.56181341790675344e+11515169717416', 18, 2);
T('8.240628335230944034E+59', '-0.0071582', '3.72485672782181269621869e-1', 24, 6);
T('9.6143417652E+11188471694', '-3664.729387511', '1.216755967826672619047537376934878e-41002721021939', 34, 4);
T('6.116288464121212556521322401415E+62640055', '6.048249564', '1.25765488188e+378862690', 12, 1);
/*
T('4.83628029309660850794678561230019450910E+87733370', '0.000096946874078351181196', '2.992541767394324327352611351e+8505', 28, 5);
T('9.278465437632054898250445034979667E-3411533', '-74948555.20599930965', '3.014021422725576e+255689396876648', 16, 1);
T('1.25889911E+91074388003765', '9.16132112850933597129872215799623', '2.60597498197169179853397492e+834361715084950', 27, 2);
T('6.596179572028988147714816320984358405248849185182E-50321157630', '-3.1377969545414611944110693090745829', '6.982962609147183908212783095228948119e+157897575157', 37, 0);
T('9.58392069153183684729238047926083631125244373E+42656096692584', '7.1717671015027382E-30', '1.00000000000000070440588975e+0', 28, 4);
T('7.661318880321572397749667E-1381360', '-9.499565E-9', '1.03067634978898338e+0', 18, 5);
T('2.77286593676762E+175763', '9067149562.4997587940364545', '2.93138387993618221847324872603067729e+1593673424655979', 36, 3);
T('568095.9372510733070324018457611381013912938299202025', '-0.0001252535917244547519557802378', '9.9834176e-1', 9, 1);
T('4.97659727820351798728808E-6377074587459', '-92.00335026219333632553', '2.1360328778365028938273987041939883e+586712226918058', 35, 3);
T('6.8196090591233160818359447259962978929E-94227678', '3.38607869E-13', '9.9992653588221917678836e-1', 24, 4);
T('20.8604803306814804527', '7064871160.020926910547997184555649910562127888', '3.562e+9320856227', 4, 3);
T('376.670709', '8792380.8982043452984', '5.75800883925415824e+22648837', 18, 6);
T('8.4893965818857E+35122969', '938781.8368690', '4.29877769563498730208541e+32972806226125', 24, 5);
T('9.419455861936004840298066576180551617206E+2934457554242', '380', '1.348372424976410799e+1115093870612330', 19, 0);
T('8.891024393928805446036075067072624175632488906876020657759E+19957856959173', '1.86579716295693721389310737926172758215417020196484', '1.32e+37237312893127', 3, 6);
T('5.779057872258094667008134581095873286949E+276942', '821971.0578422894981036602464110568034833053442167943', '2.5082277510422606903005386816057349e+227638934925', 35, 1);
T('3.234957602079743733006474035023788235177958887897394659', '-8917385.713641765141138', '1.236040142276186053347914741210469e-4546695', 34, 3);
T('7.02382916923175308152153170E+2935424741655375', '8.5993802399008400150513E-12', '6.815835610916e+25242', 13, 4);
T('4.992360311632393008744E+3086933337', '0.0001', '2.1566e+308693', 6, 5);
T('6.33175574926366004561254492162211048268353819200771020473583E+31678683237', '-838.669807517585', '2.81429967929548284753e-26567955173458', 21, 4);
T('8.70225874215683402780940756E+62', '80729124.7080711444650235355788625035401659116582618760164228', '1.4319946760261379737452e+5081061400', 24, 5);
T('7.0466981256E-938730', '4991580.3828584279', '8.49e-4685742020013', 3, 5);
T('3142978.77043261726196393912810183328', '41088944.062978216571996458060150794537', '1.977449501463536791e+266968899', 19, 4);
T('7.54676120374E+4721204', '1.05949476793681840403394142637323547976799178E-7', '3.1638012014247051342236981774577249e+0', 35, 2);
T('6.12931205168748126615477420551556222407086E+8496485', '0.007806963137', '5.64e+66331', 3, 5);
T('1.0843948902129116814921916620289752443365240627E+9512', '-33907.2', '3.1023e-322526480', 5, 0);
T('9.424792591573889182E+490', '-4099.140831646798852227115247941398', '2.06618878689362247935868711217229103793e-2012573', 39, 2);
T('6.984207530842498316856532316482320625731E+533602', '0.276288554778127006', '2.2836346372996936096566e+147428', 23, 2);
T('3.483181455095039283452040339540205257972195888686400E+26426631', '3.267685789226584726885149522992583974395098585', '2.2225028588555440314564e+86353928', 23, 1);
T('8.05914857782984274340134363E+9529107189', '-48391.3590410821', '7.084267e-461126447367713', 7, 2);
T('6.667706928066E+588', '-452.5170626722110964197', '1.269761e-266453', 7, 4);
T('4.332724328638592031920E-1272', '-3688161850.5441308544737539', '1.077950198283015828538227265790897e+4688993396051', 34, 4);
T('6.1617376859265725210397180416710062730E-5421069728', '-0.8428263634667884782729544155177748363', '1.92552637493249732465e+4569020484', 22, 2);
T('8.823870854176516809913632846345369275E+126', '4.5681337680126745060330065921', '8.0306784035745321895873846e+579', 26, 4);
T('2.71269199514602030323862288735145483185608E+88', '2E+8', '1.47e+17686680097', 4, 4);
T('5.5161565686281122715834E+6331061611', '-754.412710', '1.05712032e-4776233347691', 9, 6);
T('9.167647569590782957204307987E-7966144', '953808710.07', '1.857605906e-7598176615061895', 10, 4);
T('5.799224270469984081554282686780313101902709269294E+42260775', '31511.7399233579970195451821559497902620947403832855778', '4.607304027414982979401670050050960889e+1331710574814', 37, 1);
T('4.01491156462719872348162928188702331740975054711281586E+82509815840', '0.00003374858132834888010760622028046', '1.69935338867032322e+2784589', 18, 5);
T('5.19696486681769574E+49241', '-666448.55425180880471347285028388012', '4.78654807854090869049280289299423992209e-32817070271', 39, 3);
T('3.93691591310570876222209441E+40', '-9', '4.40143963e-366', 9, 4);
T('5.518237671457619937E+63684272580474', '56.109398208337743324229394061890135379999', '8.938963858916e+3573286209826181', 13, 3);
T('2.5245648520027399E+7446581', '-3.74E+7', '5.271002629228e-278502144441777', 13, 4);
T('7.148100734428548868905180216007374970E+10091', '4.864513030876098735011320750457324E-24', '1.0000000000000000001130384065693094e+0', 35, 3);
T('9.95999010220284699915062409E+6179384697548', '-27.42041', '2.96928e-169441261954520', 6, 5);
T('7.2771283480237065837295994729772508E-6147', '0.000938847943296114717781947428802302', '1.69711371e-6', 10, 4);
T('2.5450E+759', '400.186591648', '9.4161518551656093608072735032010277773e+303903', 38, 4);
T('8.517633885018893129982210109657784139116033468E+7758', '427876098.083231807', '1.1153261102044912397496e+3319860830180', 23, 5);
T('9.009310089707881947761367141742069784158011344460E+4414175', '0.000039843195815096468919995', '7.496817265e+175', 10, 3);
T('5.1221516955909530159481049707052069694898592704E+167871198063099', '7.30791694823125504372213373845880970619260481225', '1.58989741601315301331379485205e+1226788773445212', 30, 4);
T('4.332357749396665726299774296668661653013893E+4451128041495', '0.8360376887109454344497163848807547689314519966637819352', '3.0856618704315995750894840821781068416e+3721310799968', 38, 2);
T('7.2839831707342784224077681809262551395126924E+5460', '-16.2876373022402746', '2.9e-88945', 2, 2);
T('3.1921424703382660604909862612922056096627445450336127E+836207', '999377.86760665168744001861936', '2.60517991813849285345114e+835687272306', 24, 3);
T('8.73897870319342320249189065619718815609708589924E-4967383903839', '0.002', '2.10805977513587399211543527632122e-9934767808', 33, 4);
T('3.1139E+3300864399', '8.86369001810136687470301975201083181968073341E-7', '6.0797103558826621207e+2925', 20, 6);
T('4.918590346567164486699627', '-248423.71962389186926', '2.3527353740251567790574e-171870', 23, 1);
T('3.9205519934388208215580695857943155E+8915941', '6449.474595653082459432390786755795902600007356025058', '4.164346931e+57503138802', 10, 5);
T('4.32725294084888E+2997', '0.0090772', '1.622e+27', 4, 4);
T('8.3E+564', '459.8865311363357481277718094482503578959', '4.73365540612533132310499740328826e+259798', 33, 3);
T('1.7E+57759', '0.536953655334662805086805650906564308639183506732765554', '1.071319143651107615413264242517e+31014', 31, 5);
T('323407143.061290259662537559899288300420', '6248202428.104243049188010699048136378932850756499005241520', '4.072510400877e+53170638162', 13, 0);
T('8.741219613931E+743', '392862622649.851308039946500457790794257993312643', '4.2673565673396965960084353104e+292266837086573', 29, 3);
T('8.4631487152521732291593145272526509E+63', '365306227.843', '1.42031343759705923e+23353125560', 18, 0);
T('5493464.2906833372361376', '32915291.866333594670366787193548790703', '1.9489025e+221844008', 8, 1);
T('9.020668353903215808077857406600E+67', '3247684.3192414078', '1.5451410009e+220697163', 11, 5);
T('17.619512199789493725271768022603786892208392734063951172102', '359637388.321961668244374588', '1.31937377732e+448105985', 12, 4);
T('6.17496525E+648', '8.11288246466335451135867', '3.6489004770439093845811143302463822646e+5263', 38, 4);
T('2.65E+227', '68812534.5126317899793103608793520', '4.7317514002782e+15649569955', 14, 6);
T('7.898001783187846118998339151722E+71', '467856.67065884345146173301891605718127973847056137', '1.0931344982923e+33637733', 14, 0);
T('5.03038395748731559588822E+81', '78.8205745877353187224629291785274831903152363754602', '5.84986978765280504011809e+6439', 25, 3);
T('3.0726103E+8', '5985077785.80155565434949615849101', '5.162073923251336505739602309652197e+50798392487', 34, 6);
T('2.33815810170913681246375599E+310', '397261.803890310706176724142165845285376018758664303', '5.088348507088e+123297698', 13, 3);
T('3.166063505431573660791571873616714281220803E+96', '6E+9', '3.895413e+579003117730', 7, 6);
T('766146552.23805120368578558067439981875298814670376523100458', '2.15145431661', '1.300741759e+19', 10, 6);
T('8.70676561848294738116092151075445866822E+642', '46089.83178', '7.03139549e+29632989', 9, 0);
T('112443979.653292109323215105791995699369', '78702989.29374789408479740718734', '1.495322924217136843601462602043711039e+633632746', 37, 0);
T('5833.6332988751019', '2.77104587990059415520580017', '2.726403301442541830645721153e+10', 28, 2);
T('986913.0', '604318.05431052875296434876563651088726958209', '8.78082564751224e+3622450', 15, 2);
T('7.8E+875', '61.87765770028567005434837213615321197214594064', '1.4164857555e+54198', 13, 4);
T('8.417935E+503', '2423201.308957811188402584263339484811910910204', '5.612366612e+1221112217', 10, 6);
T('97098.4206704739478399495503794029', '483.55184351117298660225445875', '3.76388962594907060675581e+2411', 25, 3);
T('497289677.247392463', '4819525416.6417041422037675', '1.171409964923356e+41913530255', 16, 6);
T('5376.7501120258018858734264206285201191', '13803900.4929258', '6.843830898606942943e+51495724', 19, 6);
T('1.3881199073641497689499719895200222326007811E+663', '4016037945.0868446114555082015197868386512376648', '1.122846838287516722984900911196468e+2663205149759', 34, 0);
T('47.7103', '4964145.07200376103027028', '1.6568000443171827e+8332874', 18, 2);
T('67073.20320100608142156', '563434121.373694102271224688400635010733838', '5.741909342954012e+2719442421', 16, 5);
T('2.96939005281507291279227198447199431615328065844938260E+807', '0.082881881062284487347703272911262165482279650695', '8.4111149447823787e+66', 17, 2);
T('620406751765.990223068956367065439764694119435459612', '25.5330339049249528399783018544307359273871248', '1.267095359274323814637574519e+301', 28, 3);
T('2.1179809624607662190186814166E+580', '9003426544.3833667', '6.35375586587995e+5224921810997', 15, 0);
T('7404848.862698295261653335262442294330358', '30529203.795799', '1.02321510390145464656213825141861351e+209720860', 36, 5);
T('5.67704115305E+79', '1.24472E+6', '6.1472355e+99271550', 8, 6);
T('514998938916303626693651384036.41606126960', '22591.5037399298384734125', '2.4205832586e+671234', 11, 4);
T('9.0416616156271638054503037985359595E+75', '89106.2291385599405692092507', '7.261515852924155482011e+6768174', 22, 6);
T('7.0805611511944E+42', '1.94492985930272', '2.18965705066357691737147492885176e+83', 33, 1);
T('1.66630944E+74', '6980757669.9081156729942256', '3.74152e+518124090060', 6, 5);
T('5.9E+6', '3456.7700', '1.8971788927235700943477592799711063194e+23405', 38, 0);
T('93720986.7819907489497420190553708041564963922285117', '39.580', '3.3e+315', 2, 1);
T('908948247.896330216349750387912923575076135766138', '11.38907521122213262858256836', '1.0702278292293091784680297675223031e+102', 35, 3);
T('4.485925762349120387154391E+47', '1677945.16766265206929939', '8.53959030215133943e+79957194', 18, 5);
T('2.8448989811706207675566E+89', '2.368592228588521845032068137267440272102614', '7.58940197453762187722508511706932e+211', 33, 5);
*/
log('\n ' + passed + ' of ' + total + ' tests passed in ' + (+new Date() - start) + ' ms \n');
return [passed, total];
})(this.Decimal);
if (typeof module !== 'undefined' && module.exports) module.exports = count;