## arithmetic overflow in processing?

Oil and natural gas exploration -- geology and geophysics
jeepster
Silver Member
Posts: 36
Joined: Fri Apr 01, 2011 8:57 am
Location: Australia

### arithmetic overflow in processing?

I include range summaries in most jobs I run, and saw +Infinity come up. The input data happened to have maxima up to 10^10 - I suppose that is unusual.
Also one of the algorithms in this job includes raising numbers to the fourth power, so there are some 10^40 arising which is beyond 32-bit floating point.
Now just off the top of my head, I can't think of a common transform that uses fourth power in the arithmetic. Well I've heard of 6th order NMO would but it would be
on offsets less than 10^5.
Has anybody else encountered overflows in seismic processing flows?

BTW, when I scaled the data by 1/256, that was enough to prevent any more infinities popping up.

GuyM
VIP Member
Posts: 583
Joined: Sat Mar 24, 2012 11:35 pm

### Re: arithmetic overflow in processing?

It happens from time to time - they can also show up as NaNs (Not a Number!)

If you start of with very large amplitudes (for example don't apply the millivolt scalar) and (for example) your spherical divergence correction isn't normalizing you can end up applying a T-squared V-squared function and blow the amplitudes out.
It depends how exotic you are getting - if you have some automatically calculated scalars or you multiply two traces together (instead of dividing them!) its possible.

I've come across hardware which supports higher-than-32-bit sample resolution so you have to run the data through at 64-bit in processing, or face similar issues.

BillGray
Member
Posts: 1
Joined: Sat Dec 05, 2015 1:41 am

### Re: arithmetic overflow in processing?

The term arithmetic overflow or simply overflow is the overflow may occur and when it happens detected and other processing done. There are several methods of handling overflow such as Avoidance: by carefully ordering operations, checking operands in advance and selecting the correct data type, it is possible to ensure that the result will never be larger than can be stored, Handling: If it is anticipated that overflow may occur and when it happens detected and other processing done, Propagation: if a value is too large to be stored it can be assigned a special value indicating that overflow has occurred and then have all successive operation return this flag value.

• Similar Topics
Replies
Views
Last post