Armanious 0 Newbie Poster

I'm trying to decompile this one method; I'm pretty sure its purpose is to take two integers and convert them to a single long, but I may be wrong and it can be just some weird math. What I have gotten so far:
long result = (((long)possibleHigh) << 32) + (possibleLow + 2147483647L);

The bytecode is as follows:

iload_0
i2l
bipush 32
lshl
iload_1
i2l
ldc2_w 2147483647
land
ladd
lstore 2

Some help please?

Edit: I realized I ignored the land instruction and treated it as ladd...after I fixed it I'm still getting it wrong. Or do I have it right and it's just some weird math?

Any criticism is appreciated as long as it's constructive.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.