Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php // Kollatz/public/index.php error_reporting ( E_ALL | E_STRICT | E_NOTICE); ..

Decoded Output download

<?php 
 
// Kollatz/public/index.php  
 
error_reporting ( E_ALL | E_STRICT | E_NOTICE); 
set_time_limit (60); // in sekunden. 20 secs to test 2 min reicht fuer a bis  bis 1300036 
ini_set('memory_limit', '4096M'); 
define ("newl","
<br />");  
define ("linestring"," in main der zeile: "); 
define ("bigstring"," in Biginteger der zeile: "); 
define ("localstring"," in KettenBerechnung der Zeile: "); 
define ("checkstring"," in check der Zeile: "); 
define ("dumpstring"," in DumpChainToFile der Zeile: "); 
define ("neustring"," in neuberechnung  der Zeil : "); 
define ("teststring"," in testeAufArray der zeile "); 
define ("existstring"," in fileexist der Zeile: "); 
define ("compstring"," in DoCompute der zeile: "); 
define ("whilstring"," in whilestring der zeile: "); 
define ("au3string"," in secondfactorausgabe der Zeile: "); 
define ("mainstring"," in main der zeile "); 
define ("mainstring"," in testX der zeile "); 
 
$ekko = false; 
$bestand = false; 
$newline = "
<br />"; 
$cachen = false;		 
$neustart = false; 
$pfaWished = false; 
$primesNecesary = false; 
if (false == $primesNecesary)  
	echo newl." so do NOR require secondFactorausgabe.php".linestring.__LINE__; 
else 
	echo newl." DO require secondFactorausgabe.php"; 
	 
if ($cachen) 
{ 
	init_cache(); 
	if ($neustart) 
		{ 
		$cache->clean ( Zend_Cache::CLEANING_MODE_ALL ); 
	} 
} 
$dirw = 'workspace'; 
 
require_once 'secondFactorausgabe.php'; 
echo newl." now require OddEvenhandling.php".linestring.__LINE__; 
require_once 'OddEvenhandling.php'; 
 
$ar0 = array(); 
$KettenDateien = array(); 
$ar2 = array(); 
$ar2 = array(); 
$ar3 = array();// $dir3 = "primes"; 
 
echo newl." Starting in actual Verzeichnis : ". getcwd().linestring.__LINE__; 
 
$oldIncludePath = get_include_path(); 
if ($ekko) echo newl." oldIncludePath =  get_include_path() = " .$oldIncludePath.linestring.__LINE__; 
if ($ekko) echo newl." actual Verzeichnis after init_cache: ". getcwd().linestring.__LINE__; 
 
$output2KettenFile = true; 
$output2VisitedFile = true; 
$output2UnsortedVisitedFile = true; 
$output2sortedVisitedFile = true; 
$output2arsortedVisitedFile = true; 
$output2ksortedVisitedFile = true; 
$output2jedeKette = true; 
 
$allfacLeseNummer = 251000; 
$allfacSchreibNummer = 253000; 
$allfacLeseName = 251000; 
$allfacSchreibName = 251000; 
$factorReadNecesary = true; 
$AllowedNames = array(); 
$MainDirectory = 'workspace'; 
$WorkDirectory = 'kollatz'; 
$PublicDirectory = 'public'; 
$LibeDirectory = 'library'; 
$PrimDirectory = 'primes'; 
$Utildirectory = 'utilities'; 
$AllowedNames[] = $MainDirectory; 
$AllowedNames[] = $WorkDirectory; 
$AllowedNames[] = $PublicDirectory; 
$AllowedNames[] = $LibeDirectory; 
$AllowedNames[] = $PrimDirectory; 
$AllowedNames[] = $Utildirectory; 
$slash = '/'; 
//$back_slash = '\'; ?? 
$dir0 = './'; 
$dir = '../'; 
$dir1 = "library"; 
$dir2 = "utilities"; 
$dir3 = "primes"; 
$up2dir = '../../'; 
$UtilityPath = "../../library/utilities/"; 
echo newl." actual UtilityPath = ".$UtilityPath.linestring.__LINE__; 
echo newl." now require ausgaben44.php".linestring.__LINE__; 
require_once $UtilityPath.'ausgaben44.php'; 
 
$ThisIncludePath = $dir0; 
set_include_path($up2dir.$dir0); 
echo " get_include_path : ".get_include_path(); 
echo newl." getcwd = ".getcwd().linestring.__LINE__; 
 
$ThisIncludePath = get_include_path(); 
 
if ($ekko) echo newl." ThisIncludePath =  get_include_path() = " .$ThisIncludePath.linestring.__LINE__; 
if ($ekko) echo newl." actual Verzeichnis after init_cache: ". getcwd().linestring.__LINE__; 
chdir('ketten'); // unter public 
$KettenPfad = getcwd(); 
echo newl." KettenPfad = ".$KettenPfad.linestring.__LINE__; 
chdir('..'); // und zurueck nach publc 
$publicPath = getcwd(); // ueber public 
echo newl." publicPath now  = ".$publicPath.linestring.__LINE__; 
chdir('..'); // und ein hoeher 
$mainPath = getcwd(); // ueber public 
echo newl." mainPath now  = ".$mainPath.linestring.__LINE__; 
$collatzPath = $mainPath; 
echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__; 
chdir('..'); // und ein hoeher 
$workSpace = getcwd(); // ueber public 
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__; 
chdir($publicPath); 
$actual = getcwd(); 
 
echo newl." actual Path = ".$actual.linestring.__LINE__; 
echo newl." mainPath now  = ".$mainPath.linestring.__LINE__; 
echo newl." publicPath now  = ".$publicPath.linestring.__LINE__; 
echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__; 
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__; 
 
$ekko = false; 
if ($ekko) 
	{ 
		echo newl." scandir($KettenPfad)".linestring.__LINE__; 
		if (is_dir($KettenPfad))  
	{ 
		if (False!== scandir($KettenPfad)) 
			$KettenDateien = scandir($KettenPfad);		 
		echo newl." scanned path is ".$KettenPfad.linestring.__LINE__." Now Datei_Ausgabe aller KettenDateien".newl;		 
		Datei_Ausgabe($KettenDateien,1); 
	} 
		else  
			echo newl." scanned path ".$KettenPfad." does not exist: ".linestring.__LINE__.newl; 
	} 
	 
 
echo newl." dir = ".$dir.linestring.__LINE__; // main dir 
echo newl." dir0 = ".$dir0.linestring.__LINE__; // ein dir hoch 
echo newl." dir1 = ".$dir1.linestring.__LINE__;  
echo newl." dir2 = ".$dir2.linestring.__LINE__; 
echo newl." dir3 = ".$dir3.linestring.__LINE__; 
echo newl." actual Directory: ".getcwd().linestring.__LINE__; 
$actual = getcwd(); 
echo newl." actual Path = ".$actual.linestring.__LINE__; 
echo newl."  main dir =  ".$dir.linestring.__LINE__; 
 
if ($ekko) 
{	 
	echo newl." Inhalt von getcwd ".linestring.__LINE__.newl; 
	if (is_dir($UtilityPath))  
	{ 
		$Utilitydateien = scandir($UtilityPath); 
		echo newl." scanned path is ".$UtilityPath.linestring.__LINE__.newl;	 
		if ($ekko) Datei_Ausgabe($Utilitydateien,1); 
	} 
	else  
		echo newl." scanned path ".$UtilityPath." does not exist or empty ".linestring.__LINE__.newl; 
} 
 
$ekko = false; 
echo newl." getcwd = ".getcwd().linestring.__LINE__; 
$filename = $UtilityPath.'ausgaben44.php'; // in Utildirectory 
echo newl. ' filename for ausgaben44 :'.$filename.linestring.__LINE__; 
echo newl." Verzeichnis now : ".getcwd().linestring.__LINE__.newl; 
if (file_exists($filename)) 
{ 
	echo newl.$filename." existiert in ".getcwd().linestring.__LINE__.newl;	 
	echo newl." now require ".$filename; 
	require_once $filename; 
} 
	else 		 
{ 
		echo newl.$filename." existiert nicht ".linestring.__LINE__.newl;		 
} 
 
if (file_exists($UtilityPath.'Binary_Search.php')) 
{ 
	echo newl." now require Binary_Search.php"; 
	require_once $UtilityPath.'Binary_Search.php'; 
} 
else  
	echo newl.$UtilityPath.'Binary_Search.php'."existiert nicht ".linestring.__LINE__.newl; 
 
if (file_exists($UtilityPath.'routines.php')) 
{ 
	require_once $UtilityPath.'routines.php'; 
	echo newl." now require routines.php"; 
} 
else  
	echo newl.$UtilityPath.'routines.php'."existiert nicht ".linestring.__LINE__.newl; 
 
echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__; 
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__; 
echo newl." mainPath = ".$mainPath.linestring.__LINE__; 
echo newl." UtilityPath = ".$UtilityPath.linestring.__LINE__; 
$pfausgabe = $workSpace.$slash.$LibeDirectory.$slash.$PrimDirectory.$slash.'PrimfaktorenAusgabe.php'; 
echo newl." pfausgabe = ".$pfausgabe.__LINE__.newl; 
if (file_exists($pfausgabe)) 
{ 
	echo newl." now require routines.php".linestring.__LINE__.newl; 
	require_once $pfausgabe; 
} 
else  
{	 
	echo newl.$pfausgabe." existiert nicht ".linestring.__LINE__.newl; 
} 
if (file_exists($UtilityPath.'ausgaben44.php')) 
{ 
	echo newl." now require ausgaben44.php"; 
	require_once $UtilityPath.'ausgaben44.php'; 
} 
else  
	echo newl.$UtilityPath.'ausgaben44.php'."existiert nicht ".linestring.__LINE__.newl; 
 
echo newl." scanning ".getcwd(); 
$KettenDateien = scandir($dir0); 
echo newl." actual dir : ".getcwd().linestring.__LINE__;  // eine hoch 
echo newl." simpleOutput Contents of actual array 1  ".linestring.__LINE__; 
simpleOutput($KettenDateien); 
 
echo newl." actual dir : ".getcwd().linestring.__LINE__;  
if ($primesNecesary)  
{ 
	echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__;	 
	$primPath = $workSpace.$slash.$LibeDirectory.$slash.$PrimDirectory; 
	if ($ekko) echo newl. " mainPath  = ".$mainPath; 
	if ($ekko) echo newl. " primPath  = ".$primPath; 
	if ($ekko) echo newl." workSpace now  = ".$workSpace.linestring.__LINE__;		 
		if ($ekko) $PrimDateien = scandir($primPath); 
		if ($ekko) echo newl." Inhalt von ".$primPath.linestring.__LINE__." = ";		 
		if (is_dir($primPath))  
		{ 
			echo newl." scanned primpath is ".$primPath.linestring.__LINE__; 
			echo newl." Now Datei_Ausgabe Prim Dateien".linestring.__LINE__; 
			if ($ekko) Datei_Ausgabe($PrimDateien,1); 
		} 
			else  
				echo newl." scanned path ".$primPath." does not exist: ".linestring.__LINE__.newl;	 
 
	if ($ekko) echo newl. " mainPath  = ".$mainPath.linestring.__LINE__.newl;	 
	if ($ekko) echo newl. " primPath  = ".$primPath.linestring.__LINE__.newl; 
	if ($ekko) echo newl. " publibPath  = ".$publicPath.linestring.__LINE__.newl; 
			 
	$primVarName = $primPath.$slash.'primesTo210.php'; 
	 
	echo newl.' primVarName  = '. $primVarName.linestring.__LINE__.newl;	 
	 
	echo " found primes include : ".linestring.__LINE__.newl; 
	echo newl."required file = ".$primVarName.linestring.__LINE__.newl;	 
	 
	if (file_exists($primVarName)) 
	{ 
		echo newl.$primVarName.' existiert '.linestring.__LINE__; 
		echo newl." now require 1st time ".$primVarName.linestring.__LINE__.newl;	 
		require_once($primVarName); 
		echo newl." Prim[1] = ".$Prim[1].linestring.__LINE__;		 
	} 
	else  
	{ 
		echo newl.$primVarName.' existiert Nicht'.linestring.__LINE__;		 
	} 
} 
 
$factorReadNecesary  = false; 
if ($factorReadNecesary) // no directorychange required. 
{ 
	echo newl." actual workSpace  = ".$workSpace.linestring.__LINE__; 
	if (file_exists($workSpace))  
		echo newl.' workSpace '.$workSpace.' existiert '.linestring.__LINE__;  
	else  
	{ 
		 echo newl." exit ".linestring.__LINE__;  
		 exit; 
	} 
 
	echo newl." actual mainPath  = ".$mainPath.linestring.__LINE__; 
	if (file_exists($mainPath))  
		echo newl.' mainPath '.$mainPath.' existiert '.linestring.__LINE__;  
	else  
	{ 
		 echo newl." exit ".linestring.__LINE__;  
		 exit; 
	} 
	$ReadfactorDatei = $workSpace.$slash.$LibeDirectory; 
	echo newl." ReadfactorDatei : ".$ReadfactorDatei.linestring.__LINE__; 
	if (file_exists($ReadfactorDatei))  
		echo newl.' ReadfactorDatei '.$ReadfactorDatei.' existiert '.linestring.__LINE__;  
	else  
	{ 
		echo newl." exit ".linestring.__LINE__;  
		exit;  
	} 
	echo newl." ReadfactorDatei = zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__; 
	$ReadfactorDatei = $ReadfactorDatei.$slash.$PrimDirectory.$slash; 
	echo newl."  ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__; 
	$primdir = $ReadfactorDatei;	 
	echo newl."  primdir zum Lesen ist : ".$primdir.linestring.__LINE__; 
	$ReadfactorDatei = $ReadfactorDatei.'primesTo210.php';	 
	echo newl."  ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__; 
	if (file_exists($ReadfactorDatei))  
		echo newl.' ReadfactorDatei '.$ReadfactorDatei.' existiert '.linestring.__LINE__; 
	else  
		exit; 
	echo newl." ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__;	 
	echo newl."  primdir zum Lesen ist : ".$primdir.linestring.__LINE__;	  
	$ar0 = scandir($primdir); 
	simpleOutput($ar0);	 
	if (file_exists($primdir)) 
	{		 
		echo newl.$ReadfactorDatei.' existiert '.linestring.__LINE__; 
		 // do not require more than once ?! 
		 // echo newl." now require 2nd time primdir =".$primdir.linestring.__LINE__; 
		 // require_once($primdir); 
	} 
	else  
	{ 
		echo newl.$ReadfactorDatei.' existiert Nicht'.linestring.__LINE__;		 
	} 
	$FileforprimFaktoren = $primdir.'primFaktorenAusgabe.php'.linestring.__LINE__.newl; 
	if (file_exists($FileforprimFaktoren)) 
		{ 
		echo newl.'FileforPrimFaktoren'.linestring.__LINE__.newl;		 
		echo newl." now require ".FileforprimFaktoren; 
		require_once $FileforprimFaktoren; 
		} 
			else  
		{ 
			echo newl.$FileforprimFaktoren.' existiert Nicht'.linestring.__LINE__;		 
		}	 
} 
 
echo newl." Nun Programmstart KollatzKetten:".linestring.__LINE__.newl; 
$EvenCnt = array(); 
$OddCnt = array(); 
$Kette = array(); 
$Kettenlaenge = array(); 
$start = 7; // durch 4 mod 1 teilbare Zahlen/ 4n -1, 3n - 2... or index in prime array 
$endzahl = 51; // 2^24. path record (8) at 255. weitere kandidaten 27,447,639,703,60975(17)->250504. Was ist mit 3072 +27 ?? 
$stepWidth = 1; // alle  
$version = 'version'; 
$ekko = false; 
echo newl." Frage nach wiederholtem auftreten von OEO Folgen der Laenge 10 oder 12 ?".mainstring.__LINE__;   
$oddLgth = 0; 
$evenLgth = 0; 
$OElgth = 1; 
$ready = array (); 
$doubleSteps = 0; 
$visited = array();  
$visitedOdds = array(); 
$visitedEvens = array(); 
$Edelay = 0; 
$Odelay = 0; 
echo newl." start ".$start.newl; 
echo newl." endzahl  ".$endzahl.newl; 
$stop_if_prime = false; 
$stop_if_in_stoparray = false; // 4 
if ($ekko) if ($stop_if_in_stoparray)  echo newl." stop_if_in_stoparray = case 4 ist on!"; 
$stoparray = array(3,5,7,11,13,19,23,29,31,37); // ungerade modulo 256 
$lgthofstoparray = count($stoparray); 
$KlassenZahl = 256; 
$stop_if_stoptime = false; // haelt an, if next lower startzahl (glide) (1) case 1  
$continue_if_stoptime = true;  
$fallctr = 0;//  mrekt , if next lower then startzahl (glide) (1) case 1 action L statt E 
$ueberschreitungsCtr = 0; // statt E ein H 
if ($ekko) if ($stop_if_stoptime) echo newl." stop_if_stoptime ist on!"; 
if ($ekko) if ($continue_if_stoptime) echo newl." continue_if_stoptime case 6 ist on!"; 
$RestKlassen = array( 13, 17, 45, 65, 129, 141, 145, 173, 177, 193, 205, 241); // RestKlassen modulo KlassenZahl a la Jonas K. blindmessenger 
$RestKlassenLgth = count($RestKlassen); 
$stop_if_restklasse = false; 
$stop_if_getting_larger = false; 
$stop_if_getting_smaller_then_last = false; 
$stop_if_visited = false; 
$stop_if_next_odd = false; //3/5  5 1  7 11 17; 9 7 11;  13 5; 11 17 13 5;  19 29 11; 21 1; 23 35 43 65 49 37; 25 29 11 17,13,5; 27 41 31 47,71...; ,33 25,19; 
$stop_if_1_mod_4 = false; //-5-9-13  
$enterFirstNumber = false; 
$i = $start; 
$n = $i; 
$num = $endzahl - $start; 
 
$MerkLastUnik = array(); //init empty 
$HighestPoints =  array(); 
$UnikArray = array(); 
 
 
	if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
		} 
	 
 
if (function_exists('microtime_float')) 
{	 
	echo newl. "microtime_float existiert !".linestring.__LINE__; 
	$m0 = microtime_float();  
	echo newl." m0  = ".$m0; 
	$manf = $m0; 
	echo newl." manf = $manf"; 
} 
else  
	echo newl. "microtime_float existiert nicht ".linestring.__LINE__; 
 
$primtest = false; 
if ($primtest) 
		{ 
			echo newl.newl." Beginn des tests !! ".mainstring.__LINE__;			 
			$pathToPrimeLibrary = $primPath; 
			$primVarName = $pathToPrimeLibrary."primes_2_1million.php"; 
			$primFileName  = $primVarName; 
			echo newl." primFileName= ".$primFileName.mainstring.__LINE__; 
			echo newl." primVarName= ".$primVarName.mainstring.__LINE__; 
			if (false == file_exists($primFileName)) 
				echo newl.$primFileName." existiert nicht!".mainstring.__LINE__.newl; 
			else 
			{ 
				echo newl.$primFileName." existiert !!".mainstring.__LINE__.newl; 
				require_once $primFileName; 
			} 
			if (isset($Prim)) 
			{ 
				echo newl." Prim ist gesetzt ".mainstring.__LINE__.newl; 
				if (is_array($Prim)) 
				{ 
					echo newl." Prim ist ein array ".mainstring.__LINE__.newl; 
					$LngthofPrimField = count($Prim); 
					echo newl." count of Prim field :".$LngthofPrimField.mainstring.__LINE__; 
					$indexOflastPrimelement = $LngthofPrimField - 1; 
					$lastPrimelement = $Prim[$indexOflastPrimelement]; 
					echo newl." index des last valid Primlement = ".$indexOflastPrimelement;		 
				} 
				else  
					echo newl." Prim ist kein array".mainstring.__LINE__.newl; 
			} 
			else  
				echo newl." Prim ist nicht gesetzt ".mainstring.__LINE__.newl;	 
 
			echo newl." jetzt Ende des tests !|".mainstring.__LINE__; 
					//exit; 
} // p[rimtest 
 
$highestEven = 0; 
$highestOdd = 0; 
$KettExits = array(); 
echo newl." Now starting with ".$start." endzahl = ".$endzahl.linestring.__LINE__; 
 
if ($bestand) 
	{ 
		include 'uniq.php'; // neu 7.6.24			 
		echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
		foreach ($visited as $key => $value) echo " | ".$value; // foreach 
	} 
	 
 
echo newl." n = ".$n." i  = ".$i." start = ".$start.linestring.__LINE__;	 
$actionctr = 0 ; 
$counter = 0; 
if (isset($oddchain)) 
			{	 
					echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl; 
					if (is_array($oddchain))  
						verysimpleOutput ($oddchain); 
				 
			} 
				else echo newl." oddchain ist kain array ".linestring.__LINE__.newl; 
 
