A subroutine is a part of a program that can be re-used, just like movable type.
From the economist.com
For the form of code consisting entirely of subroutine calls, see Threaded code.
From the en.wikipedia.org
If a subroutine performs a tail call to itself, it is called tail-recursive.
From the en.wikipedia.org
When a child learns something, it's brain's software changes or adds a new subroutine.
From the newscientist.com
Is there some subroutine in the model that injects random gas emissions in the atmosphere?
From the independent.co.uk
The first, unit testing, tests a very small subroutine to see that it does what it should.
From the economist.com
Semantically many statements differ from subroutine calls by their handling of parameters.
From the en.wikipedia.org
Usually an actual subroutine parameter is evaluated once before the subroutine is called.
From the en.wikipedia.org
Forth uses two stacks, one for argument passing and one for subroutine return addresses.
From the en.wikipedia.org
More examples
Routine: a set sequence of steps, part of larger computer program
In computer science, a subroutine (also called procedure, method, function, or routine) is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code.
A section of code, called by the main body of a program, that implements a task. While it may be used at more than one point in a program, it need not be
(Subroutines) Sections of code that perform activities or manipulate data but are not included in the main sequential execution path of a program.
A named or otherwise accessible piece of program that can be invoked from elsewhere in the program in order to accomplish some sub-goal of the program. A subroutine is often parameterized to accomplish different but related things depending on its input arguments. ...
A program unit which does not return any value through its name and has a number of arguments. It is permitted for a subroutine to change the values of its arguments. A subroutine can however have other tasks to perform, quite often related to input and output. ...
A previously known algorithm used in another algorithm
(n.) a procedure that is invoked by a CALL statement or by a defined assignment statement.
A piece of a program that is "called" from another part of the program. Often a well-structured program will consist of a short main routine that calls many subroutines to do the work.