In many programming environments for C and C-derived languages on 64-bit machines, codice_3 variables are still 32 bits wide, but long integers and pointers are 64 bits wide. These are described as having an "LP64" data model. Other models are the "ILP64" data model in which all three data types are 64 bits wide, and even the "SILP64" model where "short" integers are also 64 bits wide. However, in most cases the modifications required are relatively minor and straightforward, and many well-written programs can simply be recompiled for the new environment with no changes. Another alternative is the "LLP64" model, which maintains compatibility with 32-bit code by leaving both codice_3 and codice_4 as 32-bit. "LL" refers to the "long long integer" type, which is at least 64 bits on all platforms, including 32-bit environments.