try  
{ 
	if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
		} 
	$OEString = '';	// OEOEOEEOEOEEE...		resetten	 
	echo newl. " Start der Schleife ueber alle i  to ".$endzahl.linestring.__LINE__;	 
	echo newl." starting i = ".$i.linestring.__LINE__;	 
	$newWritten = 0; 
	$notnewWritten = 0; 
	$leerstring = "";	 
	echo newl." START der while loop start: ".$start." endzahl: ".$endzahl.linestring.__LINE__;	 
	$m = $start - 1; 
	echo  newl." Before main while :  ".linestring.__LINE__; 
	echo  newl." m = ".$m.linestring.__LINE__; 
	echo  newl." n = ".$n.linestring.__LINE__;	 
	echo  newl." i = ".$i.linestring.__LINE__;	 
	echo  newl." start = ".$start.linestring.__LINE__;	 
	$whilectr = 0; 
	$AbBruch = false; 
	while (($i < $endzahl) && ($whilectr < 100) && (!$AbBruch)) // main execu7tion loop 
	{ 
			echo newl." starting while i = ".$i.linestring.__LINE__.newl;		 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
			} 
			 
				 
				$n1 = $i; // !!++?? 
				echo newl. " NOW started to try with n = ".$n." i = ".$i." , n1 = ".$n1." start = ".$start.linestring.__LINE__; 
				$whilectr++; 
				$nn = sprintf("%05d", $n, $stepWidth);		 
				echo newl." In while i <endzahl : n1 = ".$n1." start = ".$start." n = "." i = ".$i." n1 = "." nn = ".$nn." whilectr = ".$whilectr.linestring.__LINE__;		 
				echo newl." neues i = ".$i.linestring.__LINE__; 
				echo newl." neues n = ".$n.linestring.__LINE__; 
				echo newl." neues nn: ".$nn;		 
				echo newl."  Vorbereitung fuer n = ".$n.linestring.__LINE__;		 
				echo newl." Vor testX ".linestring.__LINE__; 
				//	Include 'testX.php';			  
				 
					//  finde array Kette00nnn in Pfad ketten/Kette00nnn.php				 
 
					echo newl." Start of include testX n = ".$n.mainstring.__LINE__.newl;			 
					 
					$n4 = sprintf("%04d", $n, $stepWidth);		  
					$n5 = sprintf("%05d", $n, $stepWidth);		  
					echo newl." n4 = ".$n4.mainstring.__LINE__; 
					echo newl." n5 = ".$n5.mainstring.__LINE__;	 
					$NameOfKettenPfad = 'ketten';	 // Name des Pfades Gross L 
					echo newl." NameOfKettenPfad = ".$NameOfKettenPfad.mainstring.__LINE__; 
					$KettenFileName = 'ketten'.$slash.'Kette'.$n5.'.php'; 
					$ArrayName =  'Kette'.$n5;	//Kette0007 
					echo newl." KettenFileName to require is ".$KettenFileName.mainstring.__LINE__; 
					echo newl." ArrayName to require is ".$ArrayName.mainstring.__LINE__; 
					echo newl." now require 1st time KettenFileName : ".$KettenFileName.mainstring.__LINE__;			 
					if (file_exists($KettenFileName))									 
					{ 
						echo newl.$KettenFileName." existiert in  ".$NameOfKettenPfad.mainstring.__LINE__; 
						 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
						 
						if (require_once($KettenFileName)) 
						{ 
							echo newl." after requiring KettenFileName ".$KettenFileName.mainstring.__LINE__; 
							echo newl.$KettenFileName.' existiert and was required once'.mainstring.__LINE__; 
							echo newl." ArrayName = ".$ArrayName.mainstring.__LINE__;	 
							$Namen = $$ArrayName; 
							xfache_Ausgabe($Namen); 
							echo newl.$KettenFileName." ist OK ".mainstring.__LINE__;					 
							$dieseKette = 'Kette'.$n5;				 
							echo newl." dieseKette = ". $dieseKette.mainstring.__LINE__; 
							echo newl." KettenFileName = ". $KettenFileName.mainstring.__LINE__; 
							echo  newl." Namen ".'$Namen'." ist ein aray und  existiert !".mainstring.__LINE__.newl; 
							$KettExits[$n] = true; // = 1					 
							echo  newl." ArrayName = ".$ArrayName.mainstring.__LINE__.newl;					 
							$highestpoint = max($Namen); 
							$HighestPoints[$n] = $highestpoint;					 
							echo  newl." highestpoint von $ArrayName = ".$highestpoint.mainstring.__LINE__.newl;					 
							verysimpleOutput($Namen); 
							echo  newl." Laenge von Namen bzw. ArrayName ost : ".count ($Namen); 
							echo  newl." Laenge von visited vor merge ist : ".count ($visited);	 
							$visited = array_merge($visited, $Namen);			 
							echo  newl." Hier vor  Merge visited ".$n." is ".mainstring.__LINE__.newl; 
							verysimpleOutput($visited);						 
							echo  newl." Laenge von visited count_visited vor merge : ".count ($visited); 
							$UnikArray = array_unique($visited); 
							echo  newl." Hier UnikArray bei n = ".$n." befreit von doppelten :"; 
							verysimpleOutput($UnikArray); 
							echo  newl." Laenge von UnikArray nachmerge  : ".count ($UnikArray); 
							sort($UnikArray); 
							echo  newl." Hier UnikArray befreit and sorted :".mainstring.__LINE__;					 
							echo  newl." Laenge von UnikArray nach sort ist : ".count ($UnikArray).mainstring.__LINE__.newl; 
							echo  newl." UnikArray  ist : ".mainstring.__LINE__.newl; 
							verysimpleOutput($UnikArray);					 
							$DifferenceFeld = array_diff($UnikArray,$MerkLastUnik); 
							$cdiff = count($DifferenceFeld); 
							echo  newl." m = ".$m.mainstring.__LINE__; 
							echo  newl." n = ".$n.mainstring.__LINE__; 
							echo  newl. " diff is ".$cdiff.mainstring.__LINE__.newl; 
							if ($cdiff < 1) 
							{ 
								echo  newl." Das DifferenceFeld zwischen $m und $n ist LEER!".mainstring.__LINE__; 
								echo  newl." m = ".$m.mainstring.__LINE__; 
								echo  newl." n = ".$n.mainstring.__LINE__; 
							} 
							 
							else  
							{						 
								echo  newl." Das DifferenceFeld zwischen m und n ist Nicht LEER!".mainstring.__LINE__; 
								echo  newl." m = ".$m.mainstring.__LINE__; 
								echo  newl." n = ".$n.mainstring.__LINE__; 
								echo  newl. " DifferenzLaenge is ".$cdiff.mainstring.__LINE__.newl; 
								echo  newl. " Und das DifferenceFeld ist ".newl." ( "; 
								verysimpleOutput($DifferenceFeld);			 
								echo " ) ".mainstring.__LINE__.newl;						 
								echo newl." Nun ersetze ".$m." durch aktuelles :".$n.mainstring.__LINE__.newl; 
								$m = $n;  
								echo  newl." m = ".$m.mainstring.__LINE__; 
								echo  newl." n = ".$n.mainstring.__LINE__;						 
								$MerkLastUnik = $UnikArray; 
								echo  newl." Am Ende von test and insert requiredDatei KettenFileName ".$KettenFileName." ArrayName :".$ArrayName.mainstring.__LINE__,newl; 
							} 
							$MerkLastUnik = $UnikArray; 
						} 
							else  
						{ 
								echo newl.$KettenFileName.' cannot be required'.mainstring.__LINE__; 
								$KettExits[$n] = 0; // false 
								echo  newl." Kein require moeglich required datei KettenFileName ".$KettenFileName.mainstring.__LINE__,newl; 
						} 
						 
					} 
						else				 
					{ 
							echo newl.$KettenFileName." existiert NICHT in  ".$NameOfKettenPfad.mainstring.__LINE__; 
							$KettExits[$n] = 0; // false 
					} 
				 
				echo newl." Nach testX ".linestring.__LINE__; 
				 
				 // ende der  checkexistence if test, and require /ketten/kettexxxxx.pgp 
				 
				$ArrayName = 'Kette'.$n5; 
				$DateiName = $ArrayName.'.php'; 
				echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__; 
				echo  newl. " DateiName : ".$DateiName.linestring.__LINE__; 
				echo  newl. " dieses directory = ".  getcwd().linestring.__LINE__;	 
				echo newl." ending endzahl = ".$endzahl.linestring.__LINE__;		 
				echo newl. "  n1 = ".$n1." start = ".$start." n = ".$n." nn = ".$nn." endzahl = ".linestring.__LINE__; 
				echo newl." laufende Zahl n : ".$n." endzahl = ".$endzahl.linestring.__LINE__.newl; 
				$singlchain = array(); 
				$KettenPfad = 'ketten/'; // unter  public 
				echo newl." KettenPfad  = ".$KettenPfad.linestring.__LINE__;		 
				$NameOfKettenDatei = 'Kette'; // Name der erzeugten Kette		 
				$ArrayName = $NameOfKettenDatei.$nn; //ohne endung php 
				$NameOfKettenDatei = $ArrayName.'.php'; 
				echo newl." NameOfKettenDatei = ".$NameOfKettenDatei; 
				echo newl." ArrayName = ".$ArrayName; 
				if ($ekko) echo newl." later output2KettenFile".linestring.__LINE__.newl; 
				$KettenFileName = $NameOfKettenDatei; 
				echo newl." KettenPfad = ".$KettenPfad; 
				echo newl." KettenFileName = ".$KettenFileName; 
				$FullKettenFileName =  $KettenPfad.$KettenFileName; 
				echo  newl." ( 628 )FullKettenFileName = ".$FullKettenFileName;		 
				if (file_exists($FullKettenFileName)) 
				{ 
					echo  newl." ( 631 )FullKettenFileName ".$KettenFileName." existiert bereits in ".$KettenPfad; 
				} 
					else 
				{ 
					echo  newl." ( 635 )FullKettenFileName ".$KettenFileName." existiert NICHT in ".$KettenPfad; 
				} 
				echo  newl." now check_existence of n = ".$n." nn = ".$nn." n1 = ".$n1." start = ".$start." n = ".$n." endzahl = ".$endzahl.linestring.__LINE__;		 
				echo  newl." Momentane KettExits-Schlange :".linestring.__LINE__;		  
				tfache_Ausgabe ($KettExits); 
				echo  newl." Vor Bilden der neuen Kette $n5 bei n = $n :".linestring.__LINE__;		 
				echo newl." KettExits[$n] = ".$KettExits[$n]; 
				if (false == $KettExits[$n])       // wenn 0,...... dann hier weiter, kreiere Kette.$nn5.	WO endet das?		 
				{ 
					echo  newl." ( 644 )n1 = ".$n1." Bilden der Kette ".$n5." weil FullKettenFileName ".$FullKettenFileName." noch nicht existiert ".linestring.__LINE__; 
					echo  newl." Beim Bilden der neuen Kette $n5 :".linestring.__LINE__;		  
					echo  newl." starte wenn DateiName ".$DateiName." (noch) nicht existiert ".linestring.__LINE__;		  
					$dumpKette = true; 
					echo  newl." file ".$FullKettenFileName." existiert noch nicht, erzeugen und schreiben".linestring.__LINE__; 
					$newaction = "";			 
					$n1 = $n; // einleitung 
					echo newl." neues n1 = ".$n1.linestring.__LINE__; 
					$singlchain[] = $n1; 
					$steps = 0; 
					$esteps = 0; 
					$osteps = 0; 
					echo newl." steps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__; 
					echo newl." esteps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__; 
					echo newl." osteps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__;			 
					if ($leerstring == $OEString)  
					{ 
						echo " OEString leerstring".linestring.__LINE__; 
						$OeSlgth = 0; 
					} 
					else 
					{ 
						$OeSlgth = strlen($OEstring); 
						echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__; 
					} 
					if (isset($HLstring)) 
					{ 
						if ($leerstring == $HLstring)  
						{ 
							echo newl." HLstring extern ist leerstring".linestring.__LINE__; 
							$HLlgth = 0; 
						} 
						else 
						{ 
							$HLlgth =  strlen($OEstring); 
							echo newl." laenge des OEString ".$HLlgth.linestring.__LINE__; 
						} 
					} 
					else  
						echo newl." HLstring extern is not set".linestring.__LINE__; 
					 
					echo newl." n1 = ".$n1. linestring.__LINE__. " counter = ".$counter.linestring.__LINE__; 
					if ($ekko) echo newl." starting n  = ".$n."  n1 = ".$n1.linestring.__LINE__.newl; 
					$HLstring = $leerstring; 
					echo " HLstring extern leerstring".linestring.__LINE__; 
					$OEstring = $leerstring; 
					$HLstring = $leerstring;			 
					$Glide = 0; //?? 
					$warteAufUeberSchreitung = true; // merke auf next  > n 
					$warteAufUnterschreitung = true; // merke auf next  < n 
					$highestpoint = $n; 
					$HighestPoints[$n] = $highestpoint; 
					echo newl." before the first step highestpoint bei n = ".$n." = ".$highestpoint.linestring.__LINE__.newl;			 
					if ($leerstring == $OEString)  
					{ 
						echo " OEString extern ist leer ".linestring.__LINE__; 
						$OeSlgth = 0; 
					} 
					else 
					{ 
						$OeSlgth = strlen($OEstring); 
						echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__; 
					}		 
					if ($leerstring == $HLstring)  
					{ 
						echo newl." HLstring extern ist leer ".linestring.__LINE__; 
						$HLlgth = 0; 
					} 
					else 
					{ 
						$HLlgth =  strlen($OEstring); 
						echo newl." laenge des OEString ".$HLlgth.linestring.__LINE__; 
					}		 
					$next = $endzahl; 
					echo newl." n = ".$n." starting inner while loop for n = ".$n.linestring.__LINE__; 
					echo newl." hier endzahl = ".$endzahl." to initialize inner while loop ".linestring.__LINE__.newl; 
					 
					 /// BLock while next: 
					  
					echo newl." Before Include whilenext.php".linestring.__LINE__; 
					 
					//include 'whilenext.php'; // neu 27.8.24			 
					 
		// Part of Kollatz/public/index.php  
 
					echo newl." Start of include whilenext n = ".$n.linestring.__LINE__.newl; 
					$broken = false; 
					$AbBruch = false; 
					echo newl." Start of while next > 1 and  whilect2 < 100= ".$n.linestring.__LINE__.newl; 
					$whilect2 = 0; 
					$OddEvenCtr = 0; 
					echo newl." before while next= ".$next."n = ".$n." n1 = ".$n1.linestring.__LINE__;						 
					while (($next > 1) && ($whilect2 < 100)) // wenn next  =1 breche ab 
					{ 
						echo newl." starting n = ".$n.linestring.__LINE__.newl; 
						if ($bestand) 
						{ 
							include 'uniq.php'; // neu 7.6.24			 
							echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
							foreach ($visited as $key => $value) echo " | ".$value; // foreach 
						} 
						$whilect2++; 
						echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__; 
						echo newl." Starting with n = ".$n." steps = ".$steps."  n1 = ".$n1.linestring.__LINE__; 
						echo newl." Start verysimpleOutput of Kette ($n), Glide  = ".$Glide.' n = '.$n.linestring.__LINE__;				 
						echo newl." Verlaengere visited und visitedOdds und visitedEvens, n1 = ".$n1.linestring.__LINE__; 
						$visited[] = $n1;	 
						echo newl." KettExits[$n] = ".$KettExits[$n].linestring.__LINE__;				 
						if (!(isset($KettExits[$n])))    // noch kein Eintrag in abgearbeiteter List(//if(false oder 0 == //$KettExits[$n]))					 
						{ 
							echo newl." noch kein Eintrag fuer n =".$n.linestring.__LINE__; 
							$OddEvenCtr++; 
							echo newl.$OddEvenCtr."ter Aufruf OddEven ".linestring.__LINE__.newl;// find the funtion OddEven //inOddEvenhandling 
							  /// Nur Collatz compute if not KettExits Kette.$n4 oder $n5 ! 
							 echo " mit n= $n n1 = $n1, next  = $next ".linestring.__LINE__.newl;					 
							  // Immer 1 Schritt: 
							$nextList = OddEven($n,$n1,$OEString, $HLstring, $Glide, $warteAufUnterschreitung, $warteAufUeberSchreitung, $visitedOdds, $visitedEvens, $osteps, $esteps, $singlchain, $oddchain,$newaction,$stop_if_stoptime, false); 
							echo newl ." var+dump nextlist".linestring.__LINE__.newl; 
							var_dump($nextList); 
							$nnext = $nextList[0];	 
							$next = $nnext; 
							$Hgesetzt = $nextList[1];	 
							$Lgesetzt = $nextList[2]; 
							echo newl." after: ".$OddEvenCtr."ter Aufruf OddEven ".linestring.__LINE__;	 
							// find the funtion OddEven in OddEvenhandling 
							if ($ekko)  
							{ 
								if($warteAufUnterschreitung)  
									echo newl." warteAufUnterschreitung ist true ".linestring.__LINE__; 
								else  
									echo newl." warteAufUnterschreitung ist false ".linestring.__LINE__; 
								if($warteAufUeberSchreitung)  
									echo newl." warteAufUeberSchreitung ist true ".linestring.__LINE__; 
								else  
									echo newl." warteAufUeberSchreitung ist false ".linestring.__LINE__; 
							}					 
							echo " mit n= $n n1 = $n1, next  = $next ".linestring.__LINE__; 
							echo newl." Back in main nnext = ".$nnext.linestring.__LINE__; 
							if ($nnext !== 0) // aus Returned 
							{ 
								echo newl." n = ".$n." n1 = ".$n1." next = ".$next.linestring.__LINE__; 
								$next = $nnext;				 
								if ($Lgesetzt)  
								{ 
									echo newl."  L  gesetzt !".linestring.__LINE__;				 
									$HLstring .= 'L'; 
									echo newl." HLstring extern ".$HLstring.linestring.__LINE__;					 
									echo newl." warte Auf UeberSchreitung ".linestring.__LINE__; 
									$warteAufUnterschreitung = false; 
									$warteAufUeberSchreitung = true; 
								} 
								else	 
								{ 
									echo newl."  L Nicht gesetzt !".linestring.__LINE__;				 
									echo newl." HLstring extern  ".$HLstring.linestring.__LINE__;					 
								} 
								if ($Hgesetzt) 
								{ 
									echo newl." H gesetzt ! vorher : ".$HLstring.linestring.__LINE__;					 
									$HLstring .= 'H'; 
									echo newl." H gesetzt ! nachher : ".$HLstring.linestring.__LINE__;				 
									echo newl."  HLstring extern ".$HLstring.linestring.__LINE__;				 
									echo newl." warte Auf Unterschreitung ".linestring.__LINE__; 
									$warteAufUnterschreitung = true; 
									$warteAufUeberSchreitung = false;					 
								} 
								else 
								{					 
									echo newl." H Nicht gesetzt !".linestring.__LINE__; 
									echo newl." HLstring extern ".$HLstring.linestring.__LINE__;					 
								}	 
							}			 // nnext not zero 
							echo newl."HLstring extern ".$HLstring .linestring.__LINE__; 
							echo newl."OEstring extern ".$OEString.linestring.__LINE__;				 
							echo newl."nach call OddEven next is ".$next." n1=".$n1." newaction= ".$newaction.linestring.__LINE__;					 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
							if ($stop_if_visited) 
							{ 
								echo newl." stop_if_visited gesetzt denn ".$next." ist in visitedEvens !".linestring.__LINE__.newl; 
								if ($newaction == "O") 
								{ 
									if (in_array($next,$visitedEvens)) 
										echo newl." nach odd action ".$next." ist in visitedEvens !".linestring.__LINE__.newl; 
								} 
								else // newaction even  
								{ 
									if (in_array($next,$visitedOdds)) 
									{ 
									echo newl."stop_if_visited nach even action ".$next." ist in visitedOdds !".linestring.__LINE__.newl; 
									echo newl." stop_if_visited was set, so break while! ".linestring.__LINE__.newl;		 
									$broken = true; 
									$Edelay = simpleValueOutput($visitedOdds); 
									$AbBruch = true; 
									} 
									else  
										if (in_array($next,$visitedEvens)) 
										{ 
										 echo newl." stop_if_visited was set, so break while! ".linestring.__LINE__.newl; 
										 $AbBruch = true; 
										 $broken = true; 
										 echo newl." break  match nach even action ".$next." is "; 
										 echo "already in visitedEvens: !".linestring.__LINE__.newl; 
										 $Edelay = simpleValueOutput($visitedEvens); 
										 $AbBruch = true; 
										} 
								} 
							} 
							else 
								echo newl." stop_if_visited NICHT gesetzt ".linestring.__LINE__.newl; 
								 
							if  ($next > $highestpoint)  
							{ 
								$highestpoint = $next;	 
								$HighestPoints[$n] = $highestpoint; 
							} 
							echo newl."  highestpoint bei n = ".$n." = ".$highestpoint.linestring.__LINE__.newl; 
							if ($leerstring == $OEString)  
							{ 
								echo " OEString ist ein leerstring ".linestring.__LINE__; 
								$OeSlgth = 0; 
							} 
							else 
							{ 
								$OeSlgth = strlen($OEstring); 
								echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__; 
							}		 
							if ($leerstring == $HLstring)  
							{	 
								echo " HLstring extern ist leerstring".linestring.__LINE__; 
								$HLlgth = 0; 
							} 
							else 
							{ 
								$HLlgth =  strlen($HLstring); 
								echo newl." laenge des HLstring extern > 0 : ".$HLlgth.linestring.__LINE__; 
							}				 
							echo newl." HLstring extern ".$HLstring.linestring.__LINE__; 
							echo newl." nach odd even decision next =".$next." schon in singlchain".linestring.__LINE__;					 
							$Delay = simpleValueOutput($singlchain);				 
							echo newl." nach OE decision newaction = ".$newaction." Delay = ".$Delay.linestring.__LINE__; 
							echo newl." n1 = ".$n1." next = ".$next." n = ".$n.linestring.__LINE__; 
							echo newl." HLstring extern ".$HLstring.$leerstring.linestring.__LINE__; 
							if ($HLstring == $leerstring) 
							{ 
								echo newl." HLstring extern ist noch leer".linestring.__LINE__; 
							} 
							else 
							{ 
								echo " ( 890 )var_dump(HLstring) : ";  
								var_dump($HLstring);} 
								echo newl." ( 892 )HLstring extern = ".$HLstring;					 
								$HLstring.= $leerstring; //?! 
								if ($ekko)  
								{ 
									echo " ( 896 )var_dump(HLstring) ";  
									var_dump($HLstring); 
								} 
								echo newl." ( 899 )HLstring extern = ".$HLstring; 
								$HLlgth = strlen($HLstring); 
								echo newl." ( 901 )Laenge des HLstring extern nun ".$HLlgth; 
								if ($ekko)  
								{ 
									echo " ( 904 ) var_dump(HLstring) ";  
									var_dump($HLstring); 
								} 
							} 
							if ($OEstring = $leerstring) 
									echo newl." OEstring leer".linestring.__LINE__; 
							else 
							{ 
								echo newl." OEstring = ".$OEString.linestring.__LINE__; 
								$OeSlgth = strlen($OEString); 
								echo newl." Laenge des OEStrings nun ".$OeSlgth.linestring.__LINE__;				 
							}					 
							$steps ++; 
							echo newl." steps wurde erhoeht auf $steps bei n = $n , n1 = $n1 ".linestring.__LINE__; 
							echo newl." ksorted Ausgabe der besuchten ungeraden : ".linestring.__LINE__.newl; 
							ksort($visitedOdds); 
							$Odelay = simpleOutput($visitedOdds); 
							echo newl." ungerade Zahlen after simpleOutput von n = ".$n." n1 = ".$n1." sind :".$Odelay.linestring.__LINE__;			 
							echo newl." nach OE decision (n= $n, n1 =$n1 next = $next) alle besuchten Zahlen ksorted : ".linestring.__LINE__.newl; 
							ksort($visited); 
							$Delay =  simpleOutput($visited);			 
							echo newl." nach OE decision (n= $n, n1 = $n1 next = $next) alle besuchten Zahlen ksorted : ".linestring.__LINE__.newl; 
							echo newl.newl." visited unsortiert :  (n= $n, n1 = ".$n1." next = ".$next.") alle besuchten Zahlen : ".linestring.__LINE__.newl; 
							echo " Komplette kette ($n) after simpleOutput der gezaehlten Laenge steps = ".$steps." n1 = ".$n1." Delay :".$Delay." Glide ".$Glide.linestring.__LINE__.newl; 
							echo "OEString = ".$OEString.linestring.__LINE__.newl;								 
							echo newl." naechstes next  = ".$next.linestring.__LINE__;					 
							if ($ekko) echo newl." nach letzter decision ".$newaction." auf ($n1) ist next = ".$next.linestring.__LINE__;			 
							if ($ekko) echo newl."OEString = ".$OEString.linestring.__LINE__.newl; 
							$counter ++;			 
							echo newl." Anzahl aller Schritte ist ".$counter.linestring.__LINE__;			 
							echo newl." n1 ist noch ".$n1.linestring.__LINE__;				 
							echo newl." n ist ".$n.linestring.__LINE__;			 
							echo newl." last action was  ".$newaction.linestring.__LINE__.newl;			 
							echo newl." next = ".$next.linestring.__LINE__; 
							$n1 = $next; 
							echo newl."  new n1 = ".$n1." n = ".$n.linestring.__LINE__;					 
							echo newl." nach newaction ".$newaction.linestring.__LINE__;					 
							echo newl." esteps erhoeht auf ".$esteps.linestring.__LINE__; 
							echo newl." osteps erhoeht auf ".$osteps.linestring.__LINE__." simpleOutput of singlchain :".newl; 
							$Delay = verysimpleOutput($singlchain); 
							echo newl." Delay = Laenge singlchain : ".$Delay." end of inner while simpleValueOutput of Kette ($n)"; 
							echo " steps = ".$steps." n = $n, n1 = ".$n1.linestring.__LINE__; 
							echo newl." Ende inner loop n = ".$n." Delay der Kette ($n) ist ".$Delay." next = ".$next." Glide = ".$Glide." Delay = ".$Delay.linestring.__LINE__; 
							echo newl." End of 1 step in inner loop of $n next = ".$next.linestring.__LINE__;				 
							echo newl." end while n= ".$n." loop wobei next= ".$next. "n1 = ".$n1." whilect2 = " .$whilect2.linestring.__LINE__; 
							$n += $stepWidth;		 
							$i += $stepWidth; 
							echo newl." ( 946 ) n erhoeht auf ".$n; 
							echo newl." ( 947 ) i erhoeht auf ".$i; 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
							echo newl." ende while next >1, n erhoeht auf ".$n." i erhoeht auf ".$i.linestring.__LINE__;					 
				} // while ($next > 1) ???? 
						 
 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
					 
					if ($broken)  echo newl." broken was set at next = ".$next.linestring.__LINE__; 
					if ($AbBruch)  echo newl." AbBruch was set at next = ".$next.linestring.__LINE__; 
					echo newl." after while next ($next > 1) next ist ".$next." whilect2 = " .$whilect2.linestring.__LINE__;			 
					echo newl." after end of n = ".$n.linestring.__LINE__; 
					echo newl." next = ".$next.linestring.__LINE__;			 
					$n1 = $next; 
					echo newl." n1 nun = ".$n1.linestring.__LINE__;			  
					echo newl."  FullKettenFileName ".$FullKettenFileName.localstring.__LINE__; 
					echo newl."  ArrayName ".$ArrayName.localstring.__LINE__; 
					echo newl." singlchain $n bis jetzt : ".linestring.__LINE__; 
					echo newl." bei next = ".$next." do simpleValueOutput(singlchain)".linestring.__LINE__.newl; 
					$Delay = verysimpleOutput($singlchain); 
					echo newl." uebernehem ArrayName aus singlchain".linestring.__LINE__;			 
					$Namen = $DateiName; 
					xfache_Ausgabe($Namen); 
					$Namen = $singlchain; 
					echo newl." Namen bei n =".$n.linestring.__LINE__.newl; 
					xfache_Ausgabe($Namen); 
					echo newl." after end of n = ".$n." Ausgabe aller visited: ".linestring.__LINE__.newl; 
					$vlgth = verysimpleOutput($visited); 
					echo newl." after end of n = ".$n." Ausgabe des FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__.newl; 
					$algth = verysimpleOutput($Namen); 
					echo newl." algth =".$algth." nach Inner while loop of FullKettenFileName ".$n.linestring.__LINE__.newl; 
					$Delay = verysimpleOutput($singlchain);			 
					if (isset($Delay)) echo newl." delay now : ".$Delay.linestring.__LINE__.newl; 
					echo newl." Finally after while next n = ".$n." n1 = ".$n1," counter = ".$counter." Delay = ".$Delay." Glide = ".$Glide.newl."  ".linestring.__LINE__.newl; 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
					 
					if (isset($oddchain)) 
						{ 
							echo newl." dump{oddchain}".linestring.__LINE__.newl;					 
							echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl; 
							if (is_array($oddchain))  
								verysimpleOutput ($oddchain);			 
						} 
							else  
								echo newl." oddchain ist nicht geseetzt".linestring.__LINE__.newl; 
							 
					echo newl." after inner while, now n = ".$n." i = ".$i." next = ".$next." n1 = ".$n1.linestring.__LINE__.newl; 
					echo newl." highestpoint = ".$highestpoint.linestring.__LINE__.newl; 
					echo newl." Ende eines n = ".$n.linestring.__LINE__.newl;			 
					echo newl." Ende Kette singlchain($n),n = ".$n." n1 = ".$n1." Delay = ".$Delay; 
					echo newl." OEString = ".$OEString.linestring.__LINE__; 
					echo newl." HLstring extern = ".$HLstring.$leerstring.linestring.__LINE__; 
					echo newl." ended n = $n and i = $i n1 = $n1  bei next = $next ".linestring.__LINE__.newl;			 
					echo newl." Glide = ".$Glide.linestring.__LINE__.newl.linestring.__LINE__.newl;			 
					if (is_array($Namen)) 
					{ 
							echo newl." singlchain ".$n." oder Namen ist bis jetzt ein array der Laenge ".$Delay.linestring.__LINE__; 
							if (count($Namen) > 0) 
							{ 
								if (function_exists('simpleValueOutput')) $Delay = simpleValueOutput($Namen); 
									else	  
										echo newl." no function exists('simpleValueOutput') of Namen ".$DateiName.linestring.__LINE__;	// Ende  n1		 
							} 
							else  
								echo newl." singlchain ($n) ist zu kurz ".linestring.__LINE__; 
							$Delay = verysimpleOutput($Namen);	 
							echo newl." ausgabe CollatzKette($n) der gemessenen Laenge Delay = ".$Delay."  n1 = ".$n1.linestring.__LINE__;	 
							echo newl." Namen ($n) is an array der Laenge ".$Delay.linestring.__LINE__.newl;		 
							 
							// Hier OddEvenhandling 
					} 
						else  // Kette ..... existiert im Directory Kettenpfad : 
					{ 
						echo newl." Kette ".$n."existiert :".linestring.__LINE__; 
						echo newl." and was already required ".$FullKettenFileName.linestring.__LINE__; 
						echo  newl." DateiName ".$DateiName." ist kein array !!".linestring.__LINE__;				 
						echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__; 
						echo  newl. " DateiNamee : ".$DateiName.linestring.__LINE__,newl.newl;				 
						echo  newl. " FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__;				 
							// was dann?? exit;??				 
						include 'rest2.php';  // Hier nehme existierende komplette Kettexxxxx 
					 }  // Kette ..... existiert in Kettenpfad: 
					 echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__; 
					  
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
					 
					echo newl." Am Ende der while next > 1, next = $next, n = $n , n1 = $n1 ".linestring.__LINE__.newl; 
					echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__; 
				} // while next > 1			 
					 
					echo newl." After Include whilenext.php".linestring.__LINE__.newl; 
					echo newl." after while next ($next > 1) next ist ".$next." whilect2 = " .$whilect2.linestring.__LINE__;			 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach				 
					if ($broken)  echo newl." broken was set at next = ".$next.linestring.__LINE__; 
					if ($AbBruch)  echo newl." AbBruch was set at next = ".$next.linestring.__LINE__;			 
					echo newl." after end of n = ".$n.linestring.__LINE__; 
					echo newl." next = ".$next.linestring.__LINE__;			 
					$n1 = $next; // neuer wert 
					echo newl." n1 nun = ".$n1.linestring.__LINE__;			  
					echo newl."  FullKettenFileName ".$FullKettenFileName.localstring.__LINE__; 
					echo newl."  ArrayName ".$ArrayName.localstring.__LINE__; 
					echo newl." singlchain $n bis jetzt : ".linestring.__LINE__; 
					echo newl." bei next = ".$next." do simpleValueOutput(singlchain)".linestring.__LINE__.newl; 
					$Delay = verysimpleOutput($singlchain); 
					echo newl." uebernehem ArrayName aus singlchain".linestring.__LINE__;			 
					$Namen = $DateiName; 
					xfache_Ausgabe($Namen); 
					$Namen = $singlchain; 
					echo newl." Namen bei n =".$n.linestring.__LINE__.newl; 
					xfache_Ausgabe($Namen); 
					echo newl." after end of n = ".$n." Ausgabe aller visited: ".linestring.__LINE__.newl; 
					$vlgth = verysimpleOutput($visited); 
					echo newl." after end of n = ".$n." Ausgabe des FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__.newl; 
					$algth = verysimpleOutput($Namen); 
					echo newl." algth =".$algth." nach Inner while loop of FullKettenFileName ".$n.linestring.__LINE__.newl; 
					$Delay = verysimpleOutput($singlchain);			 
					if (isset($Delay)) echo newl." delay now : ".$Delay.linestring.__LINE__.newl; 
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				} 
					 
					if (isset($oddchain)) 
						{ 
							echo newl." dump{oddchain}".linestring.__LINE__.newl;					 
							echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl; 
							if (is_array($oddchain))  
								verysimpleOutput ($oddchain);			 
						} 
							else  
								echo newl." oddchain ist nicht geseetzt".linestring.__LINE__.newl; 
							 
					echo newl." after inner while, now n = ".$n." i = ".$i." next = ".$next." n1 = ".$n1.linestring.__LINE__.newl; 
					echo newl." highestpoint = ".$highestpoint.linestring.__LINE__.newl; 
					echo newl." Ende eines n = ".$n.linestring.__LINE__.newl;			 
					echo newl." Ende Kette singlchain($n),n = ".$n." n1 = ".$n1." Delay = ".$Delay; 
					echo newl." OEString = ".$OEString.linestring.__LINE__; 
					echo newl." HLstring extern = ".$HLstring.$leerstring.linestring.__LINE__; 
					echo newl." ended n = $n and i = $i n1 = $n1  bei next = $next ".linestring.__LINE__.newl;			 
					echo newl." Glide = ".$Glide.linestring.__LINE__.newl.linestring.__LINE__.newl;			 
					if (is_array($Namen)) 
					{ 
							echo newl." singlchain ".$n." oder Namen ist bis jetzt ein array der Laenge ".$Delay.linestring.__LINE__; 
							if (count($Namen) > 0) 
							{ 
								if (function_exists('simpleValueOutput')) $Delay = simpleValueOutput($Namen); 
									else	  
										echo newl." no function exists('simpleValueOutput') of Namen ".$DateiName.linestring.__LINE__;	// Ende  n1		 
							} 
							else  
								echo newl." singlchain ($n) ist zu kurz ".linestring.__LINE__; 
							$Delay = verysimpleOutput($Namen);	 
							echo newl." ausgabe CollatzKette($n) der gemessenen Laenge Delay = ".$Delay."  n1 = ".$n1.linestring.__LINE__;	 
							echo newl." Namen ($n) is an array der Laenge ".$Delay.linestring.__LINE__.newl;		 
							 
							// Hier OddEvenhandling 
					} 
						else  // Kette ..... existiert im Directory KettenPfad : 
					{ 
						echo newl." Kette ".$n."existiert :".linestring.__LINE__; 
						echo newl." and was already required ".$FullKettenFileName.linestring.__LINE__; 
						echo  newl." DateiName ".$DateiName." ist kein array !!".linestring.__LINE__;				 
						echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__; 
						echo  newl. " DateiNamee : ".$DateiName.linestring.__LINE__,newl.newl;				 
						echo  newl. " FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__;				 
						 
					// was dann?? exit;??		 
					// include 'rest2.php';  // Hier nehme existierende komplette Kettexxxxx dumpkette weil AbBruch 
						 
					echo newl." Start of include rest2 n = ".$n.linestring.__LINE__.newl;			 
					if (file_exists($FullKettenFileName)) 
					{ 
						echo  newl." Datei  ".$FullKettenFileName." can be required, exists ".linestring.__LINE__; 
						echo  newl." NameOfKettenPfad = ".$Kettenpfad.linestring.__LINE__; 
						echo  newl." ArrayName = ".$ArrayName.linestring.__LINE__; 
						echo  newl." DateiName = ".$DateiName.linestring.__LINE__; 
						echo  newl." FullKettenFileName = ".$FullKettenFileName.linestring.__LINE__; 
						echo  newl. " now require_once ".$FullKettenFileName.linestring.__LINE__; 
						require_once $FullKettenFileName; 
						$ArrayName = '$Kette'.$nn; 
						echo  newl." ArrayName = ".$ArrayName.linestring.__LINE__;				 
						echo  newl." DateiName = ".$DateiName.linestring.__LINE__; 
						echo  newl." existiert ".$DateiName." nach require_once Kettenpfad".$Kettenpfad." ? ".linestring.__LINE__; 
						if (file_exists($DateiName)) 
						{ 
							echo  newl." Datei ".$DateiName." existiert in ".$Kettenpfad.linestring.__LINE__; 
							echo  newl." ArrayName = ".$ArrayName; 
							echo newl. " dump : "; 
							echo  newl." ArrayName[1] = ".$ArrayName[1]; 
							var_dump($ArrayName); 
							if (null != $ArrayName) 
							{ 
							echo  newl." array ".$ArrayName." existiert ".linestring.__LINE__; 
							if (is_array($ArrayName)) 
							{ 
								echo  newl." array ".$ArrayName." existiert und ist ein array. ausgabe ".linestring.__LINE__; 
								foreach ($ArrayName as $key => $value) 
								echo newl." key : ".$key." wert : ".$value;					 
							} 
								else  
									echo  newl." das array ".$ArrayName; 
							} 
								else  
									echo  newl." Die variabble ".ArrayName." existiert nicht "; 
						} 
											 
						echo  newl." NameOfKettenDatei = ".$FullKettenFileName;				 
						echo newl;				 
						if (is_array('$ArrayName')) 
						{ 
							echo  newl." array $ArrayName existiert und ist ein array. Ausgabe : ".linestring.__LINE__.newl; 
							$singlchain = $ArrayName; 
							echo newl."  Ausgabe kette singlchain  ".linestring.__LINE__.newl; 
							simpleValueOutput($singlchain);				   
						} 
						else  
							echo  newl." das array  $ArrayName ist keins  ".linestring.__LINE__.newl;					 
							$singlchain = $ArrayName; 
							if (isset ($singlchain)) 
							{ 
								echo  newl." array  singlchain existiert  ".linestring.__LINE__.newl; 
								if (is_array($singlchain)) 
								{ 
									echo  newl." array singlchain  ist ein array der laenge ".count($singlchain).linestring.__LINE__.newl; 
									echo newl."  Ausgabe kette singlchain  =  ".linestring.__LINE__.newl; 
									simpleValueOutput($singlchain); 
									echo  newl." array  ".'$ArrayName'." erfolgreich eingelesen ".linestring.__LINE__.newl; 
								}							 
									else  
										if ($singlchain == $leerstring) 
											echo "singlchain ist leerstring"; 
										else  
											if ($singlchain == NULL)  
												echo "singlchain ist NULL"; 
										else  
										{ 
											echo "singlchain ist weder leerstring noch null "; 
										} 
						} 
						else  
							echo  newl." das array  ".$ArrayName." existiert Nicht ".linestring.__LINE__;				 
					} 
						 
					 }  // Kette ..... existiert in KettenPfad: 
					 echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__; 
					  
			if ($bestand) 
				{ 
					include 'uniq.php'; // neu 7.6.24			 
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
					foreach ($visited as $key => $value) echo " | ".$value; // foreach 
				}	 
					 
				echo newl." Am Ende der if abfrage false == KettExits[n], next = $next, n = ".$n." n1 = ".$n1.linestring.__LINE__.newl; 
				echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__; 
				echo newl ." var+dump nextlist".linestring.__LINE__.newl; 
				var_dump($nextList); 
				$nnext = $nextList[0];	 
				$next = $nnext; 
				$Hgesetzt = $nextList[1];	 
				$Lgesetzt = $nextList[2];				 
					 
				echo  newl. " Vor EndIF ".linestring.__LINE__;			 
			} // false == KettExits[n] 
			/* 
		else  //__??!! 
		{ 
			echo  newl." KettExits[$n] = ".$KettExits[$n]." n = ".$n.linestring.__LINE__.newl; 
			echo  newl." (1213 ) n1 = ".$n1." Kein Bilden der Kette ".$n5." weil FullKettenFileName ".$FullKettenFileName." schon existiert !".newl; 
		} 
		*/ 
		 
		echo newl." ( 1215 ) nun n = ".$n." i = ".$i." n1 = ".$n1.linestring.__LINE__; 
		echo newl." ( 1216 ) nach Ende der while next > 1, n = $n , n1 = $n1 ".linestring.__LINE__; 
		 
		if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
		}	 
 
		echo newl." ( 1220 ) End of n = ".$n." ready in outer while loop, i = ".$i." n1 = ".$n1." endzahl = ".$endzahl." erreicht ? ".linestring.__LINE__.newl; 
		echo newl." ( 1222 ) n = ".$n. " n1 = ".$n1; 
		$erhoeht = $n + $stepWidth; 
		echo newl." ( 1223 )Nun erhoehe n = ".$n."auf ".$erhoeht; 
		$n = $erhoeht; 
		echo newl." anpasse i = ".$i." auf ".$erhoeht.linestring.__LINE__; 
		$i += $stepWidth;		 
		echo newl." ( 1226 ) nun n = ".$n." i = ".$i." n1 = ".$n1; 
		 
		 echo newl." Eintrag nach n = $n next = $next in ".linestring.__LINE__; 
		 echo newl." abbruch n = $n, next = $next , n1 = $n1 ready after inner while loop".linestring.__LINE__;		 
		if (false !== $output2jedeKette) 
		{ 
			echo newl." Now output2jedeKette ist generell  gewuenscht bei n = ".$n.linestring.__LINE__; 
			echo newl." auch  hier  deswegen output Kette :".$n.linestring.__LINE__; 
			$outputDieseKette = true; 
		} 
		else 
		{ 
			echo newl." output2jedeKette NICHT gewuenscht bei Kette($n) !!".linestring.__LINE__; 
			echo newl." desweg Dont output Kette ".$n.linestring.__LINE__; 
			$outputDieseKette = false; 
		}		 
		echo newl." before dumpKette actual Directory: ".getcwd().linestring.__LINE__; 
		echo newl." execute dumpkette of Kette :  ".$n.linestring.__LINE__; 
 
			  
		$dumpKette = true ; // hier nicht oder doch ?								  
		if ($ekko)  
			if ($dumpKette)  
				echo newl." (1230 )now dumpkette is set 2 true ".$n; 
 
		if ($ekko) echo newl." Nach Eintrag nr. ".$counter." fuer n = ".$n." n1 = ".$n1." f&uuml;r Kette($n) in line ".__LINE__; 
		$Kette[$n] = $singlchain; // appended 
		if ($dumpKette)  
		{ 
				echo newl." dumpKette ist ON ! including rest7 ".$n.linestring.__LINE__;  
				include 'rest7.php'; //Function writeKette 
		} 
		else  
		{			 
			echo newl." neu berechnete Kette oder singlchain : ".$n.linestring.__LINE__; 		 
			echo newl." dumpKette ist OFF !, aber : ".$n.linestring.__LINE__.newl; 
			verysimpleOutput($singlchain); 
		} 
		echo newl." ( 1245 ) vor Ende if false == KettExits[$n] ".$n.linestring.__LINE__.newl; 
	} // if (false == $KettExits[]} 
		$i = $n+ $stepWidth; 
		$n = $i;		 
		echo newl." neues i = ".$i." neues n = ".$n.linestring.__LINE__;		 
		echo newl." now enter with n = ".$n.linestring.__LINE__;		 
		if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
		}	 
		echo newl." ending while i = ".$i.linestring.__LINE__.newl;	 
		if ($AbBruch) echo newl." (1253 ) ending with AbBruch ".linestring.__LINE__.newl;		 
	echo newl." now whilectr = ".$whilectr." = ".$n.linestring.__LINE__; 
	if ($whilectr > $endzahl)  
	{ 
		echo newl." whilectr = ".$whilectr." ist nun groesser als endzahl = ".$endzahl." bei n = ".$n." also EXIT".linestring.__LINE__.newl; 
		exit; 
	}		 
	echo newl." ready after outer while loop i =- $i, n = ".$n." n1 = ".$n1. " endzahl ".$endzahl." erreicht ? ".linestring.__LINE__.newl; 
	 
	if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
	} 
	 
	if ($Edelay > 0) 
	{ 
			echo newl." simpleValueOutput ".$Edelay."  besuchte gerade Zahlen at n = $n, n1 = $n1 : linestring".__LINE__; 
			echo newl." simpleValueOutput(visitedEvens) ".linestring.__LINE__.newl; 
			$Edelay = simpleValueOutput($visitedEvens); 
			echo " after simpleValueOutput ".$Edelay." visitedEvens "; 
			echo newl." Elgth = ".$Edelay; 
	}		 
		else  
			echo newl."keine Gerade zahlen in n = ".$n.linestring.__LINE__.newl; 
	if ($Odelay > 0)  
	{ 
			echo newl.$Odelay." besuchte ungerade Zahlen at n = $n, n1 = $n1 : ".linestring.__LINE__; 
			echo newl." simpleValueOutput(visitedOdds) ".linestring.__LINE__.newl; 
			$Odelay = simpleValueOutput($visitedOdds);	//true 
			echo newl." after simpleValueOutput ".$Odelay." visitedOdds".linestring.__LINE__; 
			echo newl." Olgth = ".$Odelay.newl;			 
	} 
	else  
		echo newl."keine UnGeraden Zahlen in n = ".$n.linestring.__LINE__.newl; 
	if  (($Odelay > 0)  && ($Edelay >0)) 
		echo newl." Verhaeltnis O/E :".Odelay."/".$Edelay.linestring.__LINE__.newl;	 
	echo newl." End of Try at n = $n, n1 = $n1 : ".linestring.__LINE__;	 
	if ($bestand) 
		{ 
			include 'uniq.php'; // neu 7.6.24			 
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	 
			foreach ($visited as $key => $value) echo " | ".$value; // foreach 
		} 
	 
