Removing the infinite loop does not make it non pathological.
As I have said donzens of times the infinite loop is unreachable.
void Px(u32 x)
{
H(x, x);
return;
}
int main()
{
Output("Input_Halts = ", H((u32)Px, (u32)Px));
}
_Px()
[000013b6](01) 55 push ebp
[000013b7](02) 8bec mov ebp,esp
[000013b9](03) 8b4508 mov eax,[ebp+08]
[000013bc](01) 50 push eax
[000013bd](03) 8b4d08 mov ecx,[ebp+08]
[000013c0](01) 51 push ecx
[000013c1](05) e8e0fdffff call 000011a6
[000013c6](03) 83c408 add esp,+08
[000013c9](01) 5d pop ebp
[000013ca](01) c3 ret
Size in bytes:(0021) [000013ca]
_main()
[000013d6](01) 55 push ebp
[000013d7](02) 8bec mov ebp,esp
[000013d9](05) 68b6130000 push 000013b6
[000013de](05) 68b6130000 push 000013b6
[000013e3](05) e8befdffff call 000011a6
[000013e8](03) 83c408 add esp,+08
[000013eb](01) 50 push eax
[000013ec](05)
6827040000 push 00000427
[000013f1](05) e880f0ffff call 00000476
[000013f6](03) 83c408 add esp,+08
[000013f9](02) 33c0 xor eax,eax
[000013fb](01) 5d pop ebp
[000013fc](01) c3 ret
Size in bytes:(0039) [000013fc]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
...[000013d6][00102357][00000000] 55 push ebp
...[000013d7][00102357][00000000] 8bec mov ebp,esp
...[000013d9][00102353][000013b6] 68b6130000 push 000013b6
...[000013de][0010234f][000013b6] 68b6130000 push 000013b6
...[000013e3][0010234b][000013e8] e8befdffff call 000011a6
Begin Local Halt Decider Simulation Execution Trace Stored at:21240b
...[000013b6][002123f7][002123fb] 55 push ebp
...[000013b7][002123f7][002123fb] 8bec mov ebp,esp
...[000013b9][002123f7][002123fb] 8b4508 mov eax,[ebp+08]
...[000013bc][002123f3][000013b6] 50 push eax
...[000013bd][002123f3][000013b6] 8b4d08 mov ecx,[ebp+08]
...[000013c0][002123ef][000013b6] 51 push ecx
...[000013c1][002123eb][000013c6] e8e0fdffff call 000011a6
...[000013b6][0025ce1f][0025ce23] 55 push ebp
...[000013b7][0025ce1f][0025ce23] 8bec mov ebp,esp
...[000013b9][0025ce1f][0025ce23] 8b4508 mov eax,[ebp+08]
...[000013bc][0025ce1b][000013b6] 50 push eax
...[000013bd][0025ce1b][000013b6] 8b4d08 mov ecx,[ebp+08]
...[000013c0][0025ce17][000013b6] 51 push ecx
...[000013c1][0025ce13][000013c6] e8e0fdffff call 000011a6
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
...[000013e8][00102357][00000000] 83c408 add esp,+08
...[000013eb][00102353][00000000] 50 push eax
...[000013ec][0010234f][00000427]
6827040000 push 00000427
---[000013f1][0010234f][00000427] e880f0ffff call 00000476
Input_Halts = 0
...[000013f6][00102357][00000000] 83c408 add esp,+08
...[000013f9][00102357][00000000] 33c0 xor eax,eax
...[000013fb][0010235b][00100000] 5d pop ebp
...[000013fc][0010235f][00000004] c3 ret
Number of Instructions Executed(16120)