In this case 'large' is an integer somewhere between 1 and (2*32) - 1.
Until I started digging I didn't realize that the Arduino processors are mostly eight bit and the ability to handle numbers larger than 255 is done through the compiler!
Technically true, but not exactly challenging.
If the program has a 32 bit variable stored in registers A,B,C,D and the compiler wants to add a 32 bit variable stored in registers a,b,c,d to it then it's just a matter of emitting:
add A,a
adc B,b
adc C,c
adc D,d
Four instructions, eight bytes of code, four clock cycles at your 16 MHz (usually).
Compare that to the good old 6502, where those things are in, at *best* zero-page memory locations, not registers.
clc
lda A
adc a
sta A
lda B
adc b
sta B
lda C
adc c
sta C
lda D
adc d
sta D
Thirteen instructions, *twenty five* bytes of code, thirty eight clock cycles at typically 1 MHz.
The AVR in the Arduino is 8-bit, but it's (for this operation) 152 times faster than the 6502. And the code is three times smaller.
A heck of a lot of software on 6502 machines such as the Apple ][ used not only 32 bit arithmetic, but 32 bit FLOATING POINT. Done in software.
And almost nothing was actually done directly in the bulky machine code, but instead common operations were wrapped into some kind of simple interpreter, whether BASIC, Pascal, Sweet16, or threaded code (Forth/Logo style).