//end   try 
 
 
catch (Exception $e4) 
{ 
	echo newl."Exception e4 : "; 
	// var_dump ($e4->getTrace()); 
	echo newl;	 
	echo $e4->getMessage (); 
	echo newl; 
	echo $e4->getTraceAsString (); 
	echo newl; 
	echo $e4->getCode(); 
	echo newl; 
	echo $e4->getFile(); 
	echo newl; 
	echo $e4->getLine(); 
	echo newl; 
	die ('Exception e4 '); 
}	  
 
$visual = true; 
$Erstezahl = $start + $stepWidth; 
if ($visual)  
	echo newl." visuellle Betrachtung aller visited aller ab $Erstezahl bis $next ist on ".linestring.__LINE__.newl; 
 
if ($ekko) 
{		 
	echo newl." Kettenabbruch der Ketten end of i = $i, n = ".$n; 
	echo newl." i = ".$i." n = ".$n." start = ".$start; 
	echo newl." endzahl = ".$endzahl; 
	echo newl." stepWidth = ".$stepWidth.linestring.__LINE__.newl; 
} 
 
// alle geraden und ungeraden visited Numbers\ 
 
if ($visual) 
{ 
	echo newl." Unsorted output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl; 
	foreach ($visited as $Zahl => $besucht) echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach		 
	echo newl." now output2UnsortedVisitedFile ".linestring.__LINE__.newl;	 
} 
 
