-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathknown.cc
49 lines (45 loc) · 9.33 KB
/
known.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Known Mandelbrot area bounds
#include "known.h"
#include "debug.h"
#include "format.h"
namespace mandelbrot {
// Bittner et al.'s Tables 1 and 2 (https://arxiv.org/abs/1410.1212):
static Bittner bittner(const string& s, const double v) {
slow_assert(s.size() && s[s.size()-1] == 'M');
const int t = int(atof(s.substr(0, s.size()-1).c_str()) * 1e6);
slow_assert(s == tfm::format("%.1fM", 1e-6*t));
return Bittner{t, v};
}
extern const Bittner bittner_areas[10] = {
bittner("0.5M", 1.72), // Ewing-Schober
bittner("1.0M", 1.70393),
bittner("1.5M", 1.69702),
bittner("2.0M", 1.69388),
bittner("2.5M", 1.69096),
bittner("3.0M", 1.68895), // 9 days
bittner("3.5M", 1.6874), // 10.8 days
bittner("4.0M", 1.68633), // 12.5 days
bittner("4.5M", 1.68447), // 14.4 days
bittner("5.0M", 1.68288), // 16.2 days
};
// Times are all screwed up due laptop sleep and power control
const Known known_areas[16+1] = {
{ 0, 0, 2000, "3.1415926535897932385 +/- 3.74e-20"},
{ 1, 2.3e-5, 2000, "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320 +/- 2.15e-602"},
{ 2, 1.3e-4, 2000, "2.6998061866787285643038341575058227911069424525879815649003430090145297241522108581959674280283818552971585118473519822748462727113325316053889807413604134603088379007594784165750903195978467581432970006810094322129115552666587602009105167826549391406720417371998487370871091869633083851312392766057821070669588023024585877888070414524313902350678912536576948406347371746903925884168145012868247365393565335917205746493346885974446250983382596997112522514911077804879094430268187479533990093760258937834508130458474393026520496362820583962585232596858179984945684321397608769487715805799221206533950353 +/- 8.46e-602"},
{ 3, 9.7e-4, 2000, "2.463654038862450971788972083499290411159942817627668515664936030683636782715552686083635720104215166935589208022866752122496243790234407633367091480202333349607707183234883636442738142217451384249017867057654224852677733247756383006090772638339370783508832617695421715929058058117388940191132064446087114767237611166669693581485530649961026010859920887330731544920880397739185829925601637510714104704785531578411573168471751929809701009564156397386433566171970921505934223068525867390949098911240141637337779781591023938134186083834672781854788949214742159028858672740692948058080968061178733011325999 +/- 5.67e-601"},
{ 4, 6.9e-3, 2000, "2.30892215747356494368145079438704438017269907049633060834619868681993786672749460173013658505568173800658378036496740062582379585965192539353477367774277909056174633133722061221881087547803754663991006300133396764317456502353486876078616823057133931403091727682822823724852708868881034643693078927784691087268337199490528069660916257710739561981994980026883155288562702393249969186852792416567092312407400387534703475266660157531503316903142054533611755949698747524301601323366447148574712836807707264162956562695151868112312707879754455103810020934313556053902174633322575103352314397608300135359438 +/- 6.25e-600"},
{ 5, 1.4e-1, 2000, "2.1863969605631909501624004931066539640303121694826523312423721260554423734309468876280292482590293355698320395282252839952533535662686763794377493135739001850883350777375323504736256058872688632569721418188568210837603667604200455377331890745012285424608188786276484009272637211056503293119692987368391608754124562707435582270313704415544476291395091684149228115334456064410171824803139607933423090434384901602091474573014628408503088500369176272062870735414060459536992364021613299733551270557836383148156069393341746996732653090087619447118014144487019067358354474942531212131384175868670019414039 +/- 9.34e-599"},
{ 6, 6.4e-1, 2000, "2.11178435576989741433652561121127576829701164619568126512885143350695418555641255559869023607247804181638744380381657749561983719120639409896282043195650773684267139468577528575683488090973109325470067157155918818308954872863925568037488584256634009134527162131085324487827889632212732318636720626556939830362884286953407974120807578289346576742628488991177893047221642708288277479042431018319782743237990320210787865316757446381043315396406270097852976954213963123402689291969984107150746952146395922611925698738184159504666947017138323694428216421132830782354743818679844005629669556114340579546 +/- 2.00e-597"},
{ 7, 2.41, 2000, "2.029097991703746576226135828412503588096059491315358497807285213111984467121761498472487460085699567798816495760346774762862139509906087640378426906624301436864743476249541886203855379065703859488016179712083854595005810800237804627240519216529924632849162641820094526393098924764174461564791132516491924384889340558165854833177922062845253996247878035785255713453150693005458518669407836191195141326344311157811663528692844173277606883746536500684115593707043186988636701005286933245625360688278549132463758661451055129873282106539808179866849446640141186587721903517811435313369620378784240755 +/- 5.12e-595"},
{ 8, 1.44e1, 2000, "1.97938592461554798409534837875464490643572246554695996493505379598359616620317859842699017456636666218248502579464265491299511599303687904071106709909130529138219841820764772806473997891925649928147674109811635696014070829215634367311563444956124887098385272193792439801878191084814212334467598855735285577933553063392778100720757251035117957778630620325394961620565875888523163040369071421875220429104606189254594389132393705895018972081063295622165227662004625671681623089922168896398229340497268767619653915067876404910012142999479045830600883543831532826933514665496283468997794380713559260 +/- 7.61e-594"},
{ 9, 2.06e1, 2000, "1.927716222900302401731606675662690053844068524524140653467887269645599866742283482553931241242265896746725031317620676200754946751023790759105812808958973600345544680495824038995291979766192986545252269116357418143270361710074039281825171417353234888795685521703263830159771715371182414278742527483844442727034522247256251673858368902675910013221063468042372921540787844266685727845792650253237683084422127238003074400671864725327210241193725132935142693604810662692693708531529801445883078928556062146288657998492727481990479086898767080957205667643619583528745654938676762179416395352832488 +/- 8.65e-592"},
{10, 5.19e1, 2000, "1.8959430758033194111629197917216719753397882075343065265982994841958841787187584277285635875787159807375732647588138348060199901910422559187144395569951561623445592182130929487501086935024977490172844285799646884701882386357065128623982003277061355084692474799285108303463628078311705500958295147321896453034902790971883636145119310136666669189784395841358565029154273237068445284559801095482552794580287513739926939881445556856519785424705064930214586038269904408554687048078700733680051094205430178871262338995191649224769497359682849852998363300607255263990211851615475644910043480618386 +/- 5.50e-590"},
{11, 3.23e3, 2000, "1.8546567767819607803803348420086760909924133657974066993801690513911467205177813182547268989304177317723210066162256044594675087819846189390795786945707606792944115344876771060757153719394725384499191499583873953307024787377333942158437213481051775277063260262031428130484554360095514099168258435596521072414236597822593444568857310215504503436908648042088563467513633986402280912169351514536074225012745112996172048132943029413573125667303233894254367559942614822034920929926285946993527831439155552584603636204164107236121671442482228156150246339907916189472807762179030108063766401537 +/- 4.43e-587"},
{12, 3.79e3, 2000, "1.83465573262615565816974776420951915260003603349748535253206394019114943744248848995255832224498122072799995812243189558771471973261470151681942747501688001531859239400694088747675149186622891189860373864445978014050797825685026230688330536740581993624253360579304844621217975227916335149783605227643292059157864067784434410528461660710732924790570743009591062319232241062446535847766848267549580717378992885270553147630483091467915905506627555416071555806569681684879179772513684091820110659345098408980193954543319271132159692875838551638532538187789554459733870219800408785964049077 +/- 8.72e-585"},
{13, 8.06e2, 2000, "1.80617888585652252315542830417829705586784159149877102827819144514031191922639682635824402421394998746844029701978965385253383890458782933630983610834995220032990707850161027973573591740723675551579162261916744952174685546455023045520341533754545577988344315345797482226829620846355490019904489947683373980963915092307290617218207077757838662403164862344639059421405586346899266541426605738964013907802766795595542948406577307967464218082664288171817084674567422605574483261461706976285566797277674536392062460453058854038119423310942949362668257499810688234859216199471078457248225 +/- 6.56e-582"},
{14, -1, 2000, "1.7863897165519852571 +/- 2.07e-20"}, // k 14, prec 2000
{15, -1, 2000, "1.7668376741940830366 +/- 2.45e-20"}, // k 15, prec 2000
{16, -1, 2000, "1.7533757723569262997 +/- 3.64e-20"}, // k 16, prec 2000, repeats 2, radius 1.1345e-477
};
} // namespace mandelbrot