With a new smaller program orbit_count.c, I try to check the length of the first orbit for widths larger than 16.
Remember what we have found previously : for the configuration to be "good", the first orbit must have at least 2^(width*2 -1) different states, or > 25% of all possible states.
The first 4 are disappointing:
- 17 : 52.942.979 (0.6% of the 8.589.934.592 that would be required to pass the test)
- 18 : 172.662.654 (instead of 34.359.738.368 to pass, or 0.5%)
- 19 : 171.681.219 (0.12%, much less than 137.438.953.472)
- 20 : 317.330.936 (0.06%, barely a blip compared to 549.755.813.888)
- 21 gets longer (4%) but is still far from 2199.023.255.552 :
1m53s for 87.960.719.859 iterations
22 and 23 might be interesting... I have no idea how long they'll run but it's good to have 4 cores on the laptop, so I can run 2 heavy tasks while writing this comfortably. However I can only run about 30G iterations per core per minute and w22 might run about 8800G (4h and half) and w23 about 35000G iterations (17h)...
- 22 is approx. one half of the expected length (48.27% of 8.796.093.022.208):
Orbit length: 4.246.390.747.269 8353.49user 1.13system 2:19:54elapsed 99%CPU
- 23 failed half-way (almost precisely 50%) from 35.184.372.088.832
Orbit length: 17.592.032.552.735 30717.44user 4.18system 8:33:59elapsed 99%CPU
- 24 didn't last long : 0,95% of
Orbit length: 1.340.357.111.846 4427.70user 0.05system 1:14:00elapsed 99%CPU
- 25 disappointed too: 0.0015% !
WIDTH = 25 bits, or about 562.949.953.421.312 iterations. Orbit length: 8.882.847.330.803 17867.77user 3.16system 5:52:36elapsed 84%CPU
- 26 is running, but I have no idea how much time it will take to try 2.251.799.813.685.248 iterations.
6191m55s, Step 202.653.736.894.464 : X=60945700, Y=54013062, C=0 (9%)
8224m44s, Step 270.686.018.863.104 : X=30001905, Y=43460744, C=1
9578m24s, Step 316.109.592.985.600 : X=24653047, Y=21525614, C=0 (14%)
10089m46s, Step 332121231065088 : X=39691475, Y=26670666, C=0
... 605320.20user 67.81system 230:16:09elapsed 73%CPU
1226m08s, Step 374.383.709.257.728 : X=56485448, Y=64077162, C=1 (16.6%)
3416m13s, Step 447.501.232.504.832 : X=7984208, Y=8052197, C=1
- 27 is running too, maybe it will stop before 9.007.199.254.740.992... That's 9 million billions.
5948m55s, Step 195.094.594.453.504 : X=13025821, Y=12504916, C=0 (2,1%)
7981m58s, Step 263.126.876.422.144 : X=85800334, Y=53796446, C=0
9335m43s, Step 308.550.450.544.640 : X=132594465, Y=19377793, C=0 (3,4%)
9847m10s, Step 324.493.369.147.392 : X=109974339, Y=52277567, C=0
... 590770.05user 61.77system 226:12:32elapsed 72%CPU
1029m41s, Step 354.661.219.434.496 : X=70991304, Y=49909254, C=0 (3.9%)
3115m51s Step 414447164194816 : X=18026315, Y=45706791, C=1
4757m31s Step 463169273200640 : X=71156624, Y=61825695, C=0 (5.14%) (approx. 494.540.286 steps/second)
End: see below.
5057m39s ,Step 503.782.483.951.616 : X=14136462, Y=63349888, C=1 (22.3%)
6569m12s, Step 558.345.748.480.000 : X=18544557, Y=11503616, C=0
6696m02s, Step 605.693.467.951.104 : X=40096282, Y=32118224, C=0
2540m03s Step 650.086.249.922.560 : X=41289420, Y=47393181, C=1
4372m19s Step 726.845.905.436.672 : X=3037723, Y=27492171, C=1 (33%)
6510m08s Step 809.859.033.333.760 : X=43865307, Y=15673220, C=0 (that is approx. 647.124.476 steps per second)
8070m02s Step 874.317.902.512.128 : X=36945244, Y=57211117, C=1
10503m06s Step 968.119.988.256.768 : X=50931502, Y=47500603, C=0
11743m17s Step 1015.605.146.681.344 : X=52869320, Y=39115388, C=0 (45%)
12895m07s Step 1062.677.988.245.504 : X=18246471, Y=45066468, C=1
(PC crash, 1 day lost...)
1203m50s Step 1112.087.292.018.688 : X=55159926, Y=1987125, C=0
3600m45s Step 184.108.40.206.495.616 : X=52610328, Y=54822866, C=1 (53.67% : it's looking good so far)
5929m15s Step 1.300.035.060.891.648 : X=16424196, Y=6479609, C=0
7659m31s Step 1.369.579.171.348.480 : X=56776608, Y=14067128, C=0 (60.8%)
10711m28s Step 1.490.456.730.927.104 : X=41525090, Y=749324, C=0 (66%)
13215m58s Step 1.587.900.948.938.752 : X=59659504, Y=27966617, C=0 (70.54%)
15249m40s Step 1.668.234.017.243.136 : X=27450966, Y=22608971, C=0
16516m54s Step 1.716.475.089.911.808 : X=33565778, Y=2828065, C=0 (76.2%)
19655m29s Step 1.837.971.124.781.056 : X=269836, Y=7328325, C=1 (81.6%)
21997m36s Step 1.932.391.685.816.320 : X=49826678, Y=39285556, C=0 (85.8%)
24245m37s Step 2.023.651.150.921.728 : X=15031589, Y=31510552, C=1
27274m56s Step 2.145.834.380.558.336 : X=26581945, Y=30770482, C=1
29886m55s Step 2.252.005.972.115.456 : X=42731532, Y=22766431, C=0 WAIT WHAT ???
Stay tuned. But so far I have not found another "good configuration". I'd love if Width=32 was good but for now there is no reasonable way to prove this except with the brute-force approach.
20210507 : computations started on 20210427 and now I must reboot my computer. Fortunately I have saved here some checkpoint values but I have no program that accepts them. Sigh.
OK it was pretty straight-forward! I made orbit_resume.c so I could resume the computations. Log on !
Note: the search runs on a i7-2620M CPU@ 2.70GHz (with boost speed claimed at 3.4GHz, only 3.2G if 2 cores are active). OK this is already 10 years old but the cache is 4MB and the speed is better than the i5 of the same generation.
Now the question is : how does Intel share the integer pipelines with its "hyperthreading" ?
Aaaand that's it for 27 ! After 291 hours, I got this:
Step 545082889469952 : X=55724991, Y=71769679, C=1 Step 545151608946688 : X=34558478, Y=102388704, C=1 Step 545220328423424 : X=31287111, Y=119884834, C=1 Step 545289047900160 : X=86600095, Y=126472141, C=1 Step 545357767376896 : X=131220743, Y=127310596, C=0 Step 545426486853632 : X=61045646, Y=97472749, C=1 Step 545495206330368 : X=103373142, Y=130537106, C=1 Step 545563925807104 : X=60260964, Y=42478582, C=0 Step 545632645283840 : X=78002777, Y=50383733, C=0 Step 545701364760576 : X=60031805, Y=54709728, C=0 Step 545770084237312 : X=53286963, Y=47886241, C=0 Step 545838803714048 : X=14925605, Y=3740871, C=0 Orbit length: 545.890.867.990.899 The end. 457702.88user 44.28system 283:27:08elapsed 44%CPU (0avgtext+0avgdata 1376maxresident)k 0inputs+0outputs (0major+57minor)pagefaults 0swaps
So the first orbit is only 6% of the desired length...
sam. juil. 3 02:58:32 CEST 2021:
The cycle counter for w26 has exceeded the expected maximum orbit length and the program has not stopped.
Is there an error somewhere ? Shall I restart the computation ?