echo newl." NameOfKettenDatei now ".$NameOfKettenDatei.linestring.__LINE__.newl; 
$KettenFileName = 'KettenFile'.$start."_".$endzahl.'_'.$stepWidth.'.php'; 
echo newl." KettenFileName now ".$KettenFileName.linestring.__LINE__.newl; 
echo newl." actual Verzeichnis before  output2KettenFile : ".getcwd().linestring.__LINE__; 
echo newl. 'KettenFileName = '.$KettenFileName; 
echo newl." now in ".linestring.__LINE__.newl; 
echo newl." number of tested digits : $num von  start = $start n = $n i = .$i in main Zeile ".__LINE__.newl. " now sort by key".newl; 
echo newl." Sortierte Ausgabe von visited nach values in main vor ksort in Zeile ".__LINE__.newl; 
echo newl." sort count (visited) = ".count ($visited). linestring.__LINE__.newl; 
echo newl." Sortiere visited  $start bis $endzahl nach keys: ".newl; 
echo newl."now in ".linestring.__LINE__.newl; 
 
//include mist.php 
 
$sort_visited_file = false; 
if ($sort_visited_file) //(3) 
{ 
		echo newl." Schreiben auf Datei :".linestring.__LINE__;	 
		echo newl." sort_visited_file is on  ".linestring.__LINE__;		 
		$sortFileName = 'sortvisited'.$start."_".$endzahl.'.php'; 
		echo newl." sortfilename = ".$Unsortfilename;	 
		if (is_array($visited)) 
		{ 
			if ($output2sortedVisitedFile) 
			{ 
					$sortfilename = $visited; 
					echo newl."now in ".linestring.__LINE__.newl; 
					echo newl." sort_visited_file is on in output2sortedVisitedFile ".linestring.__LINE__.newl;		 
					$sortedfilename = 'visited'.$start."_".$endzahl.'.php'; 
					$Ueberschrift = "Kette_'$start'-'$endzahl'"; 
					$Ueberschrift = "$".$sortedfilename.'_'.$start.'-'.$endzahl.' = '; 
					echo newl." Ueberschrift = ".$Ueberschrift.linestring.__LINE__; 
					echo newl." output to Unsortfilename : ".$Unsortfilename.newl; 
					echo newl." unsorted output2VisitedFile $start bis $endzahl :".$Unsortfilename.linestring.__LINE__; 
					$fileintro = '<' . "?php
";	 
					echo newl." output to Unsortfilename : " . $Unsortfilename;					 
					echo newl." before file_put_contents :".linestring.__LINE__; 
					$Bytes = file_put_contents ($Unsortfilename, $fileintro.$Ueberschrift. " 
 ".var_export($visited,1).';' ); 
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__; 
					echo newl. " maximum = ".max($visited).linestring.__LINE__;	 
			} 
		} 
} 
		else echo newl." sort_visited_file is Off ".linestring.__LINE__.newl;	 
 
echo newl.newl." Now arsort $start bis $endzahl , count (visited) = ".count ($visited). linestring.__LINE__.newl; 
echo newl." arSort visited  $start bis $endzahl nach keys: ".newl; 
if ($visual)  
		{ 
			echo newl." arsort output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl; 
			foreach ($visited as $Zahl => $besucht)	 
			echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach 
		} 
 
$dump_arsorted_file = true;	 
if ($dump_arsorted_file) //(4)	 
if (arsort($visited)) 
	{	 
				echo newl." Schreiben auf Datei :".linestring.__LINE__;	 
				echo newl." dump_arsorted_file (1) is on  ".linestring.__LINE__.newl; 
				echo newl. " nach arsort ok ist count (visited) = ".count ($visited). "linestring".__LINE__.newl; 
				if ($output2arsortedVisitedFile) 
				{ 
					echo newl." dump_arsorted_file is on in output2arsortedVisitedFile ".linestring.__LINE__;		 
					$arsortedFilename = 'arvisited'.$start."_".$endzahl."_".$stepWidth.'.php'; 
					$Ueberschrift = "Kette_arsorted_'$start'-'$endzahl'";					 
					echo newl." Ueberschrift = ".$Ueberschrift; 
					echo newl." output to Filename : "."arsortedFilename".linestring.__LINE__; 
					echo newl." unsorted output 2 arsortedFilenameile :".$arsortedFilename.linestring.__LINE__; 
					$fileintro = '<' . "?php
";					 
					echo newl." output to Unsortfilename : " . $arsortedFilename;					 
					$param2 = $fileintro.$Ueberschrift." = 
 "; 
					echo newl." before file_put_contents :".linestring.__LINE__; 
					echo newl." arsortedFilename = ".$arsortedFilename.newl; 
					$Bytes = file_put_contents ($arsortedFilename, $param2. " 
 ".var_export ( $visited, 1 ) . ';' ); 
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__; 
					echo newl. " nach arsort maximum = ".max($visited); 
				}		 
	} 
		else  
			echo newl." arsort failed linestring".__LINE__.newl;	 
	 
if ($ekko)  
{ 
	echo newl. " nach arsort ok ist count (visited) = ".count ($visited). "linestring".__LINE__.newl;		 
	echo newl." nach arsort count (visited) = ".count($visited)." now ksort ".linestring.__LINE__; 
	echo newl.newl." Groesse von visited is ".count ($visited).linestring.__LINE__.newl; 
} 
echo newl. " Finally Sortiere nach keys: ".linestring.__LINE__.newl; 
if ($ekko)  
{ 
	if ($visual)  
	{ 
		echo newl." ksorted output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl;			 
		foreach ($visited as $Zahl => $besucht)	echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach 
	} 
} 
$output2ksortedVisitedFile = true; 
	 
	echo  newl. " now require_once ".'kritisch.php';	 
	require_once  'kritisch.php'; 
if (ksort($visited)) 
{ 
	if ($output2ksortedVisitedFile) 
			{ 
					echo newl." Schreiben auf Datei :".linestring.__LINE__;	 
					echo newl." output2ksortedVisitedFile is on  ".linestring.__LINE__.newl; 
					$visitedname = 'visited'; 
					$ksortedFilename = 'kvisited'.$start."_".$endzahl.'.php'; 
					$Ueberschrift = "Kette_ksorted_'$start'-'$endzahl'";	 
					$Ueberschrift = "$".$ksortedFilename.'_'.$start.'-'.$endzahl.' = '; 
					echo newl." Ueberschrift = ".$Ueberschrift.linestring.__LINE__; 
					echo newl." output to visitedname : ".$ksortedFilename.newl; 
					echo newl." unsorted output2VisitedFile $start bis $endzahl :".$ksortedFilename.linestring.__LINE__; 
					$fileintro = '<' . "?php
";	 
					echo newl." output to ksortedFilename : " . $ksortedFilename; 
					$param2 = $fileintro.$Ueberschrift." = 
 "; 
					echo newl. " param2 = ".$param2.newl;	 
					echo newl. " nach ksort maximum = ".max($visited); 
					echo newl." before file_put_contents :".linestring.__LINE__; 
					$Bytes = file_put_contents ($ksortedFilename, $fileintro.$Ueberschrift." 
 ".var_export ( $visited, 1 ) . ';' ); 
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__; 
				} 
} 
 
if ($ekko) echo newl." nach ksort count (visited) = ".count ($visited). " now sort (!!!???).linestring".__LINE__;				 
echo newl." Programmende bei n = $n, i = $i ";		 
echo "num = $num von start = $start n = $n i = .$i in main Zeile ".__LINE__.newl.newl; 
echo " endzahl = ".$endzahl." stepWidth = ".$stepWidth." Edelay = ".$Edelay." Odelay = ".$Odelay." ".linestring.__LINE__.newl; 
echo newl."  i = $i n = $n next = $next n1 = $n1 counter = ".$counter." ENDE nach ksort von allem ".newl.newl;			 
echo newl.newl."  i = $i n = $n next = $next n1 = $n1 counter = ".$counter." ENDE von allem  nach ksort ".newl.newl; 
/// ENDE von allem  und main  
 
// include 'diversFunctions.php'; 
 
 
function cmp($a, $b) 
{ 
    if ($a == $b)  
	{ 
        return 0; 
    } 
    return ($a < $b) ? -1 : 1; 
} 
 
function init_cache() //  aus erzeugende43.php 
{ 
	$ekko = false; 
	if ($ekko) echo newl." actual Verzeichnis in Init_cache : ".getcwd().linestring.__LINE__; 
	global $cache; 
	$newline = "
<br />"; 
	$tempIncludePath = get_include_path(); //  g:/workspace/library/ 
	set_include_path('../../susi/lib/lib/'); 
	if ($ekko) echo newl." tempIncludePath in init_cache set to : = ".$tempIncludePath; //=  g:/workspace/library/		 
	require('Zend/Cache.php');	 
	if ($ekko)	echo $newline." init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				 
	$frontendOptions = array 
	( 
		'caching' => true 
		,'lifetime' => 720000// 200 stunden 
		,'cache_by_default' => false 
		,'cached_functions' => array ('_div','_mult','_add','__binary_search,_inarray') 
	); 
	if ($ekko) 	echo $newline." after frontendOptions in init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				 
	$backendOptions = array('cache_dir' => './data/cache/');	 
	if ($ekko) 	echo $newline." end of  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;						 
	$cache = Zend_Cache::factory ("Function", "File", $frontendOptions, $backendOptions); 
	if ($ekko) echo $newline." after cache def  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;					 
	if ($ekko) echo $newline.'cached_functions : '; 
	//print_r($frontendOptions); 
	 
	set_include_path($tempIncludePath); //reset 2 standard	 
	$tempIncludePath = get_include_path();  // g:/workspace/library/ 
	if ($ekko) echo " reset in init_cache set to : = ".$tempIncludePath; /* =  g:/workspace/library/ */		 
	if ($ekko) 	echo $newline." end of  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				 
} 
 
function _mult($x,$y) 
{ 
	$ekko = false; 
	if ($ekko) echo newl." enter normal _mult : ";	 
	return $x*$y; 
} 
 
function mult($x,$y) 
{ 
	global $cache, $cachen; 
	$ekko = false; 
	if ($ekko) echo newl." enter mult : "; 
	if ($cachen) 
	{ 
		if ($ekko) echo " cachen true, enter cache->call('_mult')"; 
		return $cache->call('_mult', array($x,$y)); 
	} 
	else { 
		return _mult($x,$y); 
	} 
} 
 
function _add($x,$y) 
{ 
	$ekko = false; 
	if ($ekko) echo newl."enter normal _add : "; 
	return $x+$y; 
} 
 
function add($x,$y) 
{ 
	global $cache, $cachen; 
	$ekko = false; 
	if ($ekko) echo newl." enter add : "; 
	if ($cachen) 
	{		 
		if ($ekko) echo " cachen true, enter cache->call('_add', array($x,$y))"; 
		return $cache->call('_add', array($x,$y)); 
	} 
	else { 
		return _add($x,$y); 
	} 
} 
function _div($x,$y) 
{ 
	return $x/$y; 
} 
function div($x,$y) 
{ 
	global $cache, $cachen; 
	if ($cachen) 
	{ 
		return $cache->call('_div', array($x,$y)); 
	} 
	else { 
		return _div($x,$y); 
	} 
} 
 
/* 
	evtl einbauen: 
	Wenn die aktuell gerade untersuchte Zahl < 3/2 * Startzahl  
	und == 2 (mod 3) ist (d.h. seit der letzten (3x+1)/2-Operation geradzahlig  
	oft zustzlich halbiert wurde), dann kann man auch abbrechen,  
	da dann auch die nun noch folgende Colatz-Teilfolge dieser  
	Zahl Teilfolge einer Zahl < der Startzahl ist. 
*/	 
 
function teststoparray($nx,$stoparray) 
{ 
			echo newl." Glide = ".$Glide.linestring.__LINE__; 
			echo newl." n1 = $nx test stop_if_in_stoparray". linestring.__LINE__.newl;		 
			$mod256 = $nx % 256; 
			echo newl.$nx." mod256 ist ".$mod256; 
			if (in_array($mod256,$stoparray)) 
			{ 
					echo newl." $nx modulo 256 = $mod256 ist in stoparray. "; 
					echo newl." positive test stop_if_in_stoparray in main Zeile ".__LINE__; 
					echo newl."Break reason 4 stoparray n1 = $nx, Modulo 256 = $mod256 in main Zeile ".__LINE__; 
					echo newl." test auf stop_if_in_stoparray positive"; 
					// exit(4); 
					$AbBruch = true; 
					$broken = 4; // true 
					return (4); // while loop n broken due to  stoparray 
			} 
					else 
			{						 
						echo newl." $nx modulo 256 = $mod256 ist not in stoparray. "; 
						return (0); 
			} 
} // stop_if_in_stoparray 
 
function check_existence($nn,$KettenFileName) 
{ 
			echo newl." now in check_existence of nn = ".$nn." KettenFileName = ".$KettenFileName;			 
			echo newl."KettenFileName = ".$KettenFileName.linestring.__LINE__.newl; 
			echo newl." nn = ".$nn.linestring.__LINE__.newl; 
			// $FullKettenFileName  = findFullKettenName($KettenFileName,$nn); 
			$FullKettenFileName  = $KettenFileName; 
			echo newl."  FullKettenFileName  = ".  $FullKettenFileName; 
			echo newl." Typ ".gettype($FullKettenFileName); 
			if (file_exists($FullKettenFileName)) 
			{ 
				echo newl." FullKettenFileName ".$FullKettenFileName." existiert !".linestring.__LINE__.newl; 
				$version = "2407.22"; 
				return true; 
			} 
				else					 
			{			 
				echo newl." FullKettenFileName  existiert noch nicht !".linestring.__LINE__; 
				return false; 
			} 
} 
function createKettenfilename($ArrayName, $nn) 
{			 
			echo " nn = ".$nn.linestring.__LINE__; 
			$KettenFileName = $ArrayName.'.php';  
			echo " KettenFileName in  createKettenfilename = ".$KettenFileName; 
			return $KettenFileName; 
} 
function createKettenContents($n,$KettenFileName) 
{ 
				$fileintro = '<' . "?php
".linestring.__LINE__; 
				echo newl." fileintro = ".$fileintro.linestring.__LINE__;				 
				echo newl." $KettenFileName = ".$KettenFileName.linestring.__LINE__;				  
				$Ueberschrift = '$'.$KettenFileName; // $Kette  ??				 
				echo newl. " Ueberschrift= ".$fileintro;											 
				echo  newl." zu benutzender pfadloser filename ist  ".$Ueberschrioft."  KettenFileName = ".$KettenFileName.linestring.__LINE__;	 
				return;				 
} 
 
function writeKette($nn, $singlchain, $outputKette, $stepWidth) 
{ 
	echo newl." in writeKette nn = ".$nn.linestring.__LINE__.newl; 
	if ($outputKette) echo newl." Fuehre aus in writeKette nn = ".$nn.linestring.__LINE__.newl; //	only if NOT (file_exists($FullKettenFileName)) 
	$slash = '/'; 
	$KettenPfad = 'ketten/'; 
	$kettenlaenge = count($singlchain); 
	echo newl." singlchain ($nn) ist ein array der Laenge ".$kettenlaenge.linestring.__LINE__.newl; 
	if ($kettenlaenge > 0) 
			{ 
				echo " kettenlaenge goesser 0, ".$kettenlaenge.linestring.__LINE__; 
					if ($outputKette) 
					{				 
						$version = 7;						 
						echo " string nn = ".$nn.linestring.__LINE__; 
						$NameOfKettenDatei = $KettenFileName = 'Kette'.$nn; 
						$KettenFileName = $NameOfKettenDatei.'.php'; 
						echo " KettenFileName = ".$KettenFileName; 
						echo " NameOfKettenDatei = ".$NameOfKettenDatei; 
						echo newl; 
						echo " KettenPfad = ".$KettenPfad; 
						$FullKettenFileName = $KettenPfad.$KettenFileName;						 
						echo newl.newl." KettenFileName  = ".$KettenFileName; 
						echo newl." FullKettenFileName  = ".$FullKettenFileName;								 
						echo newl." output dieser singlchain ($n)in datei KettenFileName = ".$KettenFileName." bei n = ".$n.linestring.__LINE__;				 
						echo newl." output 2 KettenFileName =".$FullKettenFileName; 
						echo newl." KettenFileName = ".$FullKettenFileName;				 
						echo newl." before file_put_contents to ".$FullKettenFileName." in ".getcwd().linestring.__LINE__; 
						if (file_exists($FullKettenFileName)) 
							{										  
								echo  newl." file ".$FullKettenFileName." exists schon , nicht ueberschrieben";																			  
							}	 
								else 
							{ 
									echo  newl." file ".$FullKettenFileName." exists noch nicht, also neu schreiben"; 
									echo newl." now file_put_contents to KettenFileName"; 
									$fileintro = '<' . "?php
";	 
									$Ueberschrift = '$'.$NameOfKettenDatei; // der Kette $nn  
									$Ueberschrift.=" = "; 
									echo newl." Ueberschrift = ".$Ueberschrift; 
									$Bytes = file_put_contents ($FullKettenFileName, $fileintro.$Ueberschrift. " 
 ".var_export($singlchain,1).';' ); 
									echo newl. " nach file_put_contents to ".$FullKettenFileName." wurden ".$Bytes." geschrieben ".linestring.__LINE__; 
							} 
						} 
					} 
					else { 
						echo " kettenlaenge = ".$kettenlaenge." nn = ".$nn.linestring.__LINE__; 
						die (" kettenlaenge = ".$kettenlaenge." nn = ".$nn.linestring.__LINE__.newl);						 
					} 
					 
} 
 
function findFullKettenName($KettenFileName,$nn) 
{		 
		echo newl." KettenFileName = ".$KettenFileName.linestring.__LINE__; 
		echo newl." enter findFullKettenName".linestring.__LINE__; 
		$slash = '/'; 
		$KettenPfad = 'ketten';		 
		echo newl." KettenPfad = ".$KettenPfad; 
		echo newl." nn = $nn".linestring.__LINE__; 
		$fullkettenpath = $KettenPfad.newl; 
		echo newl." KettenPfad = ".$KettenPfad.newl; 
		echo newl." fullkettenpath = ".$fullkettenpath.newl; 
		$FullKettenFileName = $KettenPfad.$slash.$KettenFileName.newl; 
		echo " FullKettenFileName = ".$FullKettenFileName." in ".__LINE__.newl; 
		return $FullKettenFileName; 
} 
 ?>

Did this file decode correctly?

Original Code

<?php

// Kollatz/public/index.php 

error_reporting ( E_ALL | E_STRICT | E_NOTICE);
set_time_limit (60); // in sekunden. 20 secs to test 2 min reicht fuer a bis  bis 1300036
ini_set('memory_limit', '4096M');
define ("newl","\n<br />"); 
define ("linestring"," in main der zeile: ");
define ("bigstring"," in Biginteger der zeile: ");
define ("localstring"," in KettenBerechnung der Zeile: ");
define ("checkstring"," in check der Zeile: ");
define ("dumpstring"," in DumpChainToFile der Zeile: ");
define ("neustring"," in neuberechnung  der Zeil : ");
define ("teststring"," in testeAufArray der zeile ");
define ("existstring"," in fileexist der Zeile: ");
define ("compstring"," in DoCompute der zeile: ");
define ("whilstring"," in whilestring der zeile: ");
define ("au3string"," in secondfactorausgabe der Zeile: ");
define ("mainstring"," in main der zeile ");
define ("mainstring"," in testX der zeile ");

$ekko = false;
$bestand = false;
$newline = "\n<br />";
$cachen = false;		
$neustart = false;
$pfaWished = false;
$primesNecesary = false;
if (false == $primesNecesary) 
	echo newl." so do NOR require secondFactorausgabe.php".linestring.__LINE__;
else
	echo newl." DO require secondFactorausgabe.php";
	
if ($cachen)
{
	init_cache();
	if ($neustart)
		{
		$cache->clean ( Zend_Cache::CLEANING_MODE_ALL );
	}
}
$dirw = 'workspace';

require_once 'secondFactorausgabe.php';
echo newl." now require OddEvenhandling.php".linestring.__LINE__;
require_once 'OddEvenhandling.php';

$ar0 = array();
$KettenDateien = array();
$ar2 = array();
$ar2 = array();
$ar3 = array();// $dir3 = "primes";

echo newl." Starting in actual Verzeichnis : ". getcwd().linestring.__LINE__;

$oldIncludePath = get_include_path();
if ($ekko) echo newl." oldIncludePath =  get_include_path() = " .$oldIncludePath.linestring.__LINE__;
if ($ekko) echo newl." actual Verzeichnis after init_cache: ". getcwd().linestring.__LINE__;

$output2KettenFile = true;
$output2VisitedFile = true;
$output2UnsortedVisitedFile = true;
$output2sortedVisitedFile = true;
$output2arsortedVisitedFile = true;
$output2ksortedVisitedFile = true;
$output2jedeKette = true;

$allfacLeseNummer = 251000;
$allfacSchreibNummer = 253000;
$allfacLeseName = 251000;
$allfacSchreibName = 251000;
$factorReadNecesary = true;
$AllowedNames = array();
$MainDirectory = 'workspace';
$WorkDirectory = 'kollatz';
$PublicDirectory = 'public';
$LibeDirectory = 'library';
$PrimDirectory = 'primes';
$Utildirectory = 'utilities';
$AllowedNames[] = $MainDirectory;
$AllowedNames[] = $WorkDirectory;
$AllowedNames[] = $PublicDirectory;
$AllowedNames[] = $LibeDirectory;
$AllowedNames[] = $PrimDirectory;
$AllowedNames[] = $Utildirectory;
$slash = '/';
//$back_slash = '\'; ??
$dir0 = './';
$dir = '../';
$dir1 = "library";
$dir2 = "utilities";
$dir3 = "primes";
$up2dir = '../../';
$UtilityPath = "../../library/utilities/";
echo newl." actual UtilityPath = ".$UtilityPath.linestring.__LINE__;
echo newl." now require ausgaben44.php".linestring.__LINE__;
require_once $UtilityPath.'ausgaben44.php';

$ThisIncludePath = $dir0;
set_include_path($up2dir.$dir0);
echo " get_include_path : ".get_include_path();
echo newl." getcwd = ".getcwd().linestring.__LINE__;

$ThisIncludePath = get_include_path();

if ($ekko) echo newl." ThisIncludePath =  get_include_path() = " .$ThisIncludePath.linestring.__LINE__;
if ($ekko) echo newl." actual Verzeichnis after init_cache: ". getcwd().linestring.__LINE__;
chdir('ketten'); // unter public
$KettenPfad = getcwd();
echo newl." KettenPfad = ".$KettenPfad.linestring.__LINE__;
chdir('..'); // und zurueck nach publc
$publicPath = getcwd(); // ueber public
echo newl." publicPath now  = ".$publicPath.linestring.__LINE__;
chdir('..'); // und ein hoeher
$mainPath = getcwd(); // ueber public
echo newl." mainPath now  = ".$mainPath.linestring.__LINE__;
$collatzPath = $mainPath;
echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__;
chdir('..'); // und ein hoeher
$workSpace = getcwd(); // ueber public
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__;
chdir($publicPath);
$actual = getcwd();

echo newl." actual Path = ".$actual.linestring.__LINE__;
echo newl." mainPath now  = ".$mainPath.linestring.__LINE__;
echo newl." publicPath now  = ".$publicPath.linestring.__LINE__;
echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__;
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__;

$ekko = false;
if ($ekko)
	{
		echo newl." scandir($KettenPfad)".linestring.__LINE__;
		if (is_dir($KettenPfad)) 
	{
		if (False!== scandir($KettenPfad))
			$KettenDateien = scandir($KettenPfad);		
		echo newl." scanned path is ".$KettenPfad.linestring.__LINE__." Now Datei_Ausgabe aller KettenDateien".newl;		
		Datei_Ausgabe($KettenDateien,1);
	}
		else 
			echo newl." scanned path ".$KettenPfad." does not exist: ".linestring.__LINE__.newl;
	}
	

echo newl." dir = ".$dir.linestring.__LINE__; // main dir
echo newl." dir0 = ".$dir0.linestring.__LINE__; // ein dir hoch
echo newl." dir1 = ".$dir1.linestring.__LINE__; 
echo newl." dir2 = ".$dir2.linestring.__LINE__;
echo newl." dir3 = ".$dir3.linestring.__LINE__;
echo newl." actual Directory: ".getcwd().linestring.__LINE__;
$actual = getcwd();
echo newl." actual Path = ".$actual.linestring.__LINE__;
echo newl."  main dir =  ".$dir.linestring.__LINE__;

if ($ekko)
{	
	echo newl." Inhalt von getcwd ".linestring.__LINE__.newl;
	if (is_dir($UtilityPath)) 
	{
		$Utilitydateien = scandir($UtilityPath);
		echo newl." scanned path is ".$UtilityPath.linestring.__LINE__.newl;	
		if ($ekko) Datei_Ausgabe($Utilitydateien,1);
	}
	else 
		echo newl." scanned path ".$UtilityPath." does not exist or empty ".linestring.__LINE__.newl;
}

$ekko = false;
echo newl." getcwd = ".getcwd().linestring.__LINE__;
$filename = $UtilityPath.'ausgaben44.php'; // in Utildirectory
echo newl. ' filename for ausgaben44 :'.$filename.linestring.__LINE__;
echo newl." Verzeichnis now : ".getcwd().linestring.__LINE__.newl;
if (file_exists($filename))
{
	echo newl.$filename." existiert in ".getcwd().linestring.__LINE__.newl;	
	echo newl." now require ".$filename;
	require_once $filename;
}
	else 		
{
		echo newl.$filename." existiert nicht ".linestring.__LINE__.newl;		
}

if (file_exists($UtilityPath.'Binary_Search.php'))
{
	echo newl." now require Binary_Search.php";
	require_once $UtilityPath.'Binary_Search.php';
}
else 
	echo newl.$UtilityPath.'Binary_Search.php'."existiert nicht ".linestring.__LINE__.newl;

if (file_exists($UtilityPath.'routines.php'))
{
	require_once $UtilityPath.'routines.php';
	echo newl." now require routines.php";
}
else 
	echo newl.$UtilityPath.'routines.php'."existiert nicht ".linestring.__LINE__.newl;

echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__;
echo newl." workSpace now  = ".$workSpace.linestring.__LINE__;
echo newl." mainPath = ".$mainPath.linestring.__LINE__;
echo newl." UtilityPath = ".$UtilityPath.linestring.__LINE__;
$pfausgabe = $workSpace.$slash.$LibeDirectory.$slash.$PrimDirectory.$slash.'PrimfaktorenAusgabe.php';
echo newl." pfausgabe = ".$pfausgabe.__LINE__.newl;
if (file_exists($pfausgabe))
{
	echo newl." now require routines.php".linestring.__LINE__.newl;
	require_once $pfausgabe;
}
else 
{	
	echo newl.$pfausgabe." existiert nicht ".linestring.__LINE__.newl;
}
if (file_exists($UtilityPath.'ausgaben44.php'))
{
	echo newl." now require ausgaben44.php";
	require_once $UtilityPath.'ausgaben44.php';
}
else 
	echo newl.$UtilityPath.'ausgaben44.php'."existiert nicht ".linestring.__LINE__.newl;

echo newl." scanning ".getcwd();
$KettenDateien = scandir($dir0);
echo newl." actual dir : ".getcwd().linestring.__LINE__;  // eine hoch
echo newl." simpleOutput Contents of actual array 1  ".linestring.__LINE__;
simpleOutput($KettenDateien);

echo newl." actual dir : ".getcwd().linestring.__LINE__; 
if ($primesNecesary) 
{
	echo newl." collatzPath now  = ".$collatzPath.linestring.__LINE__;	
	$primPath = $workSpace.$slash.$LibeDirectory.$slash.$PrimDirectory;
	if ($ekko) echo newl. " mainPath  = ".$mainPath;
	if ($ekko) echo newl. " primPath  = ".$primPath;
	if ($ekko) echo newl." workSpace now  = ".$workSpace.linestring.__LINE__;		
		if ($ekko) $PrimDateien = scandir($primPath);
		if ($ekko) echo newl." Inhalt von ".$primPath.linestring.__LINE__." = ";		
		if (is_dir($primPath)) 
		{
			echo newl." scanned primpath is ".$primPath.linestring.__LINE__;
			echo newl." Now Datei_Ausgabe Prim Dateien".linestring.__LINE__;
			if ($ekko) Datei_Ausgabe($PrimDateien,1);
		}
			else 
				echo newl." scanned path ".$primPath." does not exist: ".linestring.__LINE__.newl;	

	if ($ekko) echo newl. " mainPath  = ".$mainPath.linestring.__LINE__.newl;	
	if ($ekko) echo newl. " primPath  = ".$primPath.linestring.__LINE__.newl;
	if ($ekko) echo newl. " publibPath  = ".$publicPath.linestring.__LINE__.newl;
			
	$primVarName = $primPath.$slash.'primesTo210.php';
	
	echo newl.' primVarName  = '. $primVarName.linestring.__LINE__.newl;	
	
	echo " found primes include : ".linestring.__LINE__.newl;
	echo newl."required file = ".$primVarName.linestring.__LINE__.newl;	
	
	if (file_exists($primVarName))
	{
		echo newl.$primVarName.' existiert '.linestring.__LINE__;
		echo newl." now require 1st time ".$primVarName.linestring.__LINE__.newl;	
		require_once($primVarName);
		echo newl." Prim[1] = ".$Prim[1].linestring.__LINE__;		
	}
	else 
	{
		echo newl.$primVarName.' existiert Nicht'.linestring.__LINE__;		
	}
}

$factorReadNecesary  = false;
if ($factorReadNecesary) // no directorychange required.
{
	echo newl." actual workSpace  = ".$workSpace.linestring.__LINE__;
	if (file_exists($workSpace)) 
		echo newl.' workSpace '.$workSpace.' existiert '.linestring.__LINE__; 
	else 
	{
		 echo newl." exit ".linestring.__LINE__; 
		 exit;
	}

	echo newl." actual mainPath  = ".$mainPath.linestring.__LINE__;
	if (file_exists($mainPath)) 
		echo newl.' mainPath '.$mainPath.' existiert '.linestring.__LINE__; 
	else 
	{
		 echo newl." exit ".linestring.__LINE__; 
		 exit;
	}
	$ReadfactorDatei = $workSpace.$slash.$LibeDirectory;
	echo newl." ReadfactorDatei : ".$ReadfactorDatei.linestring.__LINE__;
	if (file_exists($ReadfactorDatei)) 
		echo newl.' ReadfactorDatei '.$ReadfactorDatei.' existiert '.linestring.__LINE__; 
	else 
	{
		echo newl." exit ".linestring.__LINE__; 
		exit; 
	}
	echo newl." ReadfactorDatei = zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__;
	$ReadfactorDatei = $ReadfactorDatei.$slash.$PrimDirectory.$slash;
	echo newl."  ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__;
	$primdir = $ReadfactorDatei;	
	echo newl."  primdir zum Lesen ist : ".$primdir.linestring.__LINE__;
	$ReadfactorDatei = $ReadfactorDatei.'primesTo210.php';	
	echo newl."  ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__;
	if (file_exists($ReadfactorDatei)) 
		echo newl.' ReadfactorDatei '.$ReadfactorDatei.' existiert '.linestring.__LINE__;
	else 
		exit;
	echo newl." ReadfactorDatei zum Lesen ist : ".$ReadfactorDatei.linestring.__LINE__;	
	echo newl."  primdir zum Lesen ist : ".$primdir.linestring.__LINE__;	 
	$ar0 = scandir($primdir);
	simpleOutput($ar0);	
	if (file_exists($primdir))
	{		
		echo newl.$ReadfactorDatei.' existiert '.linestring.__LINE__;
		 // do not require more than once ?!
		 // echo newl." now require 2nd time primdir =".$primdir.linestring.__LINE__;
		 // require_once($primdir);
	}
	else 
	{
		echo newl.$ReadfactorDatei.' existiert Nicht'.linestring.__LINE__;		
	}
	$FileforprimFaktoren = $primdir.'primFaktorenAusgabe.php'.linestring.__LINE__.newl;
	if (file_exists($FileforprimFaktoren))
		{
		echo newl.'FileforPrimFaktoren'.linestring.__LINE__.newl;		
		echo newl." now require ".FileforprimFaktoren;
		require_once $FileforprimFaktoren;
		}
			else 
		{
			echo newl.$FileforprimFaktoren.' existiert Nicht'.linestring.__LINE__;		
		}	
}

echo newl." Nun Programmstart KollatzKetten:".linestring.__LINE__.newl;
$EvenCnt = array();
$OddCnt = array();
$Kette = array();
$Kettenlaenge = array();
$start = 7; // durch 4 mod 1 teilbare Zahlen/ 4n -1, 3n - 2... or index in prime array
$endzahl = 51; // 2^24. path record (8) at 255. weitere kandidaten 27,447,639,703,60975(17)->250504. Was ist mit 3072 +27 ??
$stepWidth = 1; // alle 
$version = 'version';
$ekko = false;
echo newl." Frage nach wiederholtem auftreten von OEO Folgen der Laenge 10 oder 12 ?".mainstring.__LINE__;  
$oddLgth = 0;
$evenLgth = 0;
$OElgth = 1;
$ready = array ();
$doubleSteps = 0;
$visited = array(); 
$visitedOdds = array();
$visitedEvens = array();
$Edelay = 0;
$Odelay = 0;
echo newl." start ".$start.newl;
echo newl." endzahl  ".$endzahl.newl;
$stop_if_prime = false;
$stop_if_in_stoparray = false; // 4
if ($ekko) if ($stop_if_in_stoparray)  echo newl." stop_if_in_stoparray = case 4 ist on!";
$stoparray = array(3,5,7,11,13,19,23,29,31,37); // ungerade modulo 256
$lgthofstoparray = count($stoparray);
$KlassenZahl = 256;
$stop_if_stoptime = false; // haelt an, if next lower startzahl (glide) (1) case 1 
$continue_if_stoptime = true; 
$fallctr = 0;//  mrekt , if next lower then startzahl (glide) (1) case 1 action L statt E
$ueberschreitungsCtr = 0; // statt E ein H
if ($ekko) if ($stop_if_stoptime) echo newl." stop_if_stoptime ist on!";
if ($ekko) if ($continue_if_stoptime) echo newl." continue_if_stoptime case 6 ist on!";
$RestKlassen = array( 13, 17, 45, 65, 129, 141, 145, 173, 177, 193, 205, 241); // RestKlassen modulo KlassenZahl a la Jonas K. blindmessenger
$RestKlassenLgth = count($RestKlassen);
$stop_if_restklasse = false;
$stop_if_getting_larger = false;
$stop_if_getting_smaller_then_last = false;
$stop_if_visited = false;
$stop_if_next_odd = false; //3/5  5 1  7 11 17; 9 7 11;  13 5; 11 17 13 5;  19 29 11; 21 1; 23 35 43 65 49 37; 25 29 11 17,13,5; 27 41 31 47,71...; ,33 25,19;
$stop_if_1_mod_4 = false; //-5-9-13 
$enterFirstNumber = false;
$i = $start;
$n = $i;
$num = $endzahl - $start;

$MerkLastUnik = array(); //init empty
$HighestPoints =  array();
$UnikArray = array();


	if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
		}
	

if (function_exists('microtime_float'))
{	
	echo newl. "microtime_float existiert !".linestring.__LINE__;
	$m0 = microtime_float(); 
	echo newl." m0  = ".$m0;
	$manf = $m0;
	echo newl." manf = $manf";
}
else 
	echo newl. "microtime_float existiert nicht ".linestring.__LINE__;

$primtest = false;
if ($primtest)
		{
			echo newl.newl." Beginn des tests !! ".mainstring.__LINE__;			
			$pathToPrimeLibrary = $primPath;
			$primVarName = $pathToPrimeLibrary."primes_2_1million.php";
			$primFileName  = $primVarName;
			echo newl." primFileName= ".$primFileName.mainstring.__LINE__;
			echo newl." primVarName= ".$primVarName.mainstring.__LINE__;
			if (false == file_exists($primFileName))
				echo newl.$primFileName." existiert nicht!".mainstring.__LINE__.newl;
			else
			{
				echo newl.$primFileName." existiert !!".mainstring.__LINE__.newl;
				require_once $primFileName;
			}
			if (isset($Prim))
			{
				echo newl." Prim ist gesetzt ".mainstring.__LINE__.newl;
				if (is_array($Prim))
				{
					echo newl." Prim ist ein array ".mainstring.__LINE__.newl;
					$LngthofPrimField = count($Prim);
					echo newl." count of Prim field :".$LngthofPrimField.mainstring.__LINE__;
					$indexOflastPrimelement = $LngthofPrimField - 1;
					$lastPrimelement = $Prim[$indexOflastPrimelement];
					echo newl." index des last valid Primlement = ".$indexOflastPrimelement;		
				}
				else 
					echo newl." Prim ist kein array".mainstring.__LINE__.newl;
			}
			else 
				echo newl." Prim ist nicht gesetzt ".mainstring.__LINE__.newl;	

			echo newl." jetzt Ende des tests !|".mainstring.__LINE__;
					//exit;
} // p[rimtest

$highestEven = 0;
$highestOdd = 0;
$KettExits = array();
echo newl." Now starting with ".$start." endzahl = ".$endzahl.linestring.__LINE__;

if ($bestand)
	{
		include 'uniq.php'; // neu 7.6.24			
		echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
		foreach ($visited as $key => $value) echo " | ".$value; // foreach
	}
	

echo newl." n = ".$n." i  = ".$i." start = ".$start.linestring.__LINE__;	
$actionctr = 0 ;
$counter = 0;
if (isset($oddchain))
			{	
					echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl;
					if (is_array($oddchain)) 
						verysimpleOutput ($oddchain);
				
			}
				else echo newl." oddchain ist kain array ".linestring.__LINE__.newl;

try 
{
	if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
		}
	$OEString = '';	// OEOEOEEOEOEEE...		resetten	
	echo newl. " Start der Schleife ueber alle i  to ".$endzahl.linestring.__LINE__;	
	echo newl." starting i = ".$i.linestring.__LINE__;	
	$newWritten = 0;
	$notnewWritten = 0;
	$leerstring = "";	
	echo newl." START der while loop start: ".$start." endzahl: ".$endzahl.linestring.__LINE__;	
	$m = $start - 1;
	echo  newl." Before main while :  ".linestring.__LINE__;
	echo  newl." m = ".$m.linestring.__LINE__;
	echo  newl." n = ".$n.linestring.__LINE__;	
	echo  newl." i = ".$i.linestring.__LINE__;	
	echo  newl." start = ".$start.linestring.__LINE__;	
	$whilectr = 0;
	$AbBruch = false;
	while (($i < $endzahl) && ($whilectr < 100) && (!$AbBruch)) // main execu7tion loop
	{
			echo newl." starting while i = ".$i.linestring.__LINE__.newl;		
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
			}
			
				
				$n1 = $i; // !!++??
				echo newl. " NOW started to try with n = ".$n." i = ".$i." , n1 = ".$n1." start = ".$start.linestring.__LINE__;
				$whilectr++;
				$nn = sprintf("%05d", $n, $stepWidth);		
				echo newl." In while i <endzahl : n1 = ".$n1." start = ".$start." n = "." i = ".$i." n1 = "." nn = ".$nn." whilectr = ".$whilectr.linestring.__LINE__;		
				echo newl." neues i = ".$i.linestring.__LINE__;
				echo newl." neues n = ".$n.linestring.__LINE__;
				echo newl." neues nn: ".$nn;		
				echo newl."  Vorbereitung fuer n = ".$n.linestring.__LINE__;		
				echo newl." Vor testX ".linestring.__LINE__;
				//	Include 'testX.php';			 
				
					//  finde array Kette00nnn in Pfad ketten/Kette00nnn.php				

					echo newl." Start of include testX n = ".$n.mainstring.__LINE__.newl;			
					
					$n4 = sprintf("%04d", $n, $stepWidth);		 
					$n5 = sprintf("%05d", $n, $stepWidth);		 
					echo newl." n4 = ".$n4.mainstring.__LINE__;
					echo newl." n5 = ".$n5.mainstring.__LINE__;	
					$NameOfKettenPfad = 'ketten';	 // Name des Pfades Gross L
					echo newl." NameOfKettenPfad = ".$NameOfKettenPfad.mainstring.__LINE__;
					$KettenFileName = 'ketten'.$slash.'Kette'.$n5.'.php';
					$ArrayName =  'Kette'.$n5;	//Kette0007
					echo newl." KettenFileName to require is ".$KettenFileName.mainstring.__LINE__;
					echo newl." ArrayName to require is ".$ArrayName.mainstring.__LINE__;
					echo newl." now require 1st time KettenFileName : ".$KettenFileName.mainstring.__LINE__;			
					if (file_exists($KettenFileName))									
					{
						echo newl.$KettenFileName." existiert in  ".$NameOfKettenPfad.mainstring.__LINE__;
						
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
						
						if (require_once($KettenFileName))
						{
							echo newl." after requiring KettenFileName ".$KettenFileName.mainstring.__LINE__;
							echo newl.$KettenFileName.' existiert and was required once'.mainstring.__LINE__;
							echo newl." ArrayName = ".$ArrayName.mainstring.__LINE__;	
							$Namen = $$ArrayName;
							xfache_Ausgabe($Namen);
							echo newl.$KettenFileName." ist OK ".mainstring.__LINE__;					
							$dieseKette = 'Kette'.$n5;				
							echo newl." dieseKette = ". $dieseKette.mainstring.__LINE__;
							echo newl." KettenFileName = ". $KettenFileName.mainstring.__LINE__;
							echo  newl." Namen ".'$Namen'." ist ein aray und  existiert !".mainstring.__LINE__.newl;
							$KettExits[$n] = true; // = 1					
							echo  newl." ArrayName = ".$ArrayName.mainstring.__LINE__.newl;					
							$highestpoint = max($Namen);
							$HighestPoints[$n] = $highestpoint;					
							echo  newl." highestpoint von $ArrayName = ".$highestpoint.mainstring.__LINE__.newl;					
							verysimpleOutput($Namen);
							echo  newl." Laenge von Namen bzw. ArrayName ost : ".count ($Namen);
							echo  newl." Laenge von visited vor merge ist : ".count ($visited);	
							$visited = array_merge($visited, $Namen);			
							echo  newl." Hier vor  Merge visited ".$n." is ".mainstring.__LINE__.newl;
							verysimpleOutput($visited);						
							echo  newl." Laenge von visited count_visited vor merge : ".count ($visited);
							$UnikArray = array_unique($visited);
							echo  newl." Hier UnikArray bei n = ".$n." befreit von doppelten :";
							verysimpleOutput($UnikArray);
							echo  newl." Laenge von UnikArray nachmerge  : ".count ($UnikArray);
							sort($UnikArray);
							echo  newl." Hier UnikArray befreit and sorted :".mainstring.__LINE__;					
							echo  newl." Laenge von UnikArray nach sort ist : ".count ($UnikArray).mainstring.__LINE__.newl;
							echo  newl." UnikArray  ist : ".mainstring.__LINE__.newl;
							verysimpleOutput($UnikArray);					
							$DifferenceFeld = array_diff($UnikArray,$MerkLastUnik);
							$cdiff = count($DifferenceFeld);
							echo  newl." m = ".$m.mainstring.__LINE__;
							echo  newl." n = ".$n.mainstring.__LINE__;
							echo  newl. " diff is ".$cdiff.mainstring.__LINE__.newl;
							if ($cdiff < 1)
							{
								echo  newl." Das DifferenceFeld zwischen $m und $n ist LEER!".mainstring.__LINE__;
								echo  newl." m = ".$m.mainstring.__LINE__;
								echo  newl." n = ".$n.mainstring.__LINE__;
							}
							
							else 
							{						
								echo  newl." Das DifferenceFeld zwischen m und n ist Nicht LEER!".mainstring.__LINE__;
								echo  newl." m = ".$m.mainstring.__LINE__;
								echo  newl." n = ".$n.mainstring.__LINE__;
								echo  newl. " DifferenzLaenge is ".$cdiff.mainstring.__LINE__.newl;
								echo  newl. " Und das DifferenceFeld ist ".newl." ( ";
								verysimpleOutput($DifferenceFeld);			
								echo " ) ".mainstring.__LINE__.newl;						
								echo newl." Nun ersetze ".$m." durch aktuelles :".$n.mainstring.__LINE__.newl;
								$m = $n; 
								echo  newl." m = ".$m.mainstring.__LINE__;
								echo  newl." n = ".$n.mainstring.__LINE__;						
								$MerkLastUnik = $UnikArray;
								echo  newl." Am Ende von test and insert requiredDatei KettenFileName ".$KettenFileName." ArrayName :".$ArrayName.mainstring.__LINE__,newl;
							}
							$MerkLastUnik = $UnikArray;
						}
							else 
						{
								echo newl.$KettenFileName.' cannot be required'.mainstring.__LINE__;
								$KettExits[$n] = 0; // false
								echo  newl." Kein require moeglich required datei KettenFileName ".$KettenFileName.mainstring.__LINE__,newl;
						}
						
					}
						else				
					{
							echo newl.$KettenFileName." existiert NICHT in  ".$NameOfKettenPfad.mainstring.__LINE__;
							$KettExits[$n] = 0; // false
					}
				
				echo newl." Nach testX ".linestring.__LINE__;
				
				 // ende der  checkexistence if test, and require /ketten/kettexxxxx.pgp
				
				$ArrayName = 'Kette'.$n5;
				$DateiName = $ArrayName.'.php';
				echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__;
				echo  newl. " DateiName : ".$DateiName.linestring.__LINE__;
				echo  newl. " dieses directory = ".  getcwd().linestring.__LINE__;	
				echo newl." ending endzahl = ".$endzahl.linestring.__LINE__;		
				echo newl. "  n1 = ".$n1." start = ".$start." n = ".$n." nn = ".$nn." endzahl = ".linestring.__LINE__;
				echo newl." laufende Zahl n : ".$n." endzahl = ".$endzahl.linestring.__LINE__.newl;
				$singlchain = array();
				$KettenPfad = 'ketten/'; // unter  public
				echo newl." KettenPfad  = ".$KettenPfad.linestring.__LINE__;		
				$NameOfKettenDatei = 'Kette'; // Name der erzeugten Kette		
				$ArrayName = $NameOfKettenDatei.$nn; //ohne endung php
				$NameOfKettenDatei = $ArrayName.'.php';
				echo newl." NameOfKettenDatei = ".$NameOfKettenDatei;
				echo newl." ArrayName = ".$ArrayName;
				if ($ekko) echo newl." later output2KettenFile".linestring.__LINE__.newl;
				$KettenFileName = $NameOfKettenDatei;
				echo newl." KettenPfad = ".$KettenPfad;
				echo newl." KettenFileName = ".$KettenFileName;
				$FullKettenFileName =  $KettenPfad.$KettenFileName;
				echo  newl." ( 628 )FullKettenFileName = ".$FullKettenFileName;		
				if (file_exists($FullKettenFileName))
				{
					echo  newl." ( 631 )FullKettenFileName ".$KettenFileName." existiert bereits in ".$KettenPfad;
				}
					else
				{
					echo  newl." ( 635 )FullKettenFileName ".$KettenFileName." existiert NICHT in ".$KettenPfad;
				}
				echo  newl." now check_existence of n = ".$n." nn = ".$nn." n1 = ".$n1." start = ".$start." n = ".$n." endzahl = ".$endzahl.linestring.__LINE__;		
				echo  newl." Momentane KettExits-Schlange :".linestring.__LINE__;		 
				tfache_Ausgabe ($KettExits);
				echo  newl." Vor Bilden der neuen Kette $n5 bei n = $n :".linestring.__LINE__;		
				echo newl." KettExits[$n] = ".$KettExits[$n];
				if (false == $KettExits[$n])       // wenn 0,...... dann hier weiter, kreiere Kette.$nn5.	WO endet das?		
				{
					echo  newl." ( 644 )n1 = ".$n1." Bilden der Kette ".$n5." weil FullKettenFileName ".$FullKettenFileName." noch nicht existiert ".linestring.__LINE__;
					echo  newl." Beim Bilden der neuen Kette $n5 :".linestring.__LINE__;		 
					echo  newl." starte wenn DateiName ".$DateiName." (noch) nicht existiert ".linestring.__LINE__;		 
					$dumpKette = true;
					echo  newl." file ".$FullKettenFileName." existiert noch nicht, erzeugen und schreiben".linestring.__LINE__;
					$newaction = "";			
					$n1 = $n; // einleitung
					echo newl." neues n1 = ".$n1.linestring.__LINE__;
					$singlchain[] = $n1;
					$steps = 0;
					$esteps = 0;
					$osteps = 0;
					echo newl." steps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__;
					echo newl." esteps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__;
					echo newl." osteps wurde gesetzt auf 0 bei n = $n , n1 = $n1 ".linestring.__LINE__;			
					if ($leerstring == $OEString) 
					{
						echo " OEString leerstring".linestring.__LINE__;
						$OeSlgth = 0;
					}
					else
					{
						$OeSlgth = strlen($OEstring);
						echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__;
					}
					if (isset($HLstring))
					{
						if ($leerstring == $HLstring) 
						{
							echo newl." HLstring extern ist leerstring".linestring.__LINE__;
							$HLlgth = 0;
						}
						else
						{
							$HLlgth =  strlen($OEstring);
							echo newl." laenge des OEString ".$HLlgth.linestring.__LINE__;
						}
					}
					else 
						echo newl." HLstring extern is not set".linestring.__LINE__;
					
					echo newl." n1 = ".$n1. linestring.__LINE__. " counter = ".$counter.linestring.__LINE__;
					if ($ekko) echo newl." starting n  = ".$n."  n1 = ".$n1.linestring.__LINE__.newl;
					$HLstring = $leerstring;
					echo " HLstring extern leerstring".linestring.__LINE__;
					$OEstring = $leerstring;
					$HLstring = $leerstring;			
					$Glide = 0; //??
					$warteAufUeberSchreitung = true; // merke auf next  > n
					$warteAufUnterschreitung = true; // merke auf next  < n
					$highestpoint = $n;
					$HighestPoints[$n] = $highestpoint;
					echo newl." before the first step highestpoint bei n = ".$n." = ".$highestpoint.linestring.__LINE__.newl;			
					if ($leerstring == $OEString) 
					{
						echo " OEString extern ist leer ".linestring.__LINE__;
						$OeSlgth = 0;
					}
					else
					{
						$OeSlgth = strlen($OEstring);
						echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__;
					}		
					if ($leerstring == $HLstring) 
					{
						echo newl." HLstring extern ist leer ".linestring.__LINE__;
						$HLlgth = 0;
					}
					else
					{
						$HLlgth =  strlen($OEstring);
						echo newl." laenge des OEString ".$HLlgth.linestring.__LINE__;
					}		
					$next = $endzahl;
					echo newl." n = ".$n." starting inner while loop for n = ".$n.linestring.__LINE__;
					echo newl." hier endzahl = ".$endzahl." to initialize inner while loop ".linestring.__LINE__.newl;
					
					 /// BLock while next:
					 
					echo newl." Before Include whilenext.php".linestring.__LINE__;
					
					//include 'whilenext.php'; // neu 27.8.24			
					
		// Part of Kollatz/public/index.php 

					echo newl." Start of include whilenext n = ".$n.linestring.__LINE__.newl;
					$broken = false;
					$AbBruch = false;
					echo newl." Start of while next > 1 and  whilect2 < 100= ".$n.linestring.__LINE__.newl;
					$whilect2 = 0;
					$OddEvenCtr = 0;
					echo newl." before while next= ".$next."n = ".$n." n1 = ".$n1.linestring.__LINE__;						
					while (($next > 1) && ($whilect2 < 100)) // wenn next  =1 breche ab
					{
						echo newl." starting n = ".$n.linestring.__LINE__.newl;
						if ($bestand)
						{
							include 'uniq.php'; // neu 7.6.24			
							echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
							foreach ($visited as $key => $value) echo " | ".$value; // foreach
						}
						$whilect2++;
						echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__;
						echo newl." Starting with n = ".$n." steps = ".$steps."  n1 = ".$n1.linestring.__LINE__;
						echo newl." Start verysimpleOutput of Kette ($n), Glide  = ".$Glide.' n = '.$n.linestring.__LINE__;				
						echo newl." Verlaengere visited und visitedOdds und visitedEvens, n1 = ".$n1.linestring.__LINE__;
						$visited[] = $n1;	
						echo newl." KettExits[$n] = ".$KettExits[$n].linestring.__LINE__;				
						if (!(isset($KettExits[$n])))    // noch kein Eintrag in abgearbeiteter List(//if(false oder 0 == //$KettExits[$n]))					
						{
							echo newl." noch kein Eintrag fuer n =".$n.linestring.__LINE__;
							$OddEvenCtr++;
							echo newl.$OddEvenCtr."ter Aufruf OddEven ".linestring.__LINE__.newl;// find the funtion OddEven //inOddEvenhandling
							  /// Nur Collatz compute if not KettExits Kette.$n4 oder $n5 !
							 echo " mit n= $n n1 = $n1, next  = $next ".linestring.__LINE__.newl;					
							  // Immer 1 Schritt:
							$nextList = OddEven($n,$n1,$OEString, $HLstring, $Glide, $warteAufUnterschreitung, $warteAufUeberSchreitung, $visitedOdds, $visitedEvens, $osteps, $esteps, $singlchain, $oddchain,$newaction,$stop_if_stoptime, false);
							echo newl ." var+dump nextlist".linestring.__LINE__.newl;
							var_dump($nextList);
							$nnext = $nextList[0];	
							$next = $nnext;
							$Hgesetzt = $nextList[1];	
							$Lgesetzt = $nextList[2];
							echo newl." after: ".$OddEvenCtr."ter Aufruf OddEven ".linestring.__LINE__;	
							// find the funtion OddEven in OddEvenhandling
							if ($ekko) 
							{
								if($warteAufUnterschreitung) 
									echo newl." warteAufUnterschreitung ist true ".linestring.__LINE__;
								else 
									echo newl." warteAufUnterschreitung ist false ".linestring.__LINE__;
								if($warteAufUeberSchreitung) 
									echo newl." warteAufUeberSchreitung ist true ".linestring.__LINE__;
								else 
									echo newl." warteAufUeberSchreitung ist false ".linestring.__LINE__;
							}					
							echo " mit n= $n n1 = $n1, next  = $next ".linestring.__LINE__;
							echo newl." Back in main nnext = ".$nnext.linestring.__LINE__;
							if ($nnext !== 0) // aus Returned
							{
								echo newl." n = ".$n." n1 = ".$n1." next = ".$next.linestring.__LINE__;
								$next = $nnext;				
								if ($Lgesetzt) 
								{
									echo newl."  L  gesetzt !".linestring.__LINE__;				
									$HLstring .= 'L';
									echo newl." HLstring extern ".$HLstring.linestring.__LINE__;					
									echo newl." warte Auf UeberSchreitung ".linestring.__LINE__;
									$warteAufUnterschreitung = false;
									$warteAufUeberSchreitung = true;
								}
								else	
								{
									echo newl."  L Nicht gesetzt !".linestring.__LINE__;				
									echo newl." HLstring extern  ".$HLstring.linestring.__LINE__;					
								}
								if ($Hgesetzt)
								{
									echo newl." H gesetzt ! vorher : ".$HLstring.linestring.__LINE__;					
									$HLstring .= 'H';
									echo newl." H gesetzt ! nachher : ".$HLstring.linestring.__LINE__;				
									echo newl."  HLstring extern ".$HLstring.linestring.__LINE__;				
									echo newl." warte Auf Unterschreitung ".linestring.__LINE__;
									$warteAufUnterschreitung = true;
									$warteAufUeberSchreitung = false;					
								}
								else
								{					
									echo newl." H Nicht gesetzt !".linestring.__LINE__;
									echo newl." HLstring extern ".$HLstring.linestring.__LINE__;					
								}	
							}			 // nnext not zero
							echo newl."HLstring extern ".$HLstring .linestring.__LINE__;
							echo newl."OEstring extern ".$OEString.linestring.__LINE__;				
							echo newl."nach call OddEven next is ".$next." n1=".$n1." newaction= ".$newaction.linestring.__LINE__;					
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
							if ($stop_if_visited)
							{
								echo newl." stop_if_visited gesetzt denn ".$next." ist in visitedEvens !".linestring.__LINE__.newl;
								if ($newaction == "O")
								{
									if (in_array($next,$visitedEvens))
										echo newl." nach odd action ".$next." ist in visitedEvens !".linestring.__LINE__.newl;
								}
								else // newaction even 
								{
									if (in_array($next,$visitedOdds))
									{
									echo newl."stop_if_visited nach even action ".$next." ist in visitedOdds !".linestring.__LINE__.newl;
									echo newl." stop_if_visited was set, so break while! ".linestring.__LINE__.newl;		
									$broken = true;
									$Edelay = simpleValueOutput($visitedOdds);
									$AbBruch = true;
									}
									else 
										if (in_array($next,$visitedEvens))
										{
										 echo newl." stop_if_visited was set, so break while! ".linestring.__LINE__.newl;
										 $AbBruch = true;
										 $broken = true;
										 echo newl." break  match nach even action ".$next." is ";
										 echo "already in visitedEvens: !".linestring.__LINE__.newl;
										 $Edelay = simpleValueOutput($visitedEvens);
										 $AbBruch = true;
										}
								}
							}
							else
								echo newl." stop_if_visited NICHT gesetzt ".linestring.__LINE__.newl;
								
							if  ($next > $highestpoint) 
							{
								$highestpoint = $next;	
								$HighestPoints[$n] = $highestpoint;
							}
							echo newl."  highestpoint bei n = ".$n." = ".$highestpoint.linestring.__LINE__.newl;
							if ($leerstring == $OEString) 
							{
								echo " OEString ist ein leerstring ".linestring.__LINE__;
								$OeSlgth = 0;
							}
							else
							{
								$OeSlgth = strlen($OEstring);
								echo newl." laenge des OEString ".$OeSlgth.linestring.__LINE__;
							}		
							if ($leerstring == $HLstring) 
							{	
								echo " HLstring extern ist leerstring".linestring.__LINE__;
								$HLlgth = 0;
							}
							else
							{
								$HLlgth =  strlen($HLstring);
								echo newl." laenge des HLstring extern > 0 : ".$HLlgth.linestring.__LINE__;
							}				
							echo newl." HLstring extern ".$HLstring.linestring.__LINE__;
							echo newl." nach odd even decision next =".$next." schon in singlchain".linestring.__LINE__;					
							$Delay = simpleValueOutput($singlchain);				
							echo newl." nach OE decision newaction = ".$newaction." Delay = ".$Delay.linestring.__LINE__;
							echo newl." n1 = ".$n1." next = ".$next." n = ".$n.linestring.__LINE__;
							echo newl." HLstring extern ".$HLstring.$leerstring.linestring.__LINE__;
							if ($HLstring == $leerstring)
							{
								echo newl." HLstring extern ist noch leer".linestring.__LINE__;
							}
							else
							{
								echo " ( 890 )var_dump(HLstring) : "; 
								var_dump($HLstring);}
								echo newl." ( 892 )HLstring extern = ".$HLstring;					
								$HLstring.= $leerstring; //?!
								if ($ekko) 
								{
									echo " ( 896 )var_dump(HLstring) "; 
									var_dump($HLstring);
								}
								echo newl." ( 899 )HLstring extern = ".$HLstring;
								$HLlgth = strlen($HLstring);
								echo newl." ( 901 )Laenge des HLstring extern nun ".$HLlgth;
								if ($ekko) 
								{
									echo " ( 904 ) var_dump(HLstring) "; 
									var_dump($HLstring);
								}
							}
							if ($OEstring = $leerstring)
									echo newl." OEstring leer".linestring.__LINE__;
							else
							{
								echo newl." OEstring = ".$OEString.linestring.__LINE__;
								$OeSlgth = strlen($OEString);
								echo newl." Laenge des OEStrings nun ".$OeSlgth.linestring.__LINE__;				
							}					
							$steps ++;
							echo newl." steps wurde erhoeht auf $steps bei n = $n , n1 = $n1 ".linestring.__LINE__;
							echo newl." ksorted Ausgabe der besuchten ungeraden : ".linestring.__LINE__.newl;
							ksort($visitedOdds);
							$Odelay = simpleOutput($visitedOdds);
							echo newl." ungerade Zahlen after simpleOutput von n = ".$n." n1 = ".$n1." sind :".$Odelay.linestring.__LINE__;			
							echo newl." nach OE decision (n= $n, n1 =$n1 next = $next) alle besuchten Zahlen ksorted : ".linestring.__LINE__.newl;
							ksort($visited);
							$Delay =  simpleOutput($visited);			
							echo newl." nach OE decision (n= $n, n1 = $n1 next = $next) alle besuchten Zahlen ksorted : ".linestring.__LINE__.newl;
							echo newl.newl." visited unsortiert :  (n= $n, n1 = ".$n1." next = ".$next.") alle besuchten Zahlen : ".linestring.__LINE__.newl;
							echo " Komplette kette ($n) after simpleOutput der gezaehlten Laenge steps = ".$steps." n1 = ".$n1." Delay :".$Delay." Glide ".$Glide.linestring.__LINE__.newl;
							echo "OEString = ".$OEString.linestring.__LINE__.newl;								
							echo newl." naechstes next  = ".$next.linestring.__LINE__;					
							if ($ekko) echo newl." nach letzter decision ".$newaction." auf ($n1) ist next = ".$next.linestring.__LINE__;			
							if ($ekko) echo newl."OEString = ".$OEString.linestring.__LINE__.newl;
							$counter ++;			
							echo newl." Anzahl aller Schritte ist ".$counter.linestring.__LINE__;			
							echo newl." n1 ist noch ".$n1.linestring.__LINE__;				
							echo newl." n ist ".$n.linestring.__LINE__;			
							echo newl." last action was  ".$newaction.linestring.__LINE__.newl;			
							echo newl." next = ".$next.linestring.__LINE__;
							$n1 = $next;
							echo newl."  new n1 = ".$n1." n = ".$n.linestring.__LINE__;					
							echo newl." nach newaction ".$newaction.linestring.__LINE__;					
							echo newl." esteps erhoeht auf ".$esteps.linestring.__LINE__;
							echo newl." osteps erhoeht auf ".$osteps.linestring.__LINE__." simpleOutput of singlchain :".newl;
							$Delay = verysimpleOutput($singlchain);
							echo newl." Delay = Laenge singlchain : ".$Delay." end of inner while simpleValueOutput of Kette ($n)";
							echo " steps = ".$steps." n = $n, n1 = ".$n1.linestring.__LINE__;
							echo newl." Ende inner loop n = ".$n." Delay der Kette ($n) ist ".$Delay." next = ".$next." Glide = ".$Glide." Delay = ".$Delay.linestring.__LINE__;
							echo newl." End of 1 step in inner loop of $n next = ".$next.linestring.__LINE__;				
							echo newl." end while n= ".$n." loop wobei next= ".$next. "n1 = ".$n1." whilect2 = " .$whilect2.linestring.__LINE__;
							$n += $stepWidth;		
							$i += $stepWidth;
							echo newl." ( 946 ) n erhoeht auf ".$n;
							echo newl." ( 947 ) i erhoeht auf ".$i;
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
							echo newl." ende while next >1, n erhoeht auf ".$n." i erhoeht auf ".$i.linestring.__LINE__;					
				} // while ($next > 1) ????
						

			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
					
					if ($broken)  echo newl." broken was set at next = ".$next.linestring.__LINE__;
					if ($AbBruch)  echo newl." AbBruch was set at next = ".$next.linestring.__LINE__;
					echo newl." after while next ($next > 1) next ist ".$next." whilect2 = " .$whilect2.linestring.__LINE__;			
					echo newl." after end of n = ".$n.linestring.__LINE__;
					echo newl." next = ".$next.linestring.__LINE__;			
					$n1 = $next;
					echo newl." n1 nun = ".$n1.linestring.__LINE__;			 
					echo newl."  FullKettenFileName ".$FullKettenFileName.localstring.__LINE__;
					echo newl."  ArrayName ".$ArrayName.localstring.__LINE__;
					echo newl." singlchain $n bis jetzt : ".linestring.__LINE__;
					echo newl." bei next = ".$next." do simpleValueOutput(singlchain)".linestring.__LINE__.newl;
					$Delay = verysimpleOutput($singlchain);
					echo newl." uebernehem ArrayName aus singlchain".linestring.__LINE__;			
					$Namen = $DateiName;
					xfache_Ausgabe($Namen);
					$Namen = $singlchain;
					echo newl." Namen bei n =".$n.linestring.__LINE__.newl;
					xfache_Ausgabe($Namen);
					echo newl." after end of n = ".$n." Ausgabe aller visited: ".linestring.__LINE__.newl;
					$vlgth = verysimpleOutput($visited);
					echo newl." after end of n = ".$n." Ausgabe des FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__.newl;
					$algth = verysimpleOutput($Namen);
					echo newl." algth =".$algth." nach Inner while loop of FullKettenFileName ".$n.linestring.__LINE__.newl;
					$Delay = verysimpleOutput($singlchain);			
					if (isset($Delay)) echo newl." delay now : ".$Delay.linestring.__LINE__.newl;
					echo newl." Finally after while next n = ".$n." n1 = ".$n1," counter = ".$counter." Delay = ".$Delay." Glide = ".$Glide.newl."  ".linestring.__LINE__.newl;
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
					
					if (isset($oddchain))
						{
							echo newl." dump{oddchain}".linestring.__LINE__.newl;					
							echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl;
							if (is_array($oddchain)) 
								verysimpleOutput ($oddchain);			
						}
							else 
								echo newl." oddchain ist nicht geseetzt".linestring.__LINE__.newl;
							
					echo newl." after inner while, now n = ".$n." i = ".$i." next = ".$next." n1 = ".$n1.linestring.__LINE__.newl;
					echo newl." highestpoint = ".$highestpoint.linestring.__LINE__.newl;
					echo newl." Ende eines n = ".$n.linestring.__LINE__.newl;			
					echo newl." Ende Kette singlchain($n),n = ".$n." n1 = ".$n1." Delay = ".$Delay;
					echo newl." OEString = ".$OEString.linestring.__LINE__;
					echo newl." HLstring extern = ".$HLstring.$leerstring.linestring.__LINE__;
					echo newl." ended n = $n and i = $i n1 = $n1  bei next = $next ".linestring.__LINE__.newl;			
					echo newl." Glide = ".$Glide.linestring.__LINE__.newl.linestring.__LINE__.newl;			
					if (is_array($Namen))
					{
							echo newl." singlchain ".$n." oder Namen ist bis jetzt ein array der Laenge ".$Delay.linestring.__LINE__;
							if (count($Namen) > 0)
							{
								if (function_exists('simpleValueOutput')) $Delay = simpleValueOutput($Namen);
									else	 
										echo newl." no function exists('simpleValueOutput') of Namen ".$DateiName.linestring.__LINE__;	// Ende  n1		
							}
							else 
								echo newl." singlchain ($n) ist zu kurz ".linestring.__LINE__;
							$Delay = verysimpleOutput($Namen);	
							echo newl." ausgabe CollatzKette($n) der gemessenen Laenge Delay = ".$Delay."  n1 = ".$n1.linestring.__LINE__;	
							echo newl." Namen ($n) is an array der Laenge ".$Delay.linestring.__LINE__.newl;		
							
							// Hier OddEvenhandling
					}
						else  // Kette ..... existiert im Directory Kettenpfad :
					{
						echo newl." Kette ".$n."existiert :".linestring.__LINE__;
						echo newl." and was already required ".$FullKettenFileName.linestring.__LINE__;
						echo  newl." DateiName ".$DateiName." ist kein array !!".linestring.__LINE__;				
						echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__;
						echo  newl. " DateiNamee : ".$DateiName.linestring.__LINE__,newl.newl;				
						echo  newl. " FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__;				
							// was dann?? exit;??				
						include 'rest2.php';  // Hier nehme existierende komplette Kettexxxxx
					 }  // Kette ..... existiert in Kettenpfad:
					 echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__;
					 
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
					
					echo newl." Am Ende der while next > 1, next = $next, n = $n , n1 = $n1 ".linestring.__LINE__.newl;
					echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__;
				} // while next > 1			
					
					echo newl." After Include whilenext.php".linestring.__LINE__.newl;
					echo newl." after while next ($next > 1) next ist ".$next." whilect2 = " .$whilect2.linestring.__LINE__;			
					foreach ($visited as $key => $value) echo " | ".$value; // foreach				
					if ($broken)  echo newl." broken was set at next = ".$next.linestring.__LINE__;
					if ($AbBruch)  echo newl." AbBruch was set at next = ".$next.linestring.__LINE__;			
					echo newl." after end of n = ".$n.linestring.__LINE__;
					echo newl." next = ".$next.linestring.__LINE__;			
					$n1 = $next; // neuer wert
					echo newl." n1 nun = ".$n1.linestring.__LINE__;			 
					echo newl."  FullKettenFileName ".$FullKettenFileName.localstring.__LINE__;
					echo newl."  ArrayName ".$ArrayName.localstring.__LINE__;
					echo newl." singlchain $n bis jetzt : ".linestring.__LINE__;
					echo newl." bei next = ".$next." do simpleValueOutput(singlchain)".linestring.__LINE__.newl;
					$Delay = verysimpleOutput($singlchain);
					echo newl." uebernehem ArrayName aus singlchain".linestring.__LINE__;			
					$Namen = $DateiName;
					xfache_Ausgabe($Namen);
					$Namen = $singlchain;
					echo newl." Namen bei n =".$n.linestring.__LINE__.newl;
					xfache_Ausgabe($Namen);
					echo newl." after end of n = ".$n." Ausgabe aller visited: ".linestring.__LINE__.newl;
					$vlgth = verysimpleOutput($visited);
					echo newl." after end of n = ".$n." Ausgabe des FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__.newl;
					$algth = verysimpleOutput($Namen);
					echo newl." algth =".$algth." nach Inner while loop of FullKettenFileName ".$n.linestring.__LINE__.newl;
					$Delay = verysimpleOutput($singlchain);			
					if (isset($Delay)) echo newl." delay now : ".$Delay.linestring.__LINE__.newl;
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}
					
					if (isset($oddchain))
						{
							echo newl." dump{oddchain}".linestring.__LINE__.newl;					
							echo newl." Finally verysimpleOutput(oddchain)".linestring.__LINE__.newl;
							if (is_array($oddchain)) 
								verysimpleOutput ($oddchain);			
						}
							else 
								echo newl." oddchain ist nicht geseetzt".linestring.__LINE__.newl;
							
					echo newl." after inner while, now n = ".$n." i = ".$i." next = ".$next." n1 = ".$n1.linestring.__LINE__.newl;
					echo newl." highestpoint = ".$highestpoint.linestring.__LINE__.newl;
					echo newl." Ende eines n = ".$n.linestring.__LINE__.newl;			
					echo newl." Ende Kette singlchain($n),n = ".$n." n1 = ".$n1." Delay = ".$Delay;
					echo newl." OEString = ".$OEString.linestring.__LINE__;
					echo newl." HLstring extern = ".$HLstring.$leerstring.linestring.__LINE__;
					echo newl." ended n = $n and i = $i n1 = $n1  bei next = $next ".linestring.__LINE__.newl;			
					echo newl." Glide = ".$Glide.linestring.__LINE__.newl.linestring.__LINE__.newl;			
					if (is_array($Namen))
					{
							echo newl." singlchain ".$n." oder Namen ist bis jetzt ein array der Laenge ".$Delay.linestring.__LINE__;
							if (count($Namen) > 0)
							{
								if (function_exists('simpleValueOutput')) $Delay = simpleValueOutput($Namen);
									else	 
										echo newl." no function exists('simpleValueOutput') of Namen ".$DateiName.linestring.__LINE__;	// Ende  n1		
							}
							else 
								echo newl." singlchain ($n) ist zu kurz ".linestring.__LINE__;
							$Delay = verysimpleOutput($Namen);	
							echo newl." ausgabe CollatzKette($n) der gemessenen Laenge Delay = ".$Delay."  n1 = ".$n1.linestring.__LINE__;	
							echo newl." Namen ($n) is an array der Laenge ".$Delay.linestring.__LINE__.newl;		
							
							// Hier OddEvenhandling
					}
						else  // Kette ..... existiert im Directory KettenPfad :
					{
						echo newl." Kette ".$n."existiert :".linestring.__LINE__;
						echo newl." and was already required ".$FullKettenFileName.linestring.__LINE__;
						echo  newl." DateiName ".$DateiName." ist kein array !!".linestring.__LINE__;				
						echo  newl. " ArrayName : ".$ArrayName.linestring.__LINE__;
						echo  newl. " DateiNamee : ".$DateiName.linestring.__LINE__,newl.newl;				
						echo  newl. " FullKettenFileName: ".$FullKettenFileName.linestring.__LINE__;				
						
					// was dann?? exit;??		
					// include 'rest2.php';  // Hier nehme existierende komplette Kettexxxxx dumpkette weil AbBruch
						
					echo newl." Start of include rest2 n = ".$n.linestring.__LINE__.newl;			
					if (file_exists($FullKettenFileName))
					{
						echo  newl." Datei  ".$FullKettenFileName." can be required, exists ".linestring.__LINE__;
						echo  newl." NameOfKettenPfad = ".$Kettenpfad.linestring.__LINE__;
						echo  newl." ArrayName = ".$ArrayName.linestring.__LINE__;
						echo  newl." DateiName = ".$DateiName.linestring.__LINE__;
						echo  newl." FullKettenFileName = ".$FullKettenFileName.linestring.__LINE__;
						echo  newl. " now require_once ".$FullKettenFileName.linestring.__LINE__;
						require_once $FullKettenFileName;
						$ArrayName = '$Kette'.$nn;
						echo  newl." ArrayName = ".$ArrayName.linestring.__LINE__;				
						echo  newl." DateiName = ".$DateiName.linestring.__LINE__;
						echo  newl." existiert ".$DateiName." nach require_once Kettenpfad".$Kettenpfad." ? ".linestring.__LINE__;
						if (file_exists($DateiName))
						{
							echo  newl." Datei ".$DateiName." existiert in ".$Kettenpfad.linestring.__LINE__;
							echo  newl." ArrayName = ".$ArrayName;
							echo newl. " dump : ";
							echo  newl." ArrayName[1] = ".$ArrayName[1];
							var_dump($ArrayName);
							if (null != $ArrayName)
							{
							echo  newl." array ".$ArrayName." existiert ".linestring.__LINE__;
							if (is_array($ArrayName))
							{
								echo  newl." array ".$ArrayName." existiert und ist ein array. ausgabe ".linestring.__LINE__;
								foreach ($ArrayName as $key => $value)
								echo newl." key : ".$key." wert : ".$value;					
							}
								else 
									echo  newl." das array ".$ArrayName;
							}
								else 
									echo  newl." Die variabble ".ArrayName." existiert nicht ";
						}
											
						echo  newl." NameOfKettenDatei = ".$FullKettenFileName;				
						echo newl;				
						if (is_array('$ArrayName'))
						{
							echo  newl." array $ArrayName existiert und ist ein array. Ausgabe : ".linestring.__LINE__.newl;
							$singlchain = $ArrayName;
							echo newl."  Ausgabe kette singlchain  ".linestring.__LINE__.newl;
							simpleValueOutput($singlchain);				  
						}
						else 
							echo  newl." das array  $ArrayName ist keins  ".linestring.__LINE__.newl;					
							$singlchain = $ArrayName;
							if (isset ($singlchain))
							{
								echo  newl." array  singlchain existiert  ".linestring.__LINE__.newl;
								if (is_array($singlchain))
								{
									echo  newl." array singlchain  ist ein array der laenge ".count($singlchain).linestring.__LINE__.newl;
									echo newl."  Ausgabe kette singlchain  =  ".linestring.__LINE__.newl;
									simpleValueOutput($singlchain);
									echo  newl." array  ".'$ArrayName'." erfolgreich eingelesen ".linestring.__LINE__.newl;
								}							
									else 
										if ($singlchain == $leerstring)
											echo "singlchain ist leerstring";
										else 
											if ($singlchain == NULL) 
												echo "singlchain ist NULL";
										else 
										{
											echo "singlchain ist weder leerstring noch null ";
										}
						}
						else 
							echo  newl." das array  ".$ArrayName." existiert Nicht ".linestring.__LINE__;				
					}
						
					 }  // Kette ..... existiert in KettenPfad:
					 echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__;
					 
			if ($bestand)
				{
					include 'uniq.php'; // neu 7.6.24			
					echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
					foreach ($visited as $key => $value) echo " | ".$value; // foreach
				}	
					
				echo newl." Am Ende der if abfrage false == KettExits[n], next = $next, n = ".$n." n1 = ".$n1.linestring.__LINE__.newl;
				echo  newl. " whilect2 = ".$whilect2.linestring.__LINE__;
				echo newl ." var+dump nextlist".linestring.__LINE__.newl;
				var_dump($nextList);
				$nnext = $nextList[0];	
				$next = $nnext;
				$Hgesetzt = $nextList[1];	
				$Lgesetzt = $nextList[2];				
					
				echo  newl. " Vor EndIF ".linestring.__LINE__;			
			} // false == KettExits[n]
			/*
		else  //__??!!
		{
			echo  newl." KettExits[$n] = ".$KettExits[$n]." n = ".$n.linestring.__LINE__.newl;
			echo  newl." (1213 ) n1 = ".$n1." Kein Bilden der Kette ".$n5." weil FullKettenFileName ".$FullKettenFileName." schon existiert !".newl;
		}
		*/
		
		echo newl." ( 1215 ) nun n = ".$n." i = ".$i." n1 = ".$n1.linestring.__LINE__;
		echo newl." ( 1216 ) nach Ende der while next > 1, n = $n , n1 = $n1 ".linestring.__LINE__;
		
		if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
		}	

		echo newl." ( 1220 ) End of n = ".$n." ready in outer while loop, i = ".$i." n1 = ".$n1." endzahl = ".$endzahl." erreicht ? ".linestring.__LINE__.newl;
		echo newl." ( 1222 ) n = ".$n. " n1 = ".$n1;
		$erhoeht = $n + $stepWidth;
		echo newl." ( 1223 )Nun erhoehe n = ".$n."auf ".$erhoeht;
		$n = $erhoeht;
		echo newl." anpasse i = ".$i." auf ".$erhoeht.linestring.__LINE__;
		$i += $stepWidth;		
		echo newl." ( 1226 ) nun n = ".$n." i = ".$i." n1 = ".$n1;
		
		 echo newl." Eintrag nach n = $n next = $next in ".linestring.__LINE__;
		 echo newl." abbruch n = $n, next = $next , n1 = $n1 ready after inner while loop".linestring.__LINE__;		
		if (false !== $output2jedeKette)
		{
			echo newl." Now output2jedeKette ist generell  gewuenscht bei n = ".$n.linestring.__LINE__;
			echo newl." auch  hier  deswegen output Kette :".$n.linestring.__LINE__;
			$outputDieseKette = true;
		}
		else
		{
			echo newl." output2jedeKette NICHT gewuenscht bei Kette($n) !!".linestring.__LINE__;
			echo newl." desweg Dont output Kette ".$n.linestring.__LINE__;
			$outputDieseKette = false;
		}		
		echo newl." before dumpKette actual Directory: ".getcwd().linestring.__LINE__;
		echo newl." execute dumpkette of Kette :  ".$n.linestring.__LINE__;

			 
		$dumpKette = true ; // hier nicht oder doch ?								 
		if ($ekko) 
			if ($dumpKette) 
				echo newl." (1230 )now dumpkette is set 2 true ".$n;

		if ($ekko) echo newl." Nach Eintrag nr. ".$counter." fuer n = ".$n." n1 = ".$n1." f&uuml;r Kette($n) in line ".__LINE__;
		$Kette[$n] = $singlchain; // appended
		if ($dumpKette) 
		{
				echo newl." dumpKette ist ON ! including rest7 ".$n.linestring.__LINE__; 
				include 'rest7.php'; //Function writeKette
		}
		else 
		{			
			echo newl." neu berechnete Kette oder singlchain : ".$n.linestring.__LINE__; 		
			echo newl." dumpKette ist OFF !, aber : ".$n.linestring.__LINE__.newl;
			verysimpleOutput($singlchain);
		}
		echo newl." ( 1245 ) vor Ende if false == KettExits[$n] ".$n.linestring.__LINE__.newl;
	} // if (false == $KettExits[]}
		$i = $n+ $stepWidth;
		$n = $i;		
		echo newl." neues i = ".$i." neues n = ".$n.linestring.__LINE__;		
		echo newl." now enter with n = ".$n.linestring.__LINE__;		
		if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
		}	
		echo newl." ending while i = ".$i.linestring.__LINE__.newl;	
		if ($AbBruch) echo newl." (1253 ) ending with AbBruch ".linestring.__LINE__.newl;		
	echo newl." now whilectr = ".$whilectr." = ".$n.linestring.__LINE__;
	if ($whilectr > $endzahl) 
	{
		echo newl." whilectr = ".$whilectr." ist nun groesser als endzahl = ".$endzahl." bei n = ".$n." also EXIT".linestring.__LINE__.newl;
		exit;
	}		
	echo newl." ready after outer while loop i =- $i, n = ".$n." n1 = ".$n1. " endzahl ".$endzahl." erreicht ? ".linestring.__LINE__.newl;
	
	if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
	}
	
	if ($Edelay > 0)
	{
			echo newl." simpleValueOutput ".$Edelay."  besuchte gerade Zahlen at n = $n, n1 = $n1 : linestring".__LINE__;
			echo newl." simpleValueOutput(visitedEvens) ".linestring.__LINE__.newl;
			$Edelay = simpleValueOutput($visitedEvens);
			echo " after simpleValueOutput ".$Edelay." visitedEvens ";
			echo newl." Elgth = ".$Edelay;
	}		
		else 
			echo newl."keine Gerade zahlen in n = ".$n.linestring.__LINE__.newl;
	if ($Odelay > 0) 
	{
			echo newl.$Odelay." besuchte ungerade Zahlen at n = $n, n1 = $n1 : ".linestring.__LINE__;
			echo newl." simpleValueOutput(visitedOdds) ".linestring.__LINE__.newl;
			$Odelay = simpleValueOutput($visitedOdds);	//true
			echo newl." after simpleValueOutput ".$Odelay." visitedOdds".linestring.__LINE__;
			echo newl." Olgth = ".$Odelay.newl;			
	}
	else 
		echo newl."keine UnGeraden Zahlen in n = ".$n.linestring.__LINE__.newl;
	if  (($Odelay > 0)  && ($Edelay >0))
		echo newl." Verhaeltnis O/E :".Odelay."/".$Edelay.linestring.__LINE__.newl;	
	echo newl." End of Try at n = $n, n1 = $n1 : ".linestring.__LINE__;	
	if ($bestand)
		{
			include 'uniq.php'; // neu 7.6.24			
			echo newl." Bestandsaufnahme nach while next >8 : visited n = ".$n." n1 = ".$n1." Laenge von visited : ".count($visited).linestring.__LINE__.newl;	
			foreach ($visited as $key => $value) echo " | ".$value; // foreach
		}
	
