As far as I can see, the implementation of and documentation for the program helper command/script are not in alignment.
The program helper command/script is implemented in openocd/src/flash/startup.tcl
The usage text here:
says
add_help_text program "write an image to flash, address is only required for binary images. verify, reset, exit are optional"
add_usage_text program "<filename> \[address\] \[pre-verify\] \[verify\] \[reset\] \[exit\]"
But the documentation here:
says
Command: program filename [preverify] [verify] [reset] [exit] [offset]
The two descriptions do not seem to match - note the presence and placement of address and offset:
program "<filename> [address] [pre-verify] [verify] [reset] [exit]"
Command: program filename [preverify] [verify] [reset] [exit] [offset]
Also - neither the documenation above nor the additional link here:
clearly and comprehensively explains all options.