My understanding now is that it's actually the last SMTP server before being delivered, which may be very different from the SMTP server your email client contacted. So it is definitely not your mail client's address, and likely may not be your first SMTP server's address either.
This will mean that you need to determine the full list of your provider's server addresses. This can be a very large list of addresses, and so there is likely some kind of "spf" prefixed domain offered by your provider that can be included in your spf record instead of listing specific addresses or even address ranges. Eg:
v=spf1 include=spf123.mymailprovider.com ~all
This allows your provider to update their record as necessary and for you to have the lastest changes automatically.