//end   try


catch (Exception $e4)
{
	echo newl."Exception e4 : ";
	// var_dump ($e4->getTrace());
	echo newl;	
	echo $e4->getMessage ();
	echo newl;
	echo $e4->getTraceAsString ();
	echo newl;
	echo $e4->getCode();
	echo newl;
	echo $e4->getFile();
	echo newl;
	echo $e4->getLine();
	echo newl;
	die ('Exception e4 ');
}	 

$visual = true;
$Erstezahl = $start + $stepWidth;
if ($visual) 
	echo newl." visuellle Betrachtung aller visited aller ab $Erstezahl bis $next ist on ".linestring.__LINE__.newl;

if ($ekko)
{		
	echo newl." Kettenabbruch der Ketten end of i = $i, n = ".$n;
	echo newl." i = ".$i." n = ".$n." start = ".$start;
	echo newl." endzahl = ".$endzahl;
	echo newl." stepWidth = ".$stepWidth.linestring.__LINE__.newl;
}

// alle geraden und ungeraden visited Numbers\

if ($visual)
{
	echo newl." Unsorted output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl;
	foreach ($visited as $Zahl => $besucht) echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach		
	echo newl." now output2UnsortedVisitedFile ".linestring.__LINE__.newl;	
}

echo newl." NameOfKettenDatei now ".$NameOfKettenDatei.linestring.__LINE__.newl;
$KettenFileName = 'KettenFile'.$start."_".$endzahl.'_'.$stepWidth.'.php';
echo newl." KettenFileName now ".$KettenFileName.linestring.__LINE__.newl;
echo newl." actual Verzeichnis before  output2KettenFile : ".getcwd().linestring.__LINE__;
echo newl. 'KettenFileName = '.$KettenFileName;
echo newl." now in ".linestring.__LINE__.newl;
echo newl." number of tested digits : $num von  start = $start n = $n i = .$i in main Zeile ".__LINE__.newl. " now sort by key".newl;
echo newl." Sortierte Ausgabe von visited nach values in main vor ksort in Zeile ".__LINE__.newl;
echo newl." sort count (visited) = ".count ($visited). linestring.__LINE__.newl;
echo newl." Sortiere visited  $start bis $endzahl nach keys: ".newl;
echo newl."now in ".linestring.__LINE__.newl;

//include mist.php

$sort_visited_file = false;
if ($sort_visited_file) //(3)
{
		echo newl." Schreiben auf Datei :".linestring.__LINE__;	
		echo newl." sort_visited_file is on  ".linestring.__LINE__;		
		$sortFileName = 'sortvisited'.$start."_".$endzahl.'.php';
		echo newl." sortfilename = ".$Unsortfilename;	
		if (is_array($visited))
		{
			if ($output2sortedVisitedFile)
			{
					$sortfilename = $visited;
					echo newl."now in ".linestring.__LINE__.newl;
					echo newl." sort_visited_file is on in output2sortedVisitedFile ".linestring.__LINE__.newl;		
					$sortedfilename = 'visited'.$start."_".$endzahl.'.php';
					$Ueberschrift = "Kette_'$start'-'$endzahl'";
					$Ueberschrift = "$".$sortedfilename.'_'.$start.'-'.$endzahl.' = ';
					echo newl." Ueberschrift = ".$Ueberschrift.linestring.__LINE__;
					echo newl." output to Unsortfilename : ".$Unsortfilename.newl;
					echo newl." unsorted output2VisitedFile $start bis $endzahl :".$Unsortfilename.linestring.__LINE__;
					$fileintro = '<' . "?php\n";	
					echo newl." output to Unsortfilename : " . $Unsortfilename;					
					echo newl." before file_put_contents :".linestring.__LINE__;
					$Bytes = file_put_contents ($Unsortfilename, $fileintro.$Ueberschrift. " \n ".var_export($visited,1).';' );
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__;
					echo newl. " maximum = ".max($visited).linestring.__LINE__;	
			}
		}
}
		else echo newl." sort_visited_file is Off ".linestring.__LINE__.newl;	

echo newl.newl." Now arsort $start bis $endzahl , count (visited) = ".count ($visited). linestring.__LINE__.newl;
echo newl." arSort visited  $start bis $endzahl nach keys: ".newl;
if ($visual) 
		{
			echo newl." arsort output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl;
			foreach ($visited as $Zahl => $besucht)	
			echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach
		}

$dump_arsorted_file = true;	
if ($dump_arsorted_file) //(4)	
if (arsort($visited))
	{	
				echo newl." Schreiben auf Datei :".linestring.__LINE__;	
				echo newl." dump_arsorted_file (1) is on  ".linestring.__LINE__.newl;
				echo newl. " nach arsort ok ist count (visited) = ".count ($visited). "linestring".__LINE__.newl;
				if ($output2arsortedVisitedFile)
				{
					echo newl." dump_arsorted_file is on in output2arsortedVisitedFile ".linestring.__LINE__;		
					$arsortedFilename = 'arvisited'.$start."_".$endzahl."_".$stepWidth.'.php';
					$Ueberschrift = "Kette_arsorted_'$start'-'$endzahl'";					
					echo newl." Ueberschrift = ".$Ueberschrift;
					echo newl." output to Filename : "."arsortedFilename".linestring.__LINE__;
					echo newl." unsorted output 2 arsortedFilenameile :".$arsortedFilename.linestring.__LINE__;
					$fileintro = '<' . "?php\n";					
					echo newl." output to Unsortfilename : " . $arsortedFilename;					
					$param2 = $fileintro.$Ueberschrift." = \n ";
					echo newl." before file_put_contents :".linestring.__LINE__;
					echo newl." arsortedFilename = ".$arsortedFilename.newl;
					$Bytes = file_put_contents ($arsortedFilename, $param2. " \n ".var_export ( $visited, 1 ) . ';' );
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__;
					echo newl. " nach arsort maximum = ".max($visited);
				}		
	}
		else 
			echo newl." arsort failed linestring".__LINE__.newl;	
	
if ($ekko) 
{
	echo newl. " nach arsort ok ist count (visited) = ".count ($visited). "linestring".__LINE__.newl;		
	echo newl." nach arsort count (visited) = ".count($visited)." now ksort ".linestring.__LINE__;
	echo newl.newl." Groesse von visited is ".count ($visited).linestring.__LINE__.newl;
}
echo newl. " Finally Sortiere nach keys: ".linestring.__LINE__.newl;
if ($ekko) 
{
	if ($visual) 
	{
		echo newl." ksorted output $start bis $endzahl of all visited Numbers in main in Line : ".__LINE__.newl;			
		foreach ($visited as $Zahl => $besucht)	echo newl." Zahl ".$Zahl." wurde $besucht mal besucht. "; // foreach
	}
}
$output2ksortedVisitedFile = true;
	
	echo  newl. " now require_once ".'kritisch.php';	
	require_once  'kritisch.php';
if (ksort($visited))
{
	if ($output2ksortedVisitedFile)
			{
					echo newl." Schreiben auf Datei :".linestring.__LINE__;	
					echo newl." output2ksortedVisitedFile is on  ".linestring.__LINE__.newl;
					$visitedname = 'visited';
					$ksortedFilename = 'kvisited'.$start."_".$endzahl.'.php';
					$Ueberschrift = "Kette_ksorted_'$start'-'$endzahl'";	
					$Ueberschrift = "$".$ksortedFilename.'_'.$start.'-'.$endzahl.' = ';
					echo newl." Ueberschrift = ".$Ueberschrift.linestring.__LINE__;
					echo newl." output to visitedname : ".$ksortedFilename.newl;
					echo newl." unsorted output2VisitedFile $start bis $endzahl :".$ksortedFilename.linestring.__LINE__;
					$fileintro = '<' . "?php\n";	
					echo newl." output to ksortedFilename : " . $ksortedFilename;
					$param2 = $fileintro.$Ueberschrift." = \n ";
					echo newl. " param2 = ".$param2.newl;	
					echo newl. " nach ksort maximum = ".max($visited);
					echo newl." before file_put_contents :".linestring.__LINE__;
					$Bytes = file_put_contents ($ksortedFilename, $fileintro.$Ueberschrift." \n ".var_export ( $visited, 1 ) . ';' );
					echo newl. " nach file_put_contents wurden ".$Bytes." geschrieben ".linestring.__LINE__;
				}
}

if ($ekko) echo newl." nach ksort count (visited) = ".count ($visited). " now sort (!!!???).linestring".__LINE__;				
echo newl." Programmende bei n = $n, i = $i ";		
echo "num = $num von start = $start n = $n i = .$i in main Zeile ".__LINE__.newl.newl;
echo " endzahl = ".$endzahl." stepWidth = ".$stepWidth." Edelay = ".$Edelay." Odelay = ".$Odelay." ".linestring.__LINE__.newl;
echo newl."  i = $i n = $n next = $next n1 = $n1 counter = ".$counter." ENDE nach ksort von allem ".newl.newl;			
echo newl.newl."  i = $i n = $n next = $next n1 = $n1 counter = ".$counter." ENDE von allem  nach ksort ".newl.newl;
/// ENDE von allem  und main 

// include 'diversFunctions.php';


function cmp($a, $b)
{
    if ($a == $b) 
	{
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

function init_cache() //  aus erzeugende43.php
{
	$ekko = false;
	if ($ekko) echo newl." actual Verzeichnis in Init_cache : ".getcwd().linestring.__LINE__;
	global $cache;
	$newline = "\n<br />";
	$tempIncludePath = get_include_path(); //  g:/workspace/library/
	set_include_path('../../susi/lib/lib/');
	if ($ekko) echo newl." tempIncludePath in init_cache set to : = ".$tempIncludePath; //=  g:/workspace/library/		
	require('Zend/Cache.php');	
	if ($ekko)	echo $newline." init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				
	$frontendOptions = array
	(
		'caching' => true
		,'lifetime' => 720000// 200 stunden
		,'cache_by_default' => false
		,'cached_functions' => array ('_div','_mult','_add','__binary_search,_inarray')
	);
	if ($ekko) 	echo $newline." after frontendOptions in init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				
	$backendOptions = array('cache_dir' => './data/cache/');	
	if ($ekko) 	echo $newline." end of  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;						
	$cache = Zend_Cache::factory ("Function", "File", $frontendOptions, $backendOptions);
	if ($ekko) echo $newline." after cache def  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;					
	if ($ekko) echo $newline.'cached_functions : ';
	//print_r($frontendOptions);
	
	set_include_path($tempIncludePath); //reset 2 standard	
	$tempIncludePath = get_include_path();  // g:/workspace/library/
	if ($ekko) echo " reset in init_cache set to : = ".$tempIncludePath; /* =  g:/workspace/library/ */		
	if ($ekko) 	echo $newline." end of  init_cache: ". " now i init_cache in  main in Zeile ".__LINE__;				
}

function _mult($x,$y)
{
	$ekko = false;
	if ($ekko) echo newl." enter normal _mult : ";	
	return $x*$y;
}

function mult($x,$y)
{
	global $cache, $cachen;
	$ekko = false;
	if ($ekko) echo newl." enter mult : ";
	if ($cachen)
	{
		if ($ekko) echo " cachen true, enter cache->call('_mult')";
		return $cache->call('_mult', array($x,$y));
	}
	else {
		return _mult($x,$y);
	}
}

function _add($x,$y)
{
	$ekko = false;
	if ($ekko) echo newl."enter normal _add : ";
	return $x+$y;
}

function add($x,$y)
{
	global $cache, $cachen;
	$ekko = false;
	if ($ekko) echo newl." enter add : ";
	if ($cachen)
	{		
		if ($ekko) echo " cachen true, enter cache->call('_add', array($x,$y))";
		return $cache->call('_add', array($x,$y));
	}
	else {
		return _add($x,$y);
	}
}
function _div($x,$y)
{
	return $x/$y;
}
function div($x,$y)
{
	global $cache, $cachen;
	if ($cachen)
	{
		return $cache->call('_div', array($x,$y));
	}
	else {
		return _div($x,$y);
	}
}

/*
	evtl einbauen:
	Wenn die aktuell gerade untersuchte Zahl < 3/2 * Startzahl 
	und == 2 (mod 3) ist (d.h. seit der letzten (3x+1)/2-Operation geradzahlig 
	oft zustzlich halbiert wurde), dann kann man auch abbrechen, 
	da dann auch die nun noch folgende Colatz-Teilfolge dieser 
	Zahl Teilfolge einer Zahl < der Startzahl ist.
*/	

function teststoparray($nx,$stoparray)
{
			echo newl." Glide = ".$Glide.linestring.__LINE__;
			echo newl." n1 = $nx test stop_if_in_stoparray". linestring.__LINE__.newl;		
			$mod256 = $nx % 256;
			echo newl.$nx." mod256 ist ".$mod256;
			if (in_array($mod256,$stoparray))
			{
					echo newl." $nx modulo 256 = $mod256 ist in stoparray. ";
					echo newl." positive test stop_if_in_stoparray in main Zeile ".__LINE__;
					echo newl."Break reason 4 stoparray n1 = $nx, Modulo 256 = $mod256 in main Zeile ".__LINE__;
					echo newl." test auf stop_if_in_stoparray positive";
					// exit(4);
					$AbBruch = true;
					$broken = 4; // true
					return (4); // while loop n broken due to  stoparray
			}
					else
			{						
						echo newl." $nx modulo 256 = $mod256 ist not in stoparray. ";
						return (0);
			}
} // stop_if_in_stoparray

function check_existence($nn,$KettenFileName)
{
			echo newl." now in check_existence of nn = ".$nn." KettenFileName = ".$KettenFileName;			
			echo newl."KettenFileName = ".$KettenFileName.linestring.__LINE__.newl;
			echo newl." nn = ".$nn.linestring.__LINE__.newl;
			// $FullKettenFileName  = findFullKettenName($KettenFileName,$nn);
			$FullKettenFileName  = $KettenFileName;
			echo newl."  FullKettenFileName  = ".  $FullKettenFileName;
			echo newl." Typ ".gettype($FullKettenFileName);
			if (file_exists($FullKettenFileName))
			{
				echo newl." FullKettenFileName ".$FullKettenFileName." existiert !".linestring.__LINE__.newl;
				$version = "2407.22";
				return true;
			}
				else					
			{			
				echo newl." FullKettenFileName  existiert noch nicht !".linestring.__LINE__;
				return false;
			}
}
function createKettenfilename($ArrayName, $nn)
{			
			echo " nn = ".$nn.linestring.__LINE__;
			$KettenFileName = $ArrayName.'.php'; 
			echo " KettenFileName in  createKettenfilename = ".$KettenFileName;
			return $KettenFileName;
}
function createKettenContents($n,$KettenFileName)
{
				$fileintro = '<' . "?php\n".linestring.__LINE__;
				echo newl." fileintro = ".$fileintro.linestring.__LINE__;				
				echo newl." $KettenFileName = ".$KettenFileName.linestring.__LINE__;				 
				$Ueberschrift = '$'.$KettenFileName; // $Kette  ??				
				echo newl. " Ueberschrift= ".$fileintro;											
				echo  newl." zu benutzender pfadloser filename ist  ".$Ueberschrioft."  KettenFileName = ".$KettenFileName.linestring.__LINE__;	
				return;				
}

function writeKette($nn, $singlchain, $outputKette, $stepWidth)
{
	echo newl." in writeKette nn = ".$nn.linestring.__LINE__.newl;
	if ($outputKette) echo newl." Fuehre aus in writeKette nn = ".$nn.linestring.__LINE__.newl; //	only if NOT (file_exists($FullKettenFileName))
	$slash = '/';
	$KettenPfad = 'ketten/';
	$kettenlaenge = count($singlchain);
	echo newl." singlchain ($nn) ist ein array der Laenge ".$kettenlaenge.linestring.__LINE__.newl;
	if ($kettenlaenge > 0)
			{
				echo " kettenlaenge goesser 0, ".$kettenlaenge.linestring.__LINE__;
					if ($outputKette)
					{				
						$version = 7;						
						echo " string nn = ".$nn.linestring.__LINE__;
						$NameOfKettenDatei = $KettenFileName = 'Kette'.$nn;
						$KettenFileName = $NameOfKettenDatei.'.php';
						echo " KettenFileName = ".$KettenFileName;
						echo " NameOfKettenDatei = ".$NameOfKettenDatei;
						echo newl;
						echo " KettenPfad = ".$KettenPfad;
						$FullKettenFileName = $KettenPfad.$KettenFileName;						
						echo newl.newl." KettenFileName  = ".$KettenFileName;
						echo newl." FullKettenFileName  = ".$FullKettenFileName;								
						echo newl." output dieser singlchain ($n)in datei KettenFileName = ".$KettenFileName." bei n = ".$n.linestring.__LINE__;				
						echo newl." output 2 KettenFileName =".$FullKettenFileName;
						echo newl." KettenFileName = ".$FullKettenFileName;				
						echo newl." before file_put_contents to ".$FullKettenFileName." in ".getcwd().linestring.__LINE__;
						if (file_exists($FullKettenFileName))
							{										 
								echo  newl." file ".$FullKettenFileName." exists schon , nicht ueberschrieben";																			 
							}	
								else
							{
									echo  newl." file ".$FullKettenFileName." exists noch nicht, also neu schreiben";
									echo newl." now file_put_contents to KettenFileName";
									$fileintro = '<' . "?php\n";	
									$Ueberschrift = '$'.$NameOfKettenDatei; // der Kette $nn 
									$Ueberschrift.=" = ";
									echo newl." Ueberschrift = ".$Ueberschrift;
									$Bytes = file_put_contents ($FullKettenFileName, $fileintro.$Ueberschrift. " \n ".var_export($singlchain,1).';' );
									echo newl. " nach file_put_contents to ".$FullKettenFileName." wurden ".$Bytes." geschrieben ".linestring.__LINE__;
							}
						}
					}
					else {
						echo " kettenlaenge = ".$kettenlaenge." nn = ".$nn.linestring.__LINE__;
						die (" kettenlaenge = ".$kettenlaenge." nn = ".$nn.linestring.__LINE__.newl);						
					}
					
}

function findFullKettenName($KettenFileName,$nn)
{		
		echo newl." KettenFileName = ".$KettenFileName.linestring.__LINE__;
		echo newl." enter findFullKettenName".linestring.__LINE__;
		$slash = '/';
		$KettenPfad = 'ketten';		
		echo newl." KettenPfad = ".$KettenPfad;
		echo newl." nn = $nn".linestring.__LINE__;
		$fullkettenpath = $KettenPfad.newl;
		echo newl." KettenPfad = ".$KettenPfad.newl;
		echo newl." fullkettenpath = ".$fullkettenpath.newl;
		$FullKettenFileName = $KettenPfad.$slash.$KettenFileName.newl;
		echo " FullKettenFileName = ".$FullKettenFileName." in ".__LINE__.newl;
		return $FullKettenFileName;
}

Function Calls

None

Variables

None

Stats

MD5 9363c595551ba9a5deb7b629e1323521
Eval Count 0
Decode Time 282 ms