Bitcoin Forum
May 14, 2024, 05:28:49 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [All]
  Print  
Author Topic: [Preview] Smelter - GPU miner for WhirlpoolX (Vanillacoin)  (Read 132800 times)
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 11:41:28 AM
Last edit: April 15, 2015, 06:22:29 PM by smolen
 #1

Since 2013 this thread was home for Smelter, the first public GPU miner for (then hot and great) Quark coin. Time passed, Quark almost faded away, open-source miners catched up, OpenCL code of Smelter got published and now old good Smelter for Quark algo is retired. Now I'm returning to this project to make an universal, versatile and hopefully the fastest miner. Currently it's way behind sgminer and friends in area of usability and GPU control. (At the moment of writing it's just ugly, to say the truth)

The current 0.7 version is released with WhirlpoolX kernel and can mine only Vanillacoin.
This version is free, there is no hidden fee, enforced donations or speed reduction. Also there is no solo mining (use Stratum proxy if you really need it) and Linux version (wait, it's going to be release)
Tested only with single 280x, but those cards should work:
   Juniper (6770, 6750, 5750, 5770)
   Pitcairn (7850, 7870, Curacao: 265, 270, 270X)
   Tahiti (7870, 7950, 7970, 280, 280X)
   Hawaii (290, 290X)
   Tonga (285)

[TODO: collect and put here reported hashing speeds; my 280x gets ~540MH/s with overclocking]

 Download zip archive, unpack, edit cmd file with pool address, username and password and launch edited cmd.

To get the best performance first find the best worksize for your GPU by changing '-W 64' in .cmd file to -W 128 or 256, select the best value, lower memclock and start to raise core clock. Keep an eye '5s:' speed, it catches up quickly.

Code:
Program options:
  -? [ --help ]           This help message
  --copyrights            Print libraries copyright message(s)
  -o [ --url ] arg        pool url (ex: -o http://pool:port )
  -u [ --user ] arg       Pool username
  -p [ --pass ] arg       Pool password
  -w [ --worksize ] arg   Worksize
  -g [ --gputhreads ] arg Threads per GPU
  -D [ --debug ]          Enable debug output

There isn't much to be configured. User can play with worksize (64, 128 and 256) and number of threads. To flood the screen with tons of diagnostics use --debug. Before claiming that I violated GPL, take a look at 'smelter --copyrights' output. To exit, use control-C or type any letter and then ENTER.

Of course I gave you bad advice. Good one is way out of your price range.
pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
October 15, 2013, 12:14:36 PM
 #2

I can't download it from there using both of my browsers (Opera 12 and IE 10). Please, upload it to any other hosting.

ig0tik3d
Legendary
*
Offline Offline

Activity: 1246
Merit: 1000



View Profile
October 15, 2013, 12:24:51 PM
 #3

when start got some erorrs...
and on my hd7850 speed 520kh )) on the same pc cpu miner on a10-5800k got 420kh ))
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 12:25:56 PM
 #4

I can't download it from there using both of my browsers (Opera 12 and IE 10). Please, upload it to any other hosting.

http://rghost.net/49379672

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 12:31:06 PM
 #5

when start got some erorrs...
and on my hd7850 speed 520kh )) on the same pc cpu miner on a10-5800k got 420kh ))

~1.2 MH/s here on my 6770, I released it without any testing on other GPUs:(

Of course I gave you bad advice. Good one is way out of your price range.
dragon695
Full Member
***
Offline Offline

Activity: 449
Merit: 103


Decentralized Ascending Auctions on Blockchain


View Profile
October 15, 2013, 01:08:16 PM
 #6

Closed source, steals 1/8, possible malware, what could go wrong? Roll Eyes

iBid     ▐     Decentralized Auctions on Blockchain    (    About us    Telegram   )
▬▬▬▬▬▬▬▬▬▬▬▬▬             AN  AUCTION    ❱   All auctions start at     $0

[  ◥   Google Play      ◥   App Store  ]   ██ SIGN UP ██        with no minimum reserve
paymetodostuff
Member
**
Offline Offline

Activity: 88
Merit: 10


View Profile
October 15, 2013, 01:17:18 PM
 #7

Testing this out. 2.58MH on my 6970.
pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
October 15, 2013, 01:38:01 PM
 #8

I can't download it from there using both of my browsers (Opera 12 and IE 10). Please, upload it to any other hosting.

http://rghost.net/49379672
Thanks!

pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
October 15, 2013, 02:01:20 PM
 #9


7970

smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 02:04:19 PM
 #10


7970
Sad
Looks like it's almost useless on GCN cards...

Of course I gave you bad advice. Good one is way out of your price range.
shaber122
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
October 15, 2013, 05:05:54 PM
 #11

7970+7850+5870=3.79MH/s
Grogorash
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
October 15, 2013, 05:15:20 PM
 #12

Can smelter be used in mining pool or solo only?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 05:27:31 PM
 #13

Can smelter be used in mining pool or solo only?
Only solo is possible now. I have plans to implement pool/miner combo, but don't expect it soon, the progress is very slow...

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 05:29:57 PM
 #14

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day

Of course I gave you bad advice. Good one is way out of your price range.
shaber122
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
October 15, 2013, 06:07:15 PM
 #15

smolen
a little lower intensity?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 06:09:31 PM
 #16

smolen
a little lower intensity?
It's in my TODO list

Of course I gave you bad advice. Good one is way out of your price range.
3dcgminer
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
October 15, 2013, 06:14:38 PM
Last edit: October 15, 2013, 06:24:49 PM by 3dcgminer
 #17

Wanted to check if NVIDIA cards may be of any use, but I get:
"The procedure entry point clRetinDevice could not be located in the dynamic link library."
Updating the driver...

Edit, updated from 320.00 to 320.86, no change, driver is supposed to support OpenCL 1.1, is it too old?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 06:19:53 PM
 #18

Updating the driver...
Don't do it, NVidia is not supported anyway. (I'd better update the first post)

Of course I gave you bad advice. Good one is way out of your price range.
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
October 15, 2013, 06:26:55 PM
 #19

Crashes after about 20-30 seconds for me.

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
3dcgminer
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
October 15, 2013, 06:30:31 PM
 #20

Updating the driver...
Don't do it, NVidia is not supported anyway. (I'd better update the first post)

Answering myself:
Looks like it may be the old nvidia opencl driver that is the problem:
http://stackoverflow.com/questions/15456987/opencl-could-not-find-clretaindevice-in-dll

It happens when you use the C++ bindings header file with OpenCL 1.2 header. For instance, when you run an application compiled with AMD SDK (OpenCL 1.2) on NVIDIA platform (OpenCL 1.1 only).
As fast and dirty work around, you can just edit the AMD SDK cl.h header and undef "CL_VERSION_1_2" preprocessor symbol. If you are not interested to 1.2 features, it should fix your problem.


Any chance of a quick and dirty fix?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 06:30:48 PM
 #21

Crashes after about 20-30 seconds for me.
Next version will come with debug log writer, I was too lazy to implement it properly in the first version Smiley

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 06:47:30 PM
 #22

Don't do it, NVidia is not supported anyway. (I'd better update the first post)
Any chance of a quick and dirty fix?
No Sad
I work now on Primecoin miner. With all respect to mtrtl, the release of his reaper-prime was a fiasco. When my miner will be ready (let's hope it will:)), I'm going to release it to the public and get some profit. Apparently, taking preorders or donations is a wrong way, and this Quark miner was created to test waters with profit-splitting scheme (and also give miner host some real-world testing). There is some copy-protection embedded in precompiled kernel and I cannot implement it for NVidia cards without actual hardware in my hands. So no, don't expect NVidia support soon Sad

Of course I gave you bad advice. Good one is way out of your price range.
3dcgminer
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
October 15, 2013, 06:59:13 PM
 #23

Would prefer a finished Quark miner with pool support, before getting another new miner...
At 12.5% fee, you should get the cash to buy a mid-range NVIDIA card in no time at all.
3dcgminer
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
October 15, 2013, 07:03:21 PM
 #24

Runs fine and fast for 15 minutes on 7970, but 0 blocks for me and 0 payout for the author.
Please add pool support.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 15, 2013, 07:06:12 PM
 #25

Runs fine and fast for 15 minutes on 7970, but 0 blocks for me and 0 payout for the author.
Please add pool support.
I have plans to implement pool/miner combo, but don't expect it soon, the progress is very slow...

Of course I gave you bad advice. Good one is way out of your price range.
Wubbllez
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
October 15, 2013, 07:15:17 PM
 #26

This could be really good for the coin, or really really bad
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
October 15, 2013, 07:31:23 PM
 #27

This should help the coins...xpm needs this as well.
Props for making this op.
victzhang
Full Member
***
Offline Offline

Activity: 193
Merit: 100


View Profile
October 15, 2013, 08:16:10 PM
 #28

Right now it produces almost equal hash rate on my CPU and GPU. I am still doing CPU mining to avoid the royalty. However, as it is just a preview, I think there is still great potential to improve this miner.
I personally like open-source miners, and in this way more people can be involved to improve this miner further. The author can still accept donations and offer early access to donors, like what the author of XPM GPU miner did.
Even though right now the price of Quark is cheap, but I believe it has great potential. The GPU miner will not kill it; rather, it helps promote this coin and discourage botnet miners.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 16, 2013, 08:08:57 AM
 #29

The author can still accept donations and offer early access to donors, like what the author of XPM GPU miner did.

With profit splitting miner I'm getting my reward at the same moment as the owner of hardware. I'd be happy to take preorders/grants/donations in advance, but it's really, really bad idea. Just take a look here:

What happened to mtrlt? Did he just scam us of 75 BTC?
What happened to mtrlt?: A continuing story
[XPM] mtrlt Primecoin OCL GPU Miner, Communication problem Huh
WARNING suspicious behavior with mtrlt
I'm sorry mtrlt XPM GPU miners but...
How much money has mtrlt made from the Primecoin GPU Miner?
Open Discussion for mtrlt's:"[XPM] Working on a GPU miner for Primecoin"
[POLL] Opinions about the Primecoin GPU Miner

Of course I gave you bad advice. Good one is way out of your price range.
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
October 16, 2013, 01:55:08 PM
 #30

The author can still accept donations and offer early access to donors, like what the author of XPM GPU miner did.

With profit splitting miner I'm getting my reward at the same moment as the owner of hardware. I'd be happy to take preorders/grants/donations in advance, but it's really, really bad idea. Just take a look here:

What happened to mtrlt? Did he just scam us of 75 BTC?
What happened to mtrlt?: A continuing story
[XPM] mtrlt Primecoin OCL GPU Miner, Communication problem Huh
WARNING suspicious behavior with mtrlt
I'm sorry mtrlt XPM GPU miners but...
How much money has mtrlt made from the Primecoin GPU Miner?
Open Discussion for mtrlt's:"[XPM] Working on a GPU miner for Primecoin"
[POLL] Opinions about the Primecoin GPU Miner


I think it's fine as long as the fee isn't too big and it's clearly stated and proven in the source code...Problem is, yeah, sharing the source code would make this pointless.
ilostcoins
Sr. Member
****
Offline Offline

Activity: 274
Merit: 250



View Profile
October 16, 2013, 02:16:16 PM
 #31

I think the profit sharing scheme makes sense. If the results are good and people like to use it, they naturally pay for it. If you try it a bit and don't like the results, you don't need to pay for it. Payment scales with the software's productivity.

(I'd also like to mention my interest in an Nvidia version.)

LTC: LSyqwk4YbhBRtkrUy8NRdKXFoUcgVpu8Qb   NVC: 4HtynfYVyRYo6yM8BTAqyNYwqiucfoPqFW   TAG id: 4313
CMC: CAHrzqveVm9UxGm7PZtT4uj6su4suxKzZv   YAC: Y9m5S7M24sdkjdwxnA9GZpPez6k6EqUjUt
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 16, 2013, 05:23:21 PM
 #32

With profit splitting miner I'm getting my reward at the same moment as the owner of hardware.

I think it's fine as long as the fee isn't too big and it's clearly stated and proven in the source code...Problem is, yeah, sharing the source code would make this pointless.
Well, Smelter can be audited even without source code. There is no extra network connections, all generated blocks can be seen in the block explorer, wallet debug log can be examined. Good idea would be to run it in restricted environment with empty wallet without any funds.

Of course I gave you bad advice. Good one is way out of your price range.
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
October 16, 2013, 06:35:59 PM
 #33

With profit splitting miner I'm getting my reward at the same moment as the owner of hardware.

I think it's fine as long as the fee isn't too big and it's clearly stated and proven in the source code...Problem is, yeah, sharing the source code would make this pointless.
Well, Smelter can be audited even without source code. There is no extra network connections, all generated blocks can be seen in the block explorer, wallet debug log can be examined. Good idea would be to run it in restricted environment with empty wallet without any funds.

Right, good call...at least for solo mining it should be easy to monitor it.
I'll give it a shot as soon as I get a proper gpu again mate.
Orrechorre
Sr. Member
****
Offline Offline

Activity: 569
Merit: 250


View Profile
October 16, 2013, 09:43:12 PM
 #34

Im only getting 800kh/s on my 7870, any way you can run this on muliple card on the same machine?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 16, 2013, 11:24:30 PM
Last edit: October 17, 2013, 09:04:04 AM by macmac__
 #35

Working here so far, just 1.05MH/s thou (7950) tomorrow morning we'll see if it has generated a block Smiley
If yes +1,
if no, waiting for adjustable intensity and +0.5  Tongue
E:And we have a block! All we need now is adjustable intensity Wink
https://i.imgur.com/dC02Glys.png
pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
October 17, 2013, 01:41:44 PM
 #36

Working here so far, just 1.05MH/s thou (7950) tomorrow morning we'll see if it has generated a block Smiley
If yes +1,
if no, waiting for adjustable intensity and +0.5  Tongue
E:And we have a block! All we need now is adjustable intensity Wink


What CPU miner did you using?

macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 17, 2013, 04:03:53 PM
 #37


minerd_qv2.2_sse4, found if from somewhere in quarkcoin thread.
cryptrol
Hero Member
*****
Offline Offline

Activity: 637
Merit: 500


View Profile
October 17, 2013, 05:21:15 PM
 #38

What is the power drawn by mining with GPU ? I don't think GPU mining makes any sense with this performance.
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 17, 2013, 06:46:35 PM
 #39

Around 40% of scrypts usage (atleast on my 7950)
[Following data pulled from HWinfo]
Quark: Core 57W Memory 14W Combined 71W
Scrypt: Core 135W Memory 35W Combined 170W

These powers are measured after VRM modules so total card consumption is higher, around 200W in scrypt  and  85W in quark. (Rough approximation with bad multimeter)


Hopefully the miner gets updated to support GCN cards as soon as possible, I'd be more than happy if it would pull 2.5MH/s with 200W power usage, but as performance of 6000-series is great,over 2.5MH/s with 6970, I'm hoping for over 4MH/s when it gets optimized ^^
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
October 17, 2013, 07:11:20 PM
 #40

Around 40% of scrypts usage (atleast on my 7950)
[Following data pulled from HWinfo]
Quark: Core 57W Memory 14W Combined 71W
Scrypt: Core 135W Memory 35W Combined 170W

These powers are measured after VRM modules so total card consumption is higher, around 200W in scrypt  and  85W in quark. (Rough approximation with bad multimeter)


Hopefully the miner gets updated to support GCN cards as soon as possible, I'd be more than happy if it would pull 2.5MH/s with 200W power usage, but as performance of 6000-series is great,over 2.5MH/s with 6970, I'm hoping for over 4MH/s when it gets optimized ^^

That would be amazing! Cheesy
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 17, 2013, 07:37:49 PM
 #41

I read the thread Smiley expect new version soon

Of course I gave you bad advice. Good one is way out of your price range.
lemons
Full Member
***
Offline Offline

Activity: 178
Merit: 100



View Profile
October 18, 2013, 07:01:51 AM
 #42

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day


Profit less  than CPU miner ?
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
October 18, 2013, 07:31:26 PM
 #43

Good work on the program.  I tried it for a couple hours crunching Quark and scored a block with it getting 1.2MH/s with an XFX 7970.  Looking forward to the improvments and optimizations that will come with future versions.

I think the idea of a percent fee is an excellent idea akin to pool operators.  The 1/8 (12.5%) fee is fine for the first few early versions to make development worthwile but I think something in the 2-4% would be much more reasonable once it is more widely released with a wider user base.
soulmann
Full Member
***
Offline Offline

Activity: 221
Merit: 100


View Profile
October 18, 2013, 08:39:15 PM
 #44

7970 is mining LTC at 700 Kilohash/s - it is about 0.68 LTC/day or 0.0082 BTC/day. 1.2 Mhash/s Quark mining  is about 5000 QRK/day or 0.0051 BTC/day and 12.5% to author. So it is more profitable to mine LTC or FTC, then Quark with GPU.

Am I right?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 18, 2013, 09:21:07 PM
 #45

Yes.



Simple question and simple answer Wink
dragon695
Full Member
***
Offline Offline

Activity: 449
Merit: 103


Decentralized Ascending Auctions on Blockchain


View Profile
October 18, 2013, 10:16:29 PM
 #46

Yes.



Simple question and simple answer Wink
Obviously, skimming 1/8 is highway robbery.

iBid     ▐     Decentralized Auctions on Blockchain    (    About us    Telegram   )
▬▬▬▬▬▬▬▬▬▬▬▬▬             AN  AUCTION    ❱   All auctions start at     $0

[  ◥   Google Play      ◥   App Store  ]   ██ SIGN UP ██        with no minimum reserve
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 18, 2013, 11:59:08 PM
 #47

Snip
Obviously, skimming 1/8 is highway robbery.
I wouldn't say it's robbing to get paid for what you do, 12.5% of income is alot but consider this: you wouldn't get any income if he wouldn't have shared his miner, on 6000-series gpus it's highly profitable even with the fee at the moment
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 19, 2013, 08:16:57 PM
 #48

7970 is mining LTC at 700 Kilohash/s - it is about 0.68 LTC/day or 0.0082 BTC/day. 1.2 Mhash/s Quark mining  is about 5000 QRK/day or 0.0051 BTC/day and 12.5% to author. So it is more profitable to mine LTC or FTC, then Quark with GPU.

Am I right?
That's correct. My trick with groestl hash works well for VLIW5, but not for GCN Sad

I think the idea of a percent fee is an excellent idea akin to pool operators.
Thank you! (And there is no risk of 51% attack from me Smiley)

Obviously, skimming 1/8 is highway robbery.
12.5% of mined Quarks is a lot, but I hope that 12.5% of mined Primecoins will be generous. I'll lower royalty percent in the next Quark kernel.


Of course I gave you bad advice. Good one is way out of your price range.
cinnamon_carter
Legendary
*
Offline Offline

Activity: 1148
Merit: 1018


It's about time -- All merrit accepted !!!


View Profile WWW
October 19, 2013, 09:14:30 PM
 #49

My thoughts exactly, There are countless people in the world trying to hustle money away from each other. This is a good example.

Closed source, steals 1/8, possible malware, what could go wrong? Roll Eyes

Check out my coin Photon
Merge Mine 5 other Blake 256 coins - 6x your hash power  https://www.blakecoin.org/

The obvious choice is not always the best choice.

LOOK DEEPER - Look into the Blake 256 Family -- CC
picbb1
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
October 20, 2013, 04:57:23 PM
 #50

6930+6770=3.2MH/s
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 24, 2013, 10:13:53 AM
 #51

When can we expect to see a new version?
I haven't been able to mine as the intensity is way too high to be run in background.
cyruss
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
October 26, 2013, 03:21:47 AM
 #52

smelter miner give 112 quark of 128 block bounty, but in Block explorer absent transaction difference. Where is 16 quark?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 26, 2013, 01:08:17 PM
 #53

When can we expect to see a new version?
I haven't been able to mine as the intensity is way too high to be run in background.
I hope to release new version tomorrow. (The kernel was done on August 2nd, the first smelter version was ready on October 15th. You got the idea about the development speed Smiley)

smelter miner give 112 quark of 128 block bounty, but in Block explorer absent transaction difference. Where is 16 quark?
They are in my wallet Smiley I'll lower royalty a bit in the next version.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 27, 2013, 11:33:46 PM
 #54

New version is ready, download it here
Royalty decreased from 12.5% to 10%
Kernel speed improved for ~40%, from 1.04 to 1.47 MH/s on my 6770
New command line options
-w - worksize, can be 32,64,128 or 256
-g - number of GPU threads
-i - intensity, measures as milliseconds to run the kernel. Don't worry, 100 is pretty small value Smiley
Happy mining!

Of course I gave you bad advice. Good one is way out of your price range.
picbb1
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
October 28, 2013, 04:34:00 AM
 #55

6930+6770=3.7MH/s speed improved for 15%
feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
October 28, 2013, 04:58:13 AM
 #56

New version is ready, download it here
Royalty decreased from 12.5% to 10%
Kernel speed improved for ~40%, from 1.04 to 1.47 MH/s on my 6770
New command line options
-w - worksize, can be 32,64,128 or 256
-g - number of GPU threads
-i - intensity, measures as milliseconds to run the kernel. Don't worry, 100 is pretty small value Smiley
Happy mining!

linux version available?

ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
October 28, 2013, 08:37:21 AM
 #57

Gonna try it...we need pool support.
I think 10% is a fair cut for a capable gpu miner.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 28, 2013, 08:50:39 AM
 #58

6930+6770=3.7MH/s speed improved for 15%
Worse than expected Sad
Quark and Securecoin fall faster than I can boost the kernel, I'll wait and watch exchange rate before putting more work into Quark kernel...

linux version available?
Which flavor of Linux do you use? Actually, smelter is developed on Linux Smiley I must check that nothing GPL'ed gets into the binary and setup VMs for most popular distributions.

I think 10% is a fair cut for a capable gpu miner.
10% is a fair cut for the only gpu miner, a good competing miner will force me to drop the royalty. Or improve the speed Smiley

Of course I gave you bad advice. Good one is way out of your price range.
feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
October 28, 2013, 08:55:21 AM
 #59

linux version available?

I am using ubuntu

smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 28, 2013, 09:06:38 AM
 #60

I am using ubuntu
Saucy Salamander, x64?
(I'm on debian, may be there is some way to build universal linux binary, but VM route would be faster)

Of course I gave you bad advice. Good one is way out of your price range.
feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
October 28, 2013, 09:26:01 AM
 #61

I am using ubuntu
Saucy Salamander, x64?
(I'm on debian, may be there is some way to build universal linux binary, but VM route would be faster)

actually 12.10 x64

applsdev
Sr. Member
****
Offline Offline

Activity: 364
Merit: 251



View Profile WWW
October 28, 2013, 10:23:23 AM
 #62

Saucy Salamander, x64?
(I'm on debian, may be there is some way to build universal linux binary, but VM route would be faster)

Simple build miner and link with all static libraries gcc -static (libc, libstdc++, boost, curl, openssl & e.t.c. ) ... 
(Or build two versions static+dynamic linked)
Orrechorre
Sr. Member
****
Offline Offline

Activity: 569
Merit: 250


View Profile
October 28, 2013, 12:31:20 PM
 #63

my 7870 went from 880kh/s to 1.20mh/s with the new version Cheesy

which flags do everyone use? i use -w128 -g4

abdulmad
Sr. Member
****
Offline Offline

Activity: 672
Merit: 250


View Profile
October 28, 2013, 12:33:45 PM
 #64

Solo or poolmine with the latest version?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 28, 2013, 09:05:04 PM
Last edit: October 28, 2013, 09:31:42 PM by macmac__
 #65

Great update!
Got a 32% boost AND a fluid desktop, awesome  Cheesy

Running at following settings:
https://i.imgur.com/LyulNT8l.jpg
I can keep it running at all times with no effect to my work/media experience and that's why I'll keep it running 'till the end of the world Smiley
When I want to play something I just pause the miner with Process Explorer and when I'm finished I'll let it to roll again.

Solo or poolmine with the latest version?
It's solo

E: Tested Intensity's effect to performance, short 60 second rounds, so it's not 100% waterproof, but it shows to me that going over about 20-30 doesn't give a considerable boots: (yeah, it's low resolution data but it tells something)
[Spreadsheet]
cyruss
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
October 30, 2013, 04:49:23 PM
 #66

best i1000
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
October 30, 2013, 08:31:47 PM
 #67

Latest version works great.  Computer remains usable and no freezing so far.  Now we just need QRK price to @$#&ing go up!  Grin
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 30, 2013, 09:09:36 PM
 #68

Saucy Salamander, x64?
(I'm on debian, may be there is some way to build universal linux binary, but VM route would be faster)

Simple build miner and link with all static libraries gcc -static (libc, libstdc++, boost, curl, openssl & e.t.c. )
libstdc++ and libgcc have special license exceptions for closed-source software, but glibc is under pure LGPL Sad

Solo or poolmine with the latest version?
Solo only, at least for the foreseeable future

Got a 32% boost AND a fluid desktop, awesome  Cheesy
Really, desktop smoothness took more efforts than kernel tweaks, but it well worth it

Latest version works great.  Computer remains usable and no freezing so far.  Now we just need QRK price to @$#&ing go up!  Grin
Let's hope, after the last reward halving traders can trade with no fear for big influx of freshly minted coins Smiley

Of course I gave you bad advice. Good one is way out of your price range.
int3ractivodular
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250

TECHNOLOGY, BABY!


View Profile
October 30, 2013, 09:41:26 PM
 #69

Gonna give this a try later today, haven't mined QRK in a while.
awoland
Legendary
*
Offline Offline

Activity: 1498
Merit: 1021

Was mich nicht umbringt macht mich stärker [F.N.]


View Profile WWW
October 31, 2013, 06:22:14 AM
 #70

libstdc++ and libgcc have special license exceptions for closed-source software, but glibc is under pure LGPL Sad
I know many examples of commercial software with a closed-source for Linux, which does not interfere with licensing restrictions GPL. Such as Autodesk Maya.

Was mich nicht umbringt macht mich stärker [F.N.]
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 01, 2013, 02:49:15 PM
 #71

Problem: I run the miner on desktop PC, it opens and then close the miner after 5 secs. No mining at all and no error message, it just quit back to cmd prompt


imag

O2-Protocol.com
Carbon Offset DeFi
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 01, 2013, 05:13:34 PM
 #72

libstdc++ and libgcc have special license exceptions for closed-source software, but glibc is under pure LGPL Sad
I know many examples of commercial software with a closed-source for Linux, which does not interfere with licensing restrictions GPL. Such as Autodesk Maya.
They have armies of lawyers, I'd better be paranoid Smiley

Problem: I run the miner on desktop PC, it opens and then close the miner after 5 secs. No mining at all and no error message, it just quit back to cmd prompt
Most probably your GPU is not supported. Sorry, no efforts were put into UI, error diagnostics and such things. Well, that's preview and I hope to improve my miner in the future.

Of course I gave you bad advice. Good one is way out of your price range.
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 01, 2013, 05:30:14 PM
 #73

on my notebook with ATI 5870 it does work at 1,20 MH/s but on my desktop with ATI 5970 it doesnt

O2-Protocol.com
Carbon Offset DeFi
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 01, 2013, 05:44:31 PM
 #74

on my notebook with ATI 5870 it does work at 1,20 MH/s but on my desktop with ATI 5970 it doesnt
Oops, there is a problem. Seems that Hemlock (59xx) support is missing from my ATI SDK. If you mine any other coins with 5970 with cgminer or reaper, what are the names of .bin files in miner directory? If they are named Cypress_something.bin there is a hope to resolve the issue without too much efforts.

Of course I gave you bad advice. Good one is way out of your price range.
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 01, 2013, 07:19:25 PM
 #75

scrypt130511Cypressglg2tc8000w256l4.bin

O2-Protocol.com
Carbon Offset DeFi
feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
November 01, 2013, 07:21:03 PM
 #76

libstdc++ and libgcc have special license exceptions for closed-source software, but glibc is under pure LGPL Sad
I know many examples of commercial software with a closed-source for Linux, which does not interfere with licensing restrictions GPL. Such as Autodesk Maya.

so - will we have linux version?

smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 01, 2013, 07:32:13 PM
 #77

so - will we have linux version?
Yes, on this weekends. Actually, it's ready, but I want to push some changes into release.

Of course I gave you bad advice. Good one is way out of your price range.
dragon695
Full Member
***
Offline Offline

Activity: 449
Merit: 103


Decentralized Ascending Auctions on Blockchain


View Profile
November 02, 2013, 01:18:45 AM
 #78

Saucy Salamander, x64?
(I'm on debian, may be there is some way to build universal linux binary, but VM route would be faster)

Simple build miner and link with all static libraries gcc -static (libc, libstdc++, boost, curl, openssl & e.t.c. ) ... 
(Or build two versions static+dynamic linked)
Or he could just stop being greedy and release a modified version of cgminer like YaCoin does so you can compile it yourself.

iBid     ▐     Decentralized Auctions on Blockchain    (    About us    Telegram   )
▬▬▬▬▬▬▬▬▬▬▬▬▬             AN  AUCTION    ❱   All auctions start at     $0

[  ◥   Google Play      ◥   App Store  ]   ██ SIGN UP ██        with no minimum reserve
mattle74
Full Member
***
Offline Offline

Activity: 163
Merit: 100


View Profile
November 02, 2013, 12:37:20 PM
 #79

So my GPU's are mining at 5.2 Mh/s. How often should I find a block at that rate on average?
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 02, 2013, 09:36:30 PM
 #80

any news on the fixed miner version for ATI 5970?

on my notebook with ATI 5870 it does work at 1,20 MH/s but on my desktop with ATI 5970 it doesnt
Oops, there is a problem. Seems that Hemlock (59xx) support is missing from my ATI SDK. If you mine any other coins with 5970 with cgminer or reaper, what are the names of .bin files in miner directory? If they are named Cypress_something.bin there is a hope to resolve the issue without too much efforts.

O2-Protocol.com
Carbon Offset DeFi
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 04, 2013, 08:48:02 PM
 #81

New version is out
The code went through massive refactoring (if everything is OK, nobody will notice Smiley), no kernel updates, statically linked linux x64 binary added, new command line switch --debug for troubleshooting.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 04, 2013, 09:12:45 PM
 #82

Or he could just stop being greedy and release a modified version of cgminer like YaCoin does so you can compile it yourself.
Guess what will happen if I release all the code under BSD/MIT license? The end of free miners era, that's what - every kernel author will wrap their cl code into my monetization framework. Now this scenarion is prevented by GPL, it protects cgminer and reaper from such hijacking.
Regarding Quark mining kernel - it eventually be released, but give me some time to roll out new miner for another coin Smiley

So my GPU's are mining at 5.2 Mh/s. How often should I find a block at that rate on average?
Let's see, Quark difficulty is 128, one 1-diff share gets 2^24 hashes, so on average it should take 128*16777216/5200000 = 413 seconds to find a block.

any news on the fixed miner version for ATI 5970?
Run new version with --debug, it will produce a lot of debugging garbage messages, I hope there will be some hints to solve this problem.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 05, 2013, 12:40:35 AM
 #83

Sorry, I've messed up with the release, new binaries are here

Of course I gave you bad advice. Good one is way out of your price range.
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 05, 2013, 04:58:11 PM
 #84

Royalty is 1/10, shouldnt it be 1/8?

Sorry, I've messed up with the release, new binaries are here

O2-Protocol.com
Carbon Offset DeFi
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 05, 2013, 05:18:51 PM
 #85

This are the results of the debug for my 5970

Code:
c:\smelter>smelter -o http://127.0.0.1:8385 -u user -p password -w 64 -g 1 -i 20
0 -a sTpJCcM1QhotTWd51RjK4dYRZkGVbNdmMK --debug
smelter v0.3 (c) Smolen
Royalty: 1/10
Pool::Start()
Pool::ThreadFunc() started
nPlatforms==1
Platform #0 id:65FD4514
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (923.1)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing
# of devices: 2
        Device #0 id==00D20FD0
        CL_DEVICE_NAME:Cypress
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (923.1)
        CL_DRIVER_VERSION:CAL 1.4.1720 (VM)
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_at
omics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_kh
r_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_st
ore cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl
_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_SIZE:1073741824
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:725
        CL_DEVICE_MAX_COMPUTE_UNITS:20
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:536870912
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

Loaded from archive
Building from binary quark0td_Cypress_W64.bin
Building from binary done: quark0td_Cypress_W64.bin
SummonProgram done
        Device #1 id==052AF868
        CL_DEVICE_NAME:Cypress
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (923.1)
        CL_DRIVER_VERSION:CAL 1.4.1720 (VM)
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_at
omics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_kh
r_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_st
ore cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl
_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_SIZE:1073741824
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:725
        CL_DEVICE_MAX_COMPUTE_UNITS:20
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:536870912
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

Loaded from archive
Building from binary quark0td_Cypress_W64.bin

c:\smelter>

O2-Protocol.com
Carbon Offset DeFi
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 05, 2013, 05:27:39 PM
 #86

Royalty is 1/10, shouldnt it be 1/8?
I reduced my royalty, 10% is lesser than 12.5%

This are the results of the debug for my 5970
Thank you, I'll take a look at it. Something is wrong with OpenCL or with a way I use it Smiley

Of course I gave you bad advice. Good one is way out of your price range.
Orrechorre
Sr. Member
****
Offline Offline

Activity: 569
Merit: 250


View Profile
November 05, 2013, 10:26:13 PM
 #87

how can 5870 get the same mh/s as my 7870? im also getting 1.20mh/s
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
November 05, 2013, 11:19:40 PM
 #88

Another usage update for shits n giggles:

I have been using Version2 (not the latest update) for a while now and it seems to run as long as I want without issues on system#1 (Windows7 64 4x MSI 7950s total 5.9Mhash/s) and system #2 (Windows7 64 2x PowerColour 7970 + 1x PowerColour 6970 Total 4.7MHash/s) but tends to freeze up within 30minutes on system #3 (Windows8 64 1x XFX 7970 1.7MHash/s).  Not sure why it isn't happy on system#3.

Spoetnik
Legendary
*
Offline Offline

Activity: 1540
Merit: 1011


FUD Philanthropist™


View Profile
November 06, 2013, 03:16:42 AM
 #89

Or he could just stop being greedy and release a modified version of cgminer like YaCoin does so you can compile it yourself.
Guess what will happen if I release all the code under BSD/MIT license? The end of free miners era, that's what - every kernel author will wrap their cl code into my monetization framework. Now this scenarion is prevented by GPL, it protects cgminer and reaper from such hijacking.
Regarding Quark mining kernel - it eventually be released, but give me some time to roll out new miner for another coin Smiley

So my GPU's are mining at 5.2 Mh/s. How often should I find a block at that rate on average?
Let's see, Quark difficulty is 128, one 1-diff share gets 2^24 hashes, so on average it should take 128*16777216/5200000 = 413 seconds to find a block.

any news on the fixed miner version for ATI 5970?
Run new version with --debug, it will produce a lot of debugging garbage messages, I hope there will be some hints to solve this problem.

The end of free miners era ? ahaahahahaa

FUD first & ask questions later™
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
November 06, 2013, 04:05:37 AM
 #90

how can 5870 get the same mh/s as my 7870? im also getting 1.20mh/s
Miner seems to be gpu-clock limited atm. I've been hitting 1.4Mh/s with a 7950 set at 1000/1250. Intensity of 100 (or thereabouts).
FlipPro
Legendary
*
Offline Offline

Activity: 1764
Merit: 1015


View Profile
November 06, 2013, 06:24:29 AM
 #91

How much QRK would it take you to open source this bad boy ?

[serious question] response appreciated.
OZR
Sr. Member
****
Offline Offline

Activity: 281
Merit: 250

You're in my wonderland!


View Profile
November 06, 2013, 07:22:09 AM
 #92

Thx   Wink

- Error on start "smelter has stopped working"

Debug message. "correctly"

Code:
smelter v0.3 (c) Smolen
Royalty: 1/10
Pool::Start()
Pool::ThreadFunc() started
nPlatforms==1
Platform #0 id:65F93864
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (1084.2)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing
# of devices: 1
        Device #0 id==04BEE818
        CL_DEVICE_NAME:Pitcairn
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (1084.2)
        CL_DRIVER_VERSION:1084.2 (VM)
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_at
omics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_kh
r_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_a
tomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl
_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf
cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_dx9_media_sharing cl_
amd_c1x_atomics
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:16384
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:64
        CL_DEVICE_GLOBAL_MEM_SIZE:1073741824
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:950
        CL_DEVICE_MAX_COMPUTE_UNITS:16
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:804257792
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

Loaded from archive
Building from binary quark0td_Pitcairn_W64.bin
Building from binary done: quark0td_Pitcairn_W64.bin
SummonProgram done
main loop
ThreadHost::Thread() started
1:0 A:0 R:0 HW:0 Speed: 745.47KH/s 5s: 747.10KH/s
Exi^CTerminate batch job (Y/N)? y


Debug message. "Error"

Code:
smelter v0.3 (c) Smolen
Royalty: 1/10
Pool::Start()
Pool::ThreadFunc() started
nPlatforms==1
Platform #0 id:65F93864
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (1084.2)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing
# of devices: 1
        Device #0 id==04BEE818
        CL_DEVICE_NAME:Pitcairn
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (1084.2)
        CL_DRIVER_VERSION:1084.2 (VM)
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_at
omics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_kh
r_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_a
tomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl
_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf
cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_dx9_media_sharing cl_
amd_c1x_atomics
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:16384
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:64
        CL_DEVICE_GLOBAL_MEM_SIZE:1073741824
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:950
        CL_DEVICE_MAX_COMPUTE_UNITS:16
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:804257792
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

Loaded from archive
Building from binary quark0td_Pitcairn_W64.bin

I want to support nvidia. (amd and so works on the script)
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 06, 2013, 04:56:01 PM
 #93

how can 5870 get the same mh/s as my 7870? im also getting 1.20mh/s
My trick with groestl hash works well for VLIW5, but not for GCN Sad

- Error on start "smelter has stopped working"
Debug message. "Error"
Code:
Loaded from archive
Building from binary quark0td_Pitcairn_W64.bin
Seems the same error as with 5970, a crash inside clBuildProgram(). I'm looking into it.
Code:
	logDbg << "Building from binary " << strBinaryFilename << endl;
try
{
WRAPOPENCL::clBuildProgram(program, 1, &paramCreate.device, NULL, NULL, NULL );
logDbg << "Building from binary done: " << strBinaryFilename << endl;
return program;
}
catch(const SMError &err)
{
logErr << "clBuildProgram call failed, error:" << err.what() << endl;
logErr << "Build log:" << endl << SMCL::GetBuildLog(program, paramCreate.device) << endl;
}


I want to support nvidia. (amd and so works on the script)
Not with current Quark price, it's too low Sad

How much QRK would it take you to open source this bad boy ?

[serious question] response appreciated.
How much QRK would it take to pass the software to good QA lab? And I'm getting good bug reports for free Smiley
Regarding Quark mining kernel - it eventually be released, but give me some time to roll out new miner for another coin Smiley

Of course I gave you bad advice. Good one is way out of your price range.
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
November 06, 2013, 09:07:59 PM
 #94

Mate, couldn't get this to run on dual 7970s using win 8. Sad
What settings do you reccomend? Maybe I need to install distributables and whatnot...fresh win 8 install.
pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
November 07, 2013, 03:39:20 PM
 #95

Mate, couldn't get this to run on dual 7970s using win 8. Sad
What settings do you reccomend? Maybe I need to install distributables and whatnot...fresh win 8 install.
I have a same problem with the same card. It's didn't work for me.

feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
November 07, 2013, 03:57:40 PM
 #96

tried to run it on ubuntu but got this error:

Code:
Royalty: 1/10
Pool::Start()
Pool::ThreadFunc() started
nPlatforms==1
Platform #0 id:0x7f9ae3ca5ee0
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (1084.4)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
# of devices: 2
        Device #0 id==0x1eab3a0
        CL_DEVICE_NAME:Cypress
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (1084.4)
        CL_DRIVER_VERSION:1084.4
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_SIZE:536870912
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:785
        CL_DEVICE_MAX_COMPUTE_UNITS:20
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:536870912
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

No binary found: quark0td_Cypress_W64.bin
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
        Device #1 id==0x1f75600
        CL_DEVICE_NAME:Cypress
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (1084.4)
        CL_DRIVER_VERSION:1084.4
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:0
        CL_DEVICE_GLOBAL_MEM_SIZE:536870912
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:785
        CL_DEVICE_MAX_COMPUTE_UNITS:18
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:536870912
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

No binary found: quark0td_Cypress_W64.bin
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
main loop
ThreadHost::Thread() started
ThreadHost::Thread() started
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
ThreadHost::Thread() finished
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
ThreadHost::Thread() finished


csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 08, 2013, 03:30:27 AM
 #97

any release fix for the ATI 5970? cmon, i dont wanna go with the other miner guy

O2-Protocol.com
Carbon Offset DeFi
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
November 08, 2013, 09:01:53 PM
 #98

After my last post I am now tending to get eventual freezes on any system with a 7970 in it anywhere from 30 minutes to 8 hours after start.  The 7950s run for days with no issues.

One thing I like about Smelter is that is is obvously much less stressing on teh video cards than running Scrypt miners.  They stay 50-60oC with no additional fans blowing on them.  For me this is great as it is quiter and cooler and my wife doesn't freak out having them running overnight.  So I can scrypt in the day and smelt at night...
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
November 08, 2013, 10:58:00 PM
 #99

After my last post I am now tending to get eventual freezes on any system with a 7970 in it anywhere from 30 minutes to 8 hours after start.  The 7950s run for days with no issues.

One thing I like about Smelter is that is is obvously much less stressing on teh video cards than running Scrypt miners.  They stay 50-60oC with no additional fans blowing on them.  For me this is great as it is quiter and cooler and my wife doesn't freak out having them running overnight.  So I can scrypt in the day and smelt at night...

Scrypt and smelt! Cheesy

Can you help me out with settings for 7970s? I couldn't get it to run, do I need any extra dependencies or libraries for win 8?
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
November 09, 2013, 12:11:55 AM
 #100

I have not had to do anything extra to get it running on the 7970s but as I mentioned it does seem prone to freezing after some time on any of my systems that have 1 or more 7970s on them.  The only optional flag commands I use are -g 2.

I don't know if it is the XFX vs PowerColour or Windows8 vs Windows7 but the system I have the most trouble with is Windows8 with a single XFX 7970.  Smelter freezes a lot on it but it always starts up fine.  If I start it running before going to work this system will have always frozen at some point before getting back home.  The Windows7 PowerColour system can usually go 8hrs+ but the few times I have tried to let it run 24hrs/day it will freeze at some point.

What brand of 7970 do you have out of interest?
ivanlabrie
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
November 09, 2013, 01:38:21 AM
 #101

I have not had to do anything extra to get it running on the 7970s but as I mentioned it does seem prone to freezing after some time on any of my systems that have 1 or more 7970s on them.  The only optional flag commands I use are -g 2.

I don't know if it is the XFX vs PowerColour or Windows8 vs Windows7 but the system I have the most trouble with is Windows8 with a single XFX 7970.  Smelter freezes a lot on it but it always starts up fine.  If I start it running before going to work this system will have always frozen at some point before getting back home.  The Windows7 PowerColour system can usually go 8hrs+ but the few times I have tried to let it run 24hrs/day it will freeze at some point.

What brand of 7970 do you have out of interest?

A friend has two msi 7970 ref pcb, older revisions. 925/1375 stock clocks and driver 13.4 with win 8 64.
I can't get it to start and mine. Maybe my conf is wrong?
Can you post your quarkcoin conf and the smelter cmd?
Thanks! I'll tip ya :p
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 09, 2013, 05:48:11 AM
 #102

smelter .03 1.20 Mh/s only (config: smelter -o http://127.0.0.1:8770 -u username -p password -w 64 -g 1 -i 1000)

ATI Mobility 5870 with latest ATI BETA driver


sube

O2-Protocol.com
Carbon Offset DeFi
asor
Hero Member
*****
Offline Offline

Activity: 809
Merit: 1008



View Profile
November 15, 2013, 04:00:23 PM
 #103

Any chance to add the parameter/argument d like cgminer has to use a specific device?
pvkpgp
Full Member
***
Offline Offline

Activity: 189
Merit: 100


View Profile
November 21, 2013, 01:08:33 AM
 #104

Problem: I run the miner on desktop PC,


Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Error: curl_easy_perform() failed: Couldn't connect to server

MY GPG ID (Public Key): f32e3973
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
November 21, 2013, 02:43:30 AM
 #105

this thread is dead

O2-Protocol.com
Carbon Offset DeFi
nikmal
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
November 25, 2013, 05:04:23 PM
 #106


Hi. When to expect the development of miner? With the growth of the received many users, solo mining there will be no result. Need a miner, working with the pool.
dE_logics
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile WWW
November 26, 2013, 03:49:35 AM
 #107

Closed source Windows malware.

▄▄▄█████████▄▄▄
▄▄█████████████████████▄▄
▄██████████▄▄▄    ▀▀▀███████▄
▄██████████████████▄▄▄   ▀▀█████▄
████████████████████████▌  ▄███████
██████████████▀▀    ▀▀██▀ ▄███▀ ▀████
███████████▀▀  ▄▄ ▄▄     ▄█████▄  ▀████
███████████  ▄▄ ▀█████▄ ▄█▀  █████  ▀████
▄██████████   ▀████▀  ▀███     █████  ▀███▄
██████████▌  ▄████▄  ▄█▀▀██▄   ▐█████  ████
██████████   ▀▀ ▀████▀    ██    ██████ ████
██████████▌      ▄███▄  ▄██▄   ▐██████H████
▀██████████▄   ▄█▀  ▀████▀▀▀   ███████████▀
██████████▀ ▄█▀    ██▀▀██   ▄████████████
███████▀ ▄███▄           ▄█████████████
█████▄▄█████████▄▄▄▄▄████████████████
▀█████████████████████████████████▀
▀█████████████████████████████▀
▀▀███████████████████████▀▀
▀▀███████████████▀▀
▀▀▀▀▀▀▀▀▀
.






  

             ▄████▄▄   ▄
█▄          ██████████▀▄
███        ███████████▀
▐████▄     ██████████▌
▄▄██████▄▄▄▄█████████▌
▀████████████████████
  ▀█████████████████
  ▄▄███████████████
   ▀█████████████▀
    ▄▄█████████▀
▀▀██████████▀
    ▀▀▀▀▀
  

                   ▄▄████
              ▄▄████████▌
         ▄▄█████████▀███
    ▄▄██████████▀▀ ▄███▌
▄████████████▀▀  ▄█████
▀▀▀███████▀   ▄███████▌
      ██    ▄█████████
       █  ▄██████████▌
       █  ███████████
       █ ██▀ ▀██████▌
       ██▀     ▀████
                 ▀█▌
  

             █▀▀▀▄▄▄██▄
             █     ▀██▀
            █
         ▄▄▄█▄▄▄
 ████▄▄███████████▄▄████
▐██████▀▀███████▀▀██████▌
 ▀████    █████    ████▀
  ████▄  ▄█████▄  ▄████
  ▀███████████████████▀
   ▀████▄▀█████▀▄████▀
     ▀▀███▄▄▄▄▄███▀▀
         ▀▀▀▀▀▀▀


          ▄████████
          █████████
          █████
          █████
      █████████████
      █████████████
          █████
          █████
          █████
          █████
          █████


█▄▄              █▄▄
█████▄▄         ██████▄▄
████████       ████████ █
████████ ██   ████████ ██
████████ ███ ████████ ███
████████ ████ ██████ ████
████████ █████ ████ █████
████████ ▀█████ ██ ██████
████████    ▀▀██  ███████
▀███████         ▀███████
   ▀▀███            ▀▀███
       ▀                ▀
Spoetnik
Legendary
*
Offline Offline

Activity: 1540
Merit: 1011


FUD Philanthropist™


View Profile
November 26, 2013, 10:37:10 PM
 #108

busted


scam


gpl

yadaddadadada

FUD first & ask questions later™
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
November 27, 2013, 05:26:41 AM
 #109

Sorry for abandoning the thread. I have working Protoshares kernel (once profitable but now useless), half-done Primecoin kernel and no time to finish the work and do a new release Sad

Of course I gave you bad advice. Good one is way out of your price range.
Spoetnik
Legendary
*
Offline Offline

Activity: 1540
Merit: 1011


FUD Philanthropist™


View Profile
November 27, 2013, 05:51:18 AM
 #110

i hear ya man

i worked soooooooo bloody much on my miner mod i got Super burnt out and needed a break
this stuff is exhausting. especially with tech support lol

gl

FUD first & ask questions later™
Pure-Gold
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
November 27, 2013, 08:55:51 PM
 #111

I'm getting the error:
Quote
Request error:Server report an error, request:{"result":null,"error":{"code":-10,"message":"Quarkcoi
n is downloading blocks..."},"id":null}

https://i.imgur.com/Rr5cJpG.png
SpeedDemon13
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile WWW
November 27, 2013, 11:52:43 PM
 #112

Does this work fine for a HD 5870? Does this work both for solo and pools?

CRYPTSY exchange: https://www.cryptsy.com/users/register?refid=9017 BURST= BURST-TE3W-CFGH-7343-6VM6R BTC=1CNsqGUR9YJNrhydQZnUPbaDv6h4uaYCHv ETH=0x144bc9fe471d3c71d8e09d58060d78661b1d4f32 SHF=0x13a0a2cb0d55eca975cf2d97015f7d580ce52d85 EXP=0xd71921dca837e415a58ca0d6dd2223cc84e0ea2f SC=6bdf9d12a983fed6723abad91a39be4f95d227f9bdb0490de3b8e5d45357f63d564638b1bd71 CLAMS=xGVTdM9EJpNBCYAjHFVxuZGcqvoL22nP6f SOIL=0x8b5c989bc931c0769a50ecaf9ffe490c67cb5911
duuuuude
Hero Member
*****
Offline Offline

Activity: 938
Merit: 500


View Profile
November 27, 2013, 11:58:04 PM
 #113

nope solo only, which makes it almost worthless now, it was pretty good while the difficulty was low though.

J
SpeedDemon13
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile WWW
November 28, 2013, 12:42:18 AM
 #114

nope solo only, which makes it almost worthless now, it was pretty good while the difficulty was low though.

J

That's kind of sucks. This can be adapted for a pool, if someone wanted to take that challenge on.

CRYPTSY exchange: https://www.cryptsy.com/users/register?refid=9017 BURST= BURST-TE3W-CFGH-7343-6VM6R BTC=1CNsqGUR9YJNrhydQZnUPbaDv6h4uaYCHv ETH=0x144bc9fe471d3c71d8e09d58060d78661b1d4f32 SHF=0x13a0a2cb0d55eca975cf2d97015f7d580ce52d85 EXP=0xd71921dca837e415a58ca0d6dd2223cc84e0ea2f SC=6bdf9d12a983fed6723abad91a39be4f95d227f9bdb0490de3b8e5d45357f63d564638b1bd71 CLAMS=xGVTdM9EJpNBCYAjHFVxuZGcqvoL22nP6f SOIL=0x8b5c989bc931c0769a50ecaf9ffe490c67cb5911
Fablio2
Sr. Member
****
Offline Offline

Activity: 464
Merit: 252



View Profile
November 28, 2013, 09:08:41 AM
 #115

Is it  possible to mine with GPU miner on pool?
What pool works with GPU-miner?
lemons
Full Member
***
Offline Offline

Activity: 178
Merit: 100



View Profile
November 28, 2013, 02:18:26 PM
 #116

Sorry for abandoning the thread. I have working Protoshares kernel (once profitable but now useless), half-done Primecoin kernel and no time to finish the work and do a new release Sad


GPU miner for Protoshare / Primecoin ?
flayway
Full Member
***
Offline Offline

Activity: 219
Merit: 102


View Profile
November 28, 2013, 04:39:58 PM
 #117

Working this with GeForce GTX 650 Ti Boost?

XCP:     19zzpgk3oakH2b7zd63mw3DadtNkvefVfo    BTC:     1ASSkiRsqRUUp5Y8YQYnuc41fBbYR3iRD2
Spoetnik
Legendary
*
Offline Offline

Activity: 1540
Merit: 1011


FUD Philanthropist™


View Profile
November 28, 2013, 05:59:30 PM
 #118

read page 1 guys Wink

FUD first & ask questions later™
Fablio2
Sr. Member
****
Offline Offline

Activity: 464
Merit: 252



View Profile
November 29, 2013, 06:09:20 AM
 #119

read page 1 guys Wink
SOLO mine works well, but GPU mining on pool doesn't work. If You know something about mining on pool - please write, but we don't need comments like this  - "read page 1 guys".
||bit
Hero Member
*****
Offline Offline

Activity: 924
Merit: 506


View Profile
November 30, 2013, 02:06:49 PM
Last edit: November 30, 2013, 02:57:56 PM by ||bit
 #120

I finally got rid from the last pieces of GPL'ed code in my own miner and can now release it to the public. This miner is not free, a royalty of 1/8 (12.5%) is deducted from every mined block. (Coinbase transaction have 2 outputs, so I get my fee at exactly the same moment you'll get your coins).

Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78

Edit quarkcoin.conf (or Offering.conf, or securecoin.conf) file of your wallet to enable solo-mining, put your own username and password there:
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1

Edit sm.cmd from downloaded archive, put your own username, password and wallet address there:
smelter -o http://127.0.0.1:8772 -u username -p password -a QNiGvoYctyMwzV1ZjNbjhEoKdQVzFKsmVw

This is pre-alpha software, expect all kinds of bugs to be found, don't hesitate to report it here!
NVidia and old/rare AMD cards are not supported. Please, give me some time to iron out bugs Smiley

Where is this quarkcoin.conf file located exactly? Searching the computer finds nothing. Nothing in the wallet data folder or the folder that launches the wallet executable.
Wubbllez
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
December 01, 2013, 03:00:13 AM
 #121

what card gets the best hashes?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 02, 2013, 05:35:52 AM
 #122

/snip/

Where is this quarkcoin.conf file located exactly? Searching the computer finds nothing. Nothing in the wallet data folder or the folder that launches the wallet executable.

It does not exist by default, you must create it at %appdata%/Quarkcoin/quarkcoin.conf (wallet data folder)

what card gets the best hashes?

Radeon 5000 and 6000 series cards run great. The best single die gpu would be 6970, I think
zoro
Full Member
***
Offline Offline

Activity: 226
Merit: 100


View Profile
December 02, 2013, 06:25:03 AM
 #123

2x5870 = 4MH
good or bad?

"killer app" of BTC = MasterCoin https://bitcointalk.org/index.php?topic=265488.0Mastercoin(A new protocol layer on top of Bitcoin)
BitcoinBA
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
December 03, 2013, 03:42:46 PM
 #124

Hi guys,

just wanted to give it a try but keep getting this message:



NVIDIA GeForce GT 220M (old laptop)

Any ideas?

Thank you!

macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 04, 2013, 12:27:39 AM
 #125

2x5870 = 4MH
good or bad?

That's really nice!
It equates to around 73 quarks per day and 14 SRCs at current difficulty. (Minus the 10% royalty)

Hi guys,

just wanted to give it a try but keep getting this message:

https://i.imgur.com/r66vGeh.png

NVIDIA GeForce GT 220M (old laptop)

Any ideas?

Thank you!

You should've read the 1st post completely


NVidia and old/rare AMD cards are not supported.

Iced
Full Member
***
Offline Offline

Activity: 628
Merit: 208


Belgian based crypto-enthusiast


View Profile
December 04, 2013, 01:37:23 AM
 #126

Posting to follow up this thread Smiley

No signature for now
busoni
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

Owner of Poloniex


View Profile
December 05, 2013, 01:30:29 AM
 #127

This seems to work pretty well. My 5850s get about 2.5MH/s each. If the reported hash rate is accurate, then SecureCoin is the most profitable coin to mine with GPUs now. Not sure about the reality yet; I've only found one block, and it has been about 7 hours. With my total of 18MH/s, I should be getting a block about every 2.7 hours. We shall see.

Poloniex.com - Fast crypto exchange with margin trading, advanced charts, and stop-limit orders
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
December 05, 2013, 04:47:09 AM
 #128

The ability to specify which gpu to mine would be great..I use my 5870 for normal activities and my second card for mining.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
fyubr
Full Member
***
Offline Offline

Activity: 214
Merit: 100



View Profile
December 05, 2013, 08:58:54 AM
 #129

I am getting



Created the config file and everything
busoni
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

Owner of Poloniex


View Profile
December 05, 2013, 09:43:59 PM
 #130

I am getting

...

Created the config file and everything

Looks like you're using an old version. The newest version (I think) is here: http://rghost.net/49940688

(See smolen's post a couple pages back if you don't trust me)

Poloniex.com - Fast crypto exchange with margin trading, advanced charts, and stop-limit orders
crazyearner
Legendary
*
Offline Offline

Activity: 1820
Merit: 1001



View Profile
December 05, 2013, 10:18:59 PM
 #131

Help needed. On the latest verison I see that -I is set to 200 is this a typeo or actualy ment to be 200

=
  R E B E L L I O U S 
  ▄▀▀▀▀▀▄▄                           ▄▄▀▀▀▀▀▄
▄▀        █▄▄                     ▄▄█        ▀▄
█            █████████████████████            █
█▄          ██       ██ ██       ██          ▄█
█        █            █            █        █
  █    █               █               █    █
   █ ██               █ █               ██ █
    █ █               █ █               █ █
    █ ███▄  █████▄   ██ ██   ▄█████  ▄███ █
    █     ███     █         █     ███     █
     █   █   ▀███ █  █   █  █ ███▀   █   █
     █   █      █ █  █   █  █ █      █   █
     █   █      ██  █     █  ██      █   █
      █  █     ██  █       █  ██     █  █
      █  █    ██  █ ███████ █  ██    █  █
      █ ███   ██  █         █  ██   ███ █
       █   ▀███      █   █      ███▀   █
        █     ██       █       ██     █
         █      █   ▄▄███▄▄   █      █
          ███   ███▀       ▀███   ███
             █████           █████
                  ███████████
  ▄▀▀▀▀▀▄▄                           ▄▄▀▀▀▀▀▄
▄▀        █▄▄                     ▄▄█        ▀▄
█            █████████████████████            █
█▄          ██       ██ ██       ██          ▄█
█        █            █            █        █
  █    █               █               █    █
   █ ██               █ █               ██ █
    █ █               █ █               █ █
    █ ███▄  █████▄   ██ ██   ▄█████  ▄███ █
    █     ███     █         █     ███     █
     █   █   ▀███ █  █   █  █ ███▀   █   █
     █   █      █ █  █   █  █ █      █   █
     █   █      ██  █     █  ██      █   █
      █  █     ██  █       █  ██     █  █
      █  █    ██  █ ███████ █  ██    █  █
      █ ███   ██  █         █  ██   ███ █
       █   ▀███      █   █      ███▀   █
        █     ██       █       ██     █
         █      █   ▄▄███▄▄   █      █
          ███   ███▀       ▀███   ███
             █████           █████
                  ███████████
  R E B E L L I O U S
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 06, 2013, 03:39:36 AM
 #132

Help needed. On the latest verison I see that -I is set to 200 is this a typeo or actualy ment to be 200
Meant to be 200. The intensity scaling for Smelter has a bigger range than cgminer or guiminer.
gizzig
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile WWW
December 06, 2013, 04:39:05 PM
 #133

Any idea how to use a pool?
In "solo" mode is just impossible to get a block!
perhaps using a proxy?

Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 07, 2013, 01:00:51 AM
 #134

You're not the only one - I've not managed to overcome the "couldn't connect to server" issue.
tucksmcgucks
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 07, 2013, 07:32:22 AM
 #135

Looks like someone beat the OP to the catch on a QRK GPU miner that connects to a pool!

http://quarkcoin.tumblr.com/

http://media.tumblr.com/b6587b360e66fb135e70ba7f4e52d42c/tumblr_inline_mxc4l3C4CH1s4bsfk.png

http://media.tumblr.com/be79715796dff543e4bbc056869c6084/tumblr_inline_mxc4ldGK6Q1s4bsfk.png

Download link:  http://rghost.net/50746534

I just found this tonight, and it appears to be very recent. Not sure if I trust it yet, however....
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 07:38:17 AM
 #136

I'll try it on a crashbox

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 08:22:23 AM
 #137

ok, I'm running it and it appears to be mining. though I don't see any activity on qrk.coinmine.pl. I"ll let it run overnight and see what it does.

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
Tenchi
Full Member
***
Offline Offline

Activity: 322
Merit: 100



View Profile WWW
December 07, 2013, 08:27:19 AM
 #138

the GPU miner from ScarletRose only detects the Intel HD 4000 GPU of my CPU and not my Radeon 7850... anyone knows how to change that?

   ⚡⚡ PRiVCY ⚡⚡   ▂▃▅▆█ PRiVCY (PRIV) is a new PoW/PoS revolutionary privacy project  ☞ Best privacy crypto-market! █▆▅▃▂
    Own Your Privacy! ───────────────── WebsiteGithub  |  Bitcointalk  |  Twitter  |  Discord  |  Explorer ─────────────────
   ✯✯✯✯✯                 ✈✈✈[Free Airdrop - Starts 9th June][Tor]✈✈✈ ║───────────║ Wallet ➢ Windows  |  macOS  |  Linux
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 08:33:26 AM
 #139

how do you tell what it finds?

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
Tenchi
Full Member
***
Offline Offline

Activity: 322
Merit: 100



View Profile WWW
December 07, 2013, 08:41:25 AM
 #140

when you start the program it writes:
#Detecting GPU....

   ⚡⚡ PRiVCY ⚡⚡   ▂▃▅▆█ PRiVCY (PRIV) is a new PoW/PoS revolutionary privacy project  ☞ Best privacy crypto-market! █▆▅▃▂
    Own Your Privacy! ───────────────── WebsiteGithub  |  Bitcointalk  |  Twitter  |  Discord  |  Explorer ─────────────────
   ✯✯✯✯✯                 ✈✈✈[Free Airdrop - Starts 9th June][Tor]✈✈✈ ║───────────║ Wallet ➢ Windows  |  macOS  |  Linux
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 09:26:18 AM
 #141

hmm, it doesn't list anything when it does that for me. just says detecting gpu[]

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 07, 2013, 10:23:54 AM
 #142

miner found by tucksmcgucks works and reports findings (yay !!!) but nothing appears in http://www.coinmine.pl/qrk??

Anyone got QRK from this?
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 07, 2013, 12:41:36 PM
 #143



Re: ScarletRose miner - it does show a hash rate of about ~700-800 and has activity but AMD Catalyst shows 0% GPU activity whilst it's running AND the hashrate on my Quark CPU miner seems to more than halve.

No other GPUs, on board or otherwise in this system.

Oh and qcore64.dll was still active in Task Manager after closing the ScarletRose miner.... no thanks.  I wish I could get Smelter working but I still have the "couldn't connect to server" issue.
MBTY
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
December 07, 2013, 01:38:56 PM
 #144

How long should I wait to mine quark in solo mode?
Code:
1:1262 A:0 R:0 HW:0 Speed: 1.47MH/s 5s: 1.46MH/s

Sb.bat is
Code:
smelter -o http://127.0.0.1:8772 -u username -p password -a QPuJArgxtDD997qUmkxLehRhxf7QST3SY8 -w 64 -g 2 -i 200
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 02:14:44 PM
 #145



Re: ScarletRose miner - it does show a hash rate of about ~700-800 and has activity but AMD Catalyst shows 0% GPU activity whilst it's running AND the hashrate on my Quark CPU miner seems to more than halve.

No other GPUs, on board or otherwise in this system.

Oh and qcore64.dll was still active in Task Manager after closing the ScarletRose miner.... no thanks.  I wish I could get Smelter working but I still have the "couldn't connect to server" issue.

yup, exact same here. it's gone

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 07, 2013, 06:23:10 PM
Last edit: December 07, 2013, 06:59:22 PM by macmac__
 #146

Looks like someone beat the OP to the catch on a QRK GPU miner that connects to a pool!

Download link:  http://rghost.net/50746534

I just found this tonight, and it appears to be very recent. Not sure if I trust it yet, however....
as others have found out too:

SCAM ALERT

1. Libsnd is a email tool.
2. Qminer gets detected as a backdoor
3. You can give it any username/password combo you want, it doesn't care of authenticity
4. Fake stats
  1) No gpu usage at all, cards power consumption same as in idle
  2) qcore uses cpu to mine something, or just to cover it's steps, but the shown khash/s doesn't correlate in any way to either cpu, gpu or integrated gpu speed.
5. Libsnd starts to send data to a russian email server (smtp.yandex.ru)

So if you've run this, on a machine with a wallets, I suggest you to move coins away from your current wallets!
Your coinmine passwords are compromised too, so change them as soon as the site comes back.
Some have fallen to this, atleast the account shown in miner window, if it's legit, has gotten some balance to it :/
http://176.221.46.81/address/QWu8maYVxDAmLG9VUyq7kdRQXLP8jksTNM
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 07, 2013, 08:23:39 PM
 #147

Hello,

i downloaded and used the scarletrose-thing around 11:00. I just synced my Quarkcoin Wallet and found a transaction to QXVK7V3vEEMPe8DaVTyqcSbDJ6WKGzcPHS
I just wanted to start with a crypto and now lost my whole balance

Status: 1177 Bestätigungen
Datum: 07.12.2013 11:58
An: QXVK7V3vEEMPe8DaVTyqcSbDJ6WKGzcPHS
Belastung: -17.9964 QRK
Nettobetrag: -17.9964 QRK
Transaktions-ID: 4364a8b239fa4e0aae34afc0727e8c450182996c6f736a9b646195935e945aa9

I could kick myself Sad I just wanted to trade something around, now my trust and work is useless

SCAM :/
Tenchi
Full Member
***
Offline Offline

Activity: 322
Merit: 100



View Profile WWW
December 07, 2013, 08:27:55 PM
 #148

have used it to but no transactions so far. have you encrypted your wallet? because I have.


   ⚡⚡ PRiVCY ⚡⚡   ▂▃▅▆█ PRiVCY (PRIV) is a new PoW/PoS revolutionary privacy project  ☞ Best privacy crypto-market! █▆▅▃▂
    Own Your Privacy! ───────────────── WebsiteGithub  |  Bitcointalk  |  Twitter  |  Discord  |  Explorer ─────────────────
   ✯✯✯✯✯                 ✈✈✈[Free Airdrop - Starts 9th June][Tor]✈✈✈ ║───────────║ Wallet ➢ Windows  |  macOS  |  Linux
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 07, 2013, 08:36:56 PM
 #149

No,

i just started with cryptocurrencys 6 days ago. I just mined with the cpu of my laptop

Anyone know how to remove this? Maybe macmac__?
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
December 07, 2013, 10:01:38 PM
 #150

luckily, I had no quarks to hijack

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 07, 2013, 10:06:32 PM
 #151

did you have other unencrypted wallets?

Was something stolen from them?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 07, 2013, 10:13:49 PM
 #152

Sorry for you loss  Sad
I just finished analyzing the app' doings and atleast in my crapbox it did the following,
1) Grabbed the dummy wallets, (bitcoin, litecoin, quark)
2) Sent them to russia
3) Started mining with the cpu and sent the shares to a kimisufi server.

It did not create any files or install watchers or keyloggers so you should (I take no responsibility thou) be safe when you delete the files and create a new wallet.
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 07, 2013, 10:29:05 PM
 #153

Did more research and the server that it sents the the shares is this: ks211165.kimsufi.com:6010
and when you access you get redirected to http://www.coinmine.pl/yacp/
So he is mining YaCoins...
If he is the miner with highest hashrate in the pool he has a power of three 2600ks in his control.

Here is a capture of the program doing it's dirty work, cought it red handed Smiley
https://i.imgur.com/RKYQlrol.png
and here it's getting job from pool:
https://i.imgur.com/Gpnadw0l.png
theprofileth
Full Member
***
Offline Offline

Activity: 239
Merit: 100

Socialist Cryptocurrency Devote


View Profile
December 07, 2013, 10:52:15 PM
 #154

http://quarkcoin.tumblr.com/
^^^^^^^^^^^^^^^^^
this motherfucker don't download, pay or use anything from them I just had 880 quark stolen from my wallet  Cry
and all sent to QWu8maYVxDAmLG9VUyq7kdRQXLP8jksTNM which is the donation address for that person  Angry fucking bullshit
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 07, 2013, 11:08:20 PM
Last edit: December 07, 2013, 11:20:19 PM by macmac__
 #155

You lost the most in this pulloff :/
So far he has gotten 1,6k quarks of this and who knows how many bitcoins, litecoins and whatever coins...
Block explorer:
http://176.221.46.81/address/QWu8maYVxDAmLG9VUyq7kdRQXLP8jksTNM

[Yeah, this is a fair bit OT but... (Speaking words of wisdom, let it be / Let it be, let it be / Let it be, let it be / Whisper words of wisdom / Let it be)]

E: His bitcoin donation address is empty so far, he hasn't moved anything there yet
E2: Simple googling with that qrk address shows us that he has posted the same shit in some russian forums, good thing is that it didn't catch a flame and burn everyone with no encryption
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 07, 2013, 11:35:29 PM
Last edit: December 07, 2013, 11:45:55 PM by hobbster
 #156

macmac__ you are awesome!

Although i and others lost something, i am somewhat happy for your posts. Thank you for your Work!

And you are right, its lost. It will be the best to arrange with it and look forward. Luckily deleting is enough, and luckily i did not have any bitcoin or litecoin, what i had was my main Treasure, lol

Keep on being awesome macmac__!




BTW: virustotal says Backdoor.Win32.Hupigon (v)
theprofileth
Full Member
***
Offline Offline

Activity: 239
Merit: 100

Socialist Cryptocurrency Devote


View Profile
December 08, 2013, 12:19:55 AM
 #157

Well from the logs in the pictures above I thought it had corrupted the files
C:\Windows\SysWOW64\tzres.dll
C:\Windows\System32\WSHTCPIP.DLL
So I am hesitant to say just deleting is enough  Cry
moral of the story is lock all your wallets, quarks were the only one that I have much in that wasn't locked and now well doesnt have anything
TBoneLouie
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
December 08, 2013, 06:35:28 AM
 #158

It's a shame about the ScarletRose scam.  I know we were all looking for something that was (at least for now) too good to be true.  I imagine smolen is probably snickering at us all right now  Wink

A question about smelter, then, specifically worksize.  When I am pool mining with scrypt, I notice that when I raise my worksize the pool server notes a higher share rate even though my hashrate is less than if I lower my worksize.  Is the same true with solo mining for QRK or SRC with smelter? I notice a hashrate drop of 40% when I increase my WS from 128 -> 256, but will this translate to a 40% drop in block discovery rate or does the worksize compensate for that?

I have managed to find 1 block of SRC with smelter, so I am definitely looking forward to future development of this project.  Keep up the good work.
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 08, 2013, 07:29:50 AM
 #159

Well from the logs in the pictures above I thought it had corrupted the files
C:\Windows\SysWOW64\tzres.dll
C:\Windows\System32\WSHTCPIP.DLL

Both files have a "last changed" Date in 2009 and 2010, so there could not have been a modification or am i wrong?
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 08, 2013, 11:06:50 AM
Last edit: December 08, 2013, 11:17:57 AM by macmac__
 #160

Well from the logs in the pictures above I thought it had corrupted the files
C:\Windows\SysWOW64\tzres.dll
C:\Windows\System32\WSHTCPIP.DLL
So I am hesitant to say just deleting is enough  Cry
moral of the story is lock all your wallets, quarks were the only one that I have much in that wasn't locked and now well doesnt have anything

Nope, it doesn't corrupt the files,
it just opens them to access the dll's features.
WSHTCPIP.dll is a WinSock Helper plugin, used in networking.
Tzres.dll is used to manage timezones.

Changing files last modified date back to what it was before is easy.
Attribute changer 7

E: Here are logs from CGminer doing the same things to the dlls
https://i.imgur.com/CvoeqUIl.png
https://i.imgur.com/T4CGshEl.png
hobbster
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 08, 2013, 12:16:16 PM
 #161

again ty Smiley

i think about crypting my wallets and put testpayments from the pools before getting all from the pool
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 09, 2013, 10:39:39 AM
 #162

Is there a specific location I should be saving Smelter and its files to in order to avoid the "couldn't connect to server" issue?  Should it be in with the Quark QT wallet or something?

btw - I didn't get stung by that nasty Quark Stealing fake miner even though I downloaded it. I guess I'd deleted its files before it took the opportunity to steal from my formerly unencrypted wallet.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
December 09, 2013, 01:28:34 PM
 #163

I imagine smolen is probably snickering at us all right now  Wink
Smolen is pulling his hair being out of all recent events on altcrypto world Smiley

A question about smelter, then, specifically worksize.  When I am pool mining with scrypt, I notice that when I raise my worksize the pool server notes a higher share rate even though my hashrate is less than if I lower my worksize.  Is the same true with solo mining for QRK or SRC with smelter? I notice a hashrate drop of 40% when I increase my WS from 128 -> 256, but will this translate to a 40% drop in block discovery rate or does the worksize compensate for that?
The best indicator is reported hashrate, adjust your settings for the best hashrate, there is no "compensation" or any other accounting tricks. Quark kernel uses too much registers, so increasing worksize lead to so-called "register spill" and GPU power is wasted on useless memory <-> register file transfers.

The ability to specify which gpu to mine would be great..I use my 5870 for normal activities and my second card for mining.
Already in my TODO list Smiley

Help needed. On the latest verison I see that -I is set to 200 is this a typeo or actualy ment to be 200
Meant to be 200. The intensity scaling for Smelter has a bigger range than cgminer or guiminer.
Intensity value is time for a single clEnqueueNDRangeKernel call in milliseconds. 200 ms is a good value for dedicated mining PC, but you'd lower it to gain better desktop interactivity.

Any idea how to use a pool?
Currently Smelter is for solo mining only, don't expect pool server soon Sad

Downloaded the latest version of smelter, edited the sm file, and get "couldn't connect to server"
Try adding "--debug" option, may be there will be a hint in log messages. Error diagnostics in Smelter is rudimentary, I know Sad

Of course I gave you bad advice. Good one is way out of your price range.
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 09, 2013, 02:13:09 PM
 #164

Possible to get a version for the Hawaii GPUs?
STT
Legendary
*
Online Online

Activity: 3906
Merit: 1414


Leading Crypto Sports Betting & Casino Platform


View Profile WWW
December 10, 2013, 03:20:15 AM
 #165

4500 - I shouldnt bother trying to use this on such a lowly gpu I guess

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
danbi
Sr. Member
****
Offline Offline

Activity: 393
Merit: 250


View Profile
December 10, 2013, 07:08:44 PM
 #166

Tried both 0.3 and 0.3a and they both quit with

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed


BTC: 15cJkRupKAkGr6sTxj1Uzb6uHbvuRyK1GL
DMD: dJZEqNcjiUiMMd8DKBFS9oMWtArAD2GCHr
shark255
Full Member
***
Offline Offline

Activity: 224
Merit: 100



View Profile
December 11, 2013, 05:45:39 PM
 #167

there is no linux version of smolens gpu miner - am i right?
CoinBuzz
Sr. Member
****
Offline Offline

Activity: 490
Merit: 250



View Profile
December 11, 2013, 10:10:40 PM
 #168

how much is it's performance for example for a 7950 ?

How much better than pure cpu ?

Join ASAP: FREE BITCOIN
macmac__
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
December 11, 2013, 10:29:43 PM
 #169

Tried both 0.3 and 0.3a and they both quit with

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed



Try 0.2, it has the same features and speed

there is no linux version of smolens gpu miner - am i right?

yes, there is no common build available

how much is it's performance for example for a 7950 ?

How much better than pure cpu ?

My sapphire 7950 used to mine around 1,45Mhash/s at 1050/1400 clocks at 1.1v
3570k running at 4,2GHz got to 750khash/s

Mining SRC or QRK is pretty much waste of time considering network speeds and block rewards, if one without botnet wants those, best way would to buy them and mine something more profitable´or usable (like curecoin ^^)
FSB
Member
**
Offline Offline

Activity: 94
Merit: 10



View Profile
December 12, 2013, 05:11:35 AM
 #170

After 2-3 hours miner work, speed suddenly drops to "0". GPU load is also 0%. Helps only restart miner. What could be the problem?
roganbear
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
December 13, 2013, 04:16:31 AM
 #171

Really hoping pool support is in the works  Smiley
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 13, 2013, 11:41:42 AM
 #172

I really want to get this working and I've tried so many times and failed due to the "Cannot connect to server issue". I've decided to delete everything and start again, hopefully someone can tell me where I'm going wrong!

1. Downloaded Smelter 0.3a from http://rghost.net/49940688
2. Found the folder where my Quark QT wallet is installed and extracted the 3 files from the zip into this folder:
  • smd.cmd
  • smelter
  • smelter.exe
3. In the same folder I created quarkcoin.conf, Offering.conf and securecoin.conf and added the following information
Quote
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1
4. Checked the smd.cmd file to make sure it had the same username/password. I didn't alter this file, even left the original wallet file is as this is just a test.
5. Double clicked smd.cmd.... Smelter opens.... Error: curl_easy_perform() failed: Couldn't connect to server

http://i43.tinypic.com/2d0ynt4.png

HELP! PLEASE! I'm going insane

6. Added --debug to the smd.cmd file and ran again and got the following:

http://i40.tinypic.com/2hz242v.png
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 13, 2013, 02:26:48 PM
 #173

I really want to get this working and I've tried so many times and failed due to the "Cannot connect to server issue". I've decided to delete everything and start again, hopefully someone can tell me where I'm going wrong!

3. In the same folder I created quarkcoin.conf, Offering.conf and securecoin.conf and added the following information
Quote
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1
4. Checked the smd.cmd file to make sure it had the same username/password. I didn't alter this file, even left the original wallet file is as this is just a test.
5. Double clicked smd.cmd.... Smelter opens.... Error: curl_easy_perform() failed: Couldn't connect to server


quarkcoin.conf goes in C:\Users\[USERNAME]\AppData\Roaming\Quarkcoin
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 13, 2013, 07:30:42 PM
 #174

Thanks, moved the file to that folder and I got the same problem - Cannot connect to server.
roganbear
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
December 13, 2013, 07:48:05 PM
 #175

Thanks, moved the file to that folder and I got the same problem - Cannot connect to server.

Try changing the port in your cmd file to the one you have in your .conf file.
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
December 13, 2013, 08:23:17 PM
 #176

I really want to get this working and I've tried so many times and failed due to the "Cannot connect to server issue". I've decided to delete everything and start again, hopefully someone can tell me where I'm going wrong!

1. Downloaded Smelter 0.3a from http://rghost.net/49940688
2. Found the folder where my Quark QT wallet is installed and extracted the 3 files from the zip into this folder:
  • smd.cmd
  • smelter
  • smelter.exe
3. In the same folder I created quarkcoin.conf, Offering.conf and securecoin.conf and added the following information
Quote
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1
4. Checked the smd.cmd file to make sure it had the same username/password. I didn't alter this file, even left the original wallet file is as this is just a test.
5. Double clicked smd.cmd.... Smelter opens.... Error: curl_easy_perform() failed: Couldn't connect to server



HELP! PLEASE! I'm going insane

6. Added --debug to the smd.cmd file and ran again and got the following:




You have your Quark wallet open right?  It has to be running and up to date. Smiley

Also your smd.cmd file shows 8385 as port while your config files shows 8772.  They have to match to connect.

Also your .conf files should be in the respective coins appdata folder not in teh smelter folder.
MrMirkin
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
December 13, 2013, 08:25:48 PM
 #177

Tried both 0.3 and 0.3a and they both quit with

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed



Try 0.2, it has the same features and speed

there is no linux version of smolens gpu miner - am i right?

yes, there is no common build available

how much is it's performance for example for a 7950 ?

How much better than pure cpu ?

My sapphire 7950 used to mine around 1,45Mhash/s at 1050/1400 clocks at 1.1v
3570k running at 4,2GHz got to 750khash/s

Mining SRC or QRK is pretty much waste of time considering network speeds and block rewards, if one without botnet wants those, best way would to buy them and mine something more profitable´or usable (like curecoin ^^)


So what kind rewards on average do you guys get?  Average time to find a block?  Im interested, but seems the rewards is pretty low atm?
LiteMine
Sr. Member
****
Offline Offline

Activity: 380
Merit: 250



View Profile
December 13, 2013, 09:35:49 PM
 #178

Will this fire up all GPU's by default, or only by a particular command?

Thank you
TheMightyX
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Vires in Numeris


View Profile
December 13, 2013, 10:25:41 PM
 #179

Hey Smolen,
Thanks for your work on these miners.
I'm not sure how I feel about the 1/10th reward share at this time (as I'm not able to run the miner), but in theory I think its a viable business model.
That being said I have a decent Radeon 4850 and a Nvideo 280 GTX. Not new by any standards but decent ass cards.

Unfortunately I'm getting the errors:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

Any chance of getting this to run on my rigs or is it a lost cause?
I've tried v2 and v3.
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
December 13, 2013, 10:45:03 PM
 #180

Hey Smolen,
Thanks for your work on these miners.
I'm not sure how I feel about the 1/10th reward share at this time (as I'm not able to run the miner), but in theory I think its a viable business model.
That being said I have a decent Radeon 4850 and a Nvideo 280 GTX. Not new by any standards but decent ass cards.

Unfortunately I'm getting the errors:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

Any chance of getting this to run on my rigs or is it a lost cause?
I've tried v2 and v3.

page 1 post 1
TheMightyX
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Vires in Numeris


View Profile
December 13, 2013, 10:59:27 PM
 #181

Hey Smolen,
Thanks for your work on these miners.
I'm not sure how I feel about the 1/10th reward share at this time (as I'm not able to run the miner), but in theory I think its a viable business model.
That being said I have a decent Radeon 4850 and a Nvideo 280 GTX. Not new by any standards but decent ass cards.

Unfortunately I'm getting the errors:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

Any chance of getting this to run on my rigs or is it a lost cause?
I've tried v2 and v3.

page 1 post 1
Not helpful but yes, I can read, no nvidia support. But one of my cards is radeon.
Also I didn't mention the nvidia gets a different error:
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 13, 2013, 11:39:58 PM
Last edit: December 14, 2013, 12:25:26 AM by Pk9499
 #182

FIXED!! Thank you guys, I love you and I want to have your children xx

EDIT: Here's my rate on a 5830. Makes the computer laggy as hell, typing this was painful, but I guess these settings will do for overnight mining.  Now if I only knew what 1: A: R: and HW: meant!

Code:
F:\quarkcoin083r6win>smelter -o http://127.0.0.1:8385 -u username -p password -w
 64 -g 1 -i 200 -a XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
smelter v0.3 (c) Smolen
Royalty: 1/10
1:0 A:0 R:0 HW:0 Speed: 1.58MH/s 5s: 1.86MH/s
1:0 A:0 R:0 HW:0 Speed: 1.72MH/s 5s: 1.88MH/s
1:0 A:0 R:0 HW:0 Speed: 1.78MH/s 5s: 1.89MH/s
1:0 A:0 R:0 HW:0 Speed: 1.81MH/s 5s: 1.91MH/s
1:0 A:0 R:0 HW:0 Speed: 1.81MH/s 5s: 1.84MH/s
1:1 A:0 R:0 HW:0 Speed: 1.83MH/s 5s: 1.90MH/s
1:2 A:0 R:0 HW:0 Speed: 1.85MH/s 5s: 1.96MH/s
1:2 A:0 R:0 HW:0 Speed: 1.85MH/s 5s: 1.89MH/s
1:2 A:0 R:0 HW:0 Speed: 1.86MH/s 5s: 1.89MH/s
1:3 A:0 R:0 HW:0 Speed: 1.85MH/s 5s: 1.85MH/s
1:4 A:0 R:0 HW:0 Speed: 1.86MH/s 5s: 1.89MH/s
1:4 A:0 R:0 HW:0 Speed: 1.86MH/s 5s: 1.89MH/s
1:4 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.96MH/s
1:4 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.89MH/s
1:4 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.86MH/s
1:5 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.86MH/s
1:5 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.90MH/s
1:7 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.88MH/s
1:8 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.89MH/s
1:9 A:0 R:0 HW:0 Speed: 1.87MH/s 5s: 1.90MH/s
1:10 A:0 R:0 HW:0 Speed: 1.88MH/s 5s: 1.91MH/s
1:11 A:0 R:0 HW:0 Speed: 1.88MH/s 5s: 1.90MH/s
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
December 14, 2013, 12:30:18 AM
 #183

A= Accepted (ie you solved a block ding ding winner winner chicken dinner!!)
R= Rejected (ie you solved a block but someone else did faster than you...doh!)
HW = Hardware Errors (do not want to see this change from 0)
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 14, 2013, 03:39:56 AM
 #184

Hey Smolen,
Thanks for your work on these miners.
I'm not sure how I feel about the 1/10th reward share at this time (as I'm not able to run the miner), but in theory I think its a viable business model.
That being said I have a decent Radeon 4850 and a Nvideo 280 GTX. Not new by any standards but decent ass cards.

Unfortunately I'm getting the errors:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

Any chance of getting this to run on my rigs or is it a lost cause?
I've tried v2 and v3.
Certain Radeon series don't work. Oldest reported working GPU is a 58xx.
TheMightyX
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Vires in Numeris


View Profile
December 14, 2013, 05:40:33 AM
 #185

Hey Smolen,
Thanks for your work on these miners.
I'm not sure how I feel about the 1/10th reward share at this time (as I'm not able to run the miner), but in theory I think its a viable business model.
That being said I have a decent Radeon 4850 and a Nvideo 280 GTX. Not new by any standards but decent ass cards.

Unfortunately I'm getting the errors:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

Any chance of getting this to run on my rigs or is it a lost cause?
I've tried v2 and v3.
Certain Radeon series don't work. Oldest reported working GPU is a 58xx.

Ahh thank you very much for that info.
That should be added to the OP.
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 14, 2013, 09:22:46 AM
 #186

Thanks Hilux74 Smiley

....10 hours after I first got it to work.....

Code:
1:3554 A:0 R:0 HW:0 Speed: 1.78MH/s 5s: 1.88MH/s

Aww man, I was expecting to be rolling in Quarks now!  Is the effort of this cumulative in some way, ie if I switch it off now will I have lost some progress?
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
December 14, 2013, 09:34:35 AM
 #187

Thanks Hilux74 Smiley

....10 hours after I first got it to work.....

Code:
1:3554 A:0 R:0 HW:0 Speed: 1.78MH/s 5s: 1.88MH/s

Aww man, I was expecting to be rolling in Quarks now!  Is the effort of this cumulative in some way, ie if I switch it off now will I have lost some progress?

Very hard to get solo Quark or SecureCoin blocks now.  Best use for Smelter on a single GPU now is Cthulu or Frozen and hope one of them gets worth something...hopefully Cthulu.
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 14, 2013, 01:20:51 PM
 #188

Thanks Hilux, you rock.  I hope someone creates a QRK pool GPU miner soon though I guess Smolen isn't too motivated as she/he might lose their cut that they skim off at the moment.

I'd never heard of Cthulu or Frozen crypto coins before. I think I'll leave Smelter running on Quark and just hope I'm lucky - just under 2MHs doesn't seem too bad.  How many million (!) QRK could I expect to receive if I found a block?
ptraf
Member
**
Offline Offline

Activity: 138
Merit: 10

Mining. Hosting. Cloud Mining.


View Profile
December 15, 2013, 09:15:58 PM
 #189

Please add the support for graphics cards Hawaii ( Radeon R290, 290X)
Now when you run any version gives an error

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

[   eGOLD  M I N I N G   ]    Mining. Hosting. Cloud Mining.
                                INVEST NOW                               
❪❪ WP | How it Works ❫❫   ◾ telegram  ◾ facebook  ◾ twitter
busoni
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

Owner of Poloniex


View Profile
December 16, 2013, 09:04:45 PM
 #190


Certain Radeon series don't work. Oldest reported working GPU is a 58xx.

I'm not sure if they're older, but I have several 5750s mining with smelter, and they work very well.

Poloniex.com - Fast crypto exchange with margin trading, advanced charts, and stop-limit orders
Fletch
Full Member
***
Offline Offline

Activity: 168
Merit: 100


I'll have a steak sandwich and a... steak sandwich


View Profile
December 16, 2013, 09:36:03 PM
 #191

I'm not sure if they're older, but I have several 5750s mining with smelter, and they work very well.
What kind of hashrates are you getting? Solving any blocks?

HashPeak - GPU mining hashrate peak detector
BTC: 1FLETCHvcUKosefrcZCLUQTtvx4WvgnYMC
busoni
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

Owner of Poloniex


View Profile
December 17, 2013, 12:57:08 AM
 #192

I'm not sure if they're older, but I have several 5750s mining with smelter, and they work very well.
What kind of hashrates are you getting? Solving any blocks?

My 5750s get about 1.38MH/s each; my 5850s get about 2.5MH/s each. (I overclock them.)

All my cards together amount to about 18MH/s, and I find plenty of blocks--about what I should according to the estimates on pools. Of course, there is a huge amount of random variance in solo mining. Some days I find twice as many as I should, other days I find just one.

It is still the most profitable use of these cards, but that may change soon, as the price drops and the difficulty rises.

Poloniex.com - Fast crypto exchange with margin trading, advanced charts, and stop-limit orders
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 17, 2013, 09:28:48 AM
 #193

I'm running a 5830 and get ~1.8Mh/s and have been running it overnight every night for about 5 nights. I found my first block last night and got 14.4QRKS Smiley

I'm thinking that I should try and overclock my card. It's currently at GPU 825MHz Memory 1025MHz running at 65 degrees. I'll have a play around and report back.
Fletch
Full Member
***
Offline Offline

Activity: 168
Merit: 100


I'll have a steak sandwich and a... steak sandwich


View Profile
December 17, 2013, 09:35:09 AM
 #194

I'm running a 5830 and get ~1.8Mh/s and have been running it overnight every night for about 5 nights. I found my first block last night and got 14.4QRKS Smiley
You'd get a lot more CPU-mining with a pool. You could then use the GPU to mine litecoin or any other scrypt based crypto.

HashPeak - GPU mining hashrate peak detector
BTC: 1FLETCHvcUKosefrcZCLUQTtvx4WvgnYMC
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 17, 2013, 11:35:57 AM
Last edit: December 17, 2013, 01:35:15 PM by Pk9499
 #195

I have my CPU, i7 920, mining 24/7 at 250KH/s with http://qrk.mine-pool.net p2p.  I was mining at http://www.coinmine.pl/qrk/index.php but changed over.
STT
Legendary
*
Online Online

Activity: 3906
Merit: 1414


Leading Crypto Sports Betting & Casino Platform


View Profile WWW
December 18, 2013, 02:37:23 AM
 #196

Does cpu use less watts then a gpu, my guess is a i7 is similar to a 7950

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
ptraf
Member
**
Offline Offline

Activity: 138
Merit: 10

Mining. Hosting. Cloud Mining.


View Profile
December 18, 2013, 12:48:12 PM
 #197

Smelter
when will the new version? supporting hawaii Huh

[   eGOLD  M I N I N G   ]    Mining. Hosting. Cloud Mining.
                                INVEST NOW                               
❪❪ WP | How it Works ❫❫   ◾ telegram  ◾ facebook  ◾ twitter
rahlquist
Newbie
*
Offline Offline

Activity: 46
Merit: 0


View Profile
December 18, 2013, 06:24:31 PM
 #198

Certain Radeon series don't work. Oldest reported working GPU is a 58xx.
My 5770 worked Wink
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 19, 2013, 10:03:56 AM
 #199

Ooo I came down this morning to see what Smelter has had two blocks accepted over night. Easily a personal best for me. I saw the Quarkcoin QT wallet system tray note flash up with a transaction but unfortunately it vanished as soon as I moved my mouse. Looking in the transaction history of the wallet shows no transactions though  Angry

I checked my cmd file and the wallet address is correct. I closed and reopened my Quark wallet and it claims to be up to date. Where'd my QRKs go Sad ?

http://i39.tinypic.com/30jn4go.png

picbb1
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
December 19, 2013, 12:24:49 PM
 #200

Ooo I came down this morning to see what Smelter has had two blocks accepted over night. Easily a personal best for me. I saw the Quarkcoin QT wallet system tray note flash up with a transaction but unfortunately it vanished as soon as I moved my mouse. Looking in the transaction history of the wallet shows no transactions though  Angry

I checked my cmd file and the wallet address is correct. I closed and reopened my Quark wallet and it claims to be up to date. Where'd my QRKs go Sad ?

http://i39.tinypic.com/30jn4go.png


+
theprofileth
Full Member
***
Offline Offline

Activity: 239
Merit: 100

Socialist Cryptocurrency Devote


View Profile
December 20, 2013, 02:48:15 AM
 #201

Those my friend, are called orphans, they suck just like Quark.
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 23, 2013, 08:37:03 AM
 #202

Well that sucks!

Went away for about 36 hours, dropped the intensity slightly and left Smelter running.  Pff!

http://i44.tinypic.com/2v1mfdt.jpg
lonesoul
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
December 23, 2013, 11:09:18 AM
 #203

not quite sure what im doing wrong here but it would appear that my cards want to mine at 20GH-70GH for 3 attempts then the miner crashes.

it seems like something is wrong due to getting such high rates!

has anyone discovered this?  (its almost like when you forget to include the --scrypt when mining with cgminer)

any help would be great thank you :-)

picture of the error
 

Please click this link-> https://mcxnow.com/?r=Stuartnorth       (The link is a referral link, it costs you nothing, but provides a little bonus for me if you click through to the site. Please help feed my baby. Thanks :-) )
NUFCrichard
Legendary
*
Offline Offline

Activity: 1218
Merit: 1003


View Profile
December 23, 2013, 11:39:16 AM
 #204

So is GPU Mining actually better than CPU mining for quarks? I haven't seen any great sucess stories yet.
Shadow_Runner
Hero Member
*****
Offline Offline

Activity: 574
Merit: 500



View Profile
December 23, 2013, 11:46:07 AM
 #205

Please add choose second videocard option like in CGMiner, for people who use GeForce for games and Radeon for mining.
hud
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile WWW
December 23, 2013, 04:35:24 PM
 #206


installation in ubuntu help.
casper77
Legendary
*
Offline Offline

Activity: 2884
Merit: 1035


View Profile
December 24, 2013, 03:33:33 AM
 #207

I don't understand - if smelter could mine solo to adress 127.0.0.1, why its could't mine at any other one ? such as adress of some pool ?
busoni
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

Owner of Poloniex


View Profile
December 25, 2013, 07:44:43 PM
 #208

So is GPU Mining actually better than CPU mining for quarks? I haven't seen any great sucess stories yet.

Yes, it is much better if you have 5xxx cards.

Poloniex.com - Fast crypto exchange with margin trading, advanced charts, and stop-limit orders
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 27, 2013, 09:56:55 AM
 #209

Got up to 3500 submissions overnight on my 5830 with nothing accepted Sad  5xxx aren't that good!
subhead
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
December 27, 2013, 09:17:04 PM
 #210

i can´t get this miner running with my r9 290. any advices?

error v2:
Code:
smelter v0.2 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernelQuark.cl
SummonProgram failed
clCreateKernel call failed!


error v3:
Code:
smelter v0.3 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed

EvilHumpty.com EU P2Pool LTC-DOGE-REDD-MOON
BTC: 1JJ4oUshc5KE7xZeDJXXVNHwFxrMct56Zj
LTC: LdZ85kmtnBRPWYCPgYRThQWS7GsHEn4PKn
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 28, 2013, 02:26:30 AM
 #211

i can´t get this miner running with my r9 290. any advices?

error v2:
Code:
smelter v0.2 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernelQuark.cl
SummonProgram failed
clCreateKernel call failed!


error v3:
Code:
smelter v0.3 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Smelter doesn't work with Hawaii (290 or 290x) GPUs yet.
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 28, 2013, 10:56:01 AM
 #212

Another stack of submissions and nothing accepted - has the difficulty shot up, am I unlucky, is my 5830 rubbish or is this just a total waste of time?

http://i43.tinypic.com/2zzop06.jpg

Quark's aren't moving much on volume either http://coinmarketcap.com/
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 28, 2013, 11:50:34 AM
 #213

Another stack of submissions and nothing accepted - has the difficulty shot up, am I unlucky, is my 5830 rubbish or is this just a total waste of time?



Quark's aren't moving much on volume either http://coinmarketcap.com/
The accepted value in Smelter is for blocks solved, not shares accepted.

Law of averages states that you will get x amount of QRK/SRC per day over the long run, when comparing the same hash rate to the pool.
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 28, 2013, 12:12:30 PM
Last edit: December 28, 2013, 01:14:08 PM by Pk9499
 #214

And the 1: value is what?  Maybe submissions was the wrong word - attempts at blocks?

I understand it's luck of the draw - hence the questions about my luck. How do you do?
chip99
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
December 31, 2013, 08:38:02 AM
 #215

something is very wrong with your miner  Angry i thought its supposed to take only 12.5% as fee and not all the coins ??
mined a coin where a block is 50k reward. here is what is left

6.1k is version1 posted from OP and v2 is 6.5k

verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
December 31, 2013, 09:18:07 AM
 #216

And the 1: value is what?  Maybe submissions was the wrong word - attempts at blocks?

I understand it's luck of the draw - hence the questions about my luck. How do you do?

The 1: [Number] refers to the number of blocks that have passed by since you started Smelter.

A: [Number] - Number of solved blocks (including orphans).

R: [Number] - Rejected.
mtbitcoin
Legendary
*
Offline Offline

Activity: 876
Merit: 1000


Etherscan.io


View Profile
December 31, 2013, 01:21:46 PM
 #217

something is very wrong with your miner  Angry i thought its supposed to take only 12.5% as fee and not all the coins ??
mined a coin where a block is 50k reward. here is what is left

6.1k is version1 posted from OP and v2 is 6.5k

It most likely unable to send the actual amount because it was designed for Quark and not Particle. So you only get the donation amount and not the full amount

EtherScan::Ethereum Block Explorer | BlockScan::Coming Soon
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
December 31, 2013, 03:15:17 PM
 #218

And the 1: value is what?  Maybe submissions was the wrong word - attempts at blocks?

I understand it's luck of the draw - hence the questions about my luck. How do you do?

The 1: [Number] refers to the number of blocks that have passed by since you started Smelter.

A: [Number] - Number of solved blocks (including orphans).

R: [Number] - Rejected.

Thank you. Well I've had 3 solved blocks now that have resulted in payments of 14.4, 7.20009 and 7.20.  To be honest I'm wondering whether it's worth it.
coingeter
Jr. Member
*
Offline Offline

Activity: 56
Merit: 10


View Profile
December 31, 2013, 04:12:45 PM
 #219

something is very wrong with your miner  Angry i thought its supposed to take only 12.5% as fee and not all the coins ??
mined a coin where a block is 50k reward. here is what is left

6.1k is version1 posted from OP and v2 is 6.5k

It most likely unable to send the actual amount because it was designed for Quark and not Particle. So you only get the donation amount and not the full amount

How to solve the problem

BTC: 18eyP3XmcgsJ8sPhQaPNM8wvF5ArJarDts
nuno12345
Sr. Member
****
Offline Offline

Activity: 276
Merit: 284


View Profile
January 02, 2014, 01:05:28 AM
 #220

Just my 2 cents.

I wonder if we can get this to work on a pool with ypool.net xptProxy.
Source: https://github.com/jh000/xptProxy

Its used to mine dogecoin and "converts" the protocol into json.
Currently it supports sha-256, scrypt and primecoin algos.
There are no arguments to provide and connects by default on ypool.net port 10034 and rpc port 8332.

I made some changes to the source to allow arguments such as pool port rpcport.

main.cpp(int function, modified)
Code:
int main(int argc, char** argv)
{
printf("\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n");
printf("\xBA  xptProxy (v0.2b)                                \xBA\n");
printf("\xBA  contributors: jh                                \xBA\n");
printf("\xBA  local protocols: getwork(8332)+longpoll         \xBA\n");
printf("\xBA  algorithms: scrypt                              \xBA\n");
printf("\xBA  params: xptProxy.exe pool port rpcport          \xBA\n");
printf("\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n");
printf("Launching proxy...\n");

char* poolURL = "ypool.net";
if(argv[1])
{
poolURL = argv[1];
}

proxySettings.poolPort = 10034;
if(argv[2])
{
proxySettings.poolPort = atoi(argv[2]);
}


proxySettings.rpcPort = 8332;
if(argv[3])
{
proxySettings.rpcPort = atoi(argv[3]);
}
// init winsock
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);

hostent* hostInfo = gethostbyname(poolURL);
if( hostInfo == NULL )
{
printf("Cannot resolve '%s'. Is it a valid URL?\n", poolURL);
exit(-1);
}
void** ipListPtr = (void**)hostInfo->h_addr_list;
uint32 ip = 0xFFFFFFFF;
if( ipListPtr[0] )
{
ip = *(uint32*)ipListPtr[0];
}
char ipText[32];
sprintf(ipText, "%d.%d.%d.%d", ((ip>>0)&0xFF), ((ip>>8)&0xFF), ((ip>>16)&0xFF), ((ip>>24)&0xFF));
// set default proxy settings (todo: Add config)
proxySettings.poolIP = ipText;
// init xpt proxy stuff
xptProxy_init();
// start json server thread
printf("Starting JSON-RPC server on port %d...\n", proxySettings.rpcPort);
jsonRpcServer_t* jrs = jsonRpc_createServer(proxySettings.rpcPort);
if( jrs == NULL )
{
printf("Failed to open a server on port %d, try again\n", proxySettings.rpcPort);
return -1;
}
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)jsonRpc_run, jrs, 0, NULL);
// start processing xpt clients
printf("xptProxy ready to accept connections!\n");
xptProxy_mainloop();
return 0;
}

After the changes it compiles and runs successfully with "xptProxy ypool.net 10034 8332"

I also added all the quark files/algos to the project and they needed no changes at all
Got the files from miner, https://github.com/Neisklar/quarkcoin-cpuminer
Files: blake.c, bmw.c, groestl.c, jh.c, keccak.c, skein.c, the respective sph_headers.h and sph_types.h

The file wich actually exports quark hash and verify functions(quark.c) gives a missing function error

After the quark hashing functions can included without errors i think there are just some minor changes to do at xptProxy itself to actually recognize the algorithm.
A simple search shows:
xptClient.cpp
Code:
else if( xptShareToSubmit->algorithm == ALGORITHM_SHA256 || xptShareToSubmit->algorithm == ALGORITHM_SCRYPT )

xptProxy.cpp
Code:
if( xpc->algorithm == ALGORITHM_SCRYPT )

Not sure if the protocols are the same but maybe some one more skilled can give this a try?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 03, 2014, 05:49:09 PM
 #221

something is very wrong with your miner  Angry i thought its supposed to take only 12.5% as fee and not all the coins ??
mined a coin where a block is 50k reward. here is what is left

6.1k is version1 posted from OP and v2 is 6.5k
I think something is wrong with the wallet code Smiley Posted response with technical details here, let's hope Particle developers will take a look at it.

Of course I gave you bad advice. Good one is way out of your price range.
ocminer
Legendary
*
Offline Offline

Activity: 2660
Merit: 1240



View Profile WWW
January 04, 2014, 11:16:15 PM
 #222

If you guys are still looking for a (backup) pool try:

https://qrk.suprnova.cc for Quark

or

https://prt.suprnova.cc for Particle.

I'm testing new stratum/vardiff code there, would really appreciate some more power than few cpu's in there.

If you need a pool for an other coinbase, message me.

suprnova pools - reliable mining pools - #suprnova on freenet
https://www.suprnova.cc - FOLLOW us @ Twitter ! twitter.com/SuprnovaPools
oox
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 08, 2014, 06:28:21 PM
 #223

Hi all

Are there any details on what cards don't work or do work with settings & performance ?

I'm looking to put a new low profile card into a slim pc that i can dabble with smelter & quark based coins. Seems to be 7750, 6670, 6450 & 5450 low profile cards available mainly 1GB & a 2GB 6450.

p.s. Also if vital info could be edited into the 1st post it would make it a lot easier for everyone to find the latest version, for example, instead of having to read the whole topic looking Wink
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 08, 2014, 06:53:22 PM
 #224

I'm trying to mine frozen w/ a 5850, smelter crashes almost immediately. Is this a compatible card?

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
Benezivas
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
January 10, 2014, 01:23:20 AM
 #225

I am currently trying to mine Offerings with smelter, while I was successful with getting it to work with frozen, I can't seem to find the error here:

offering.conf:
Code:
[...]
listen=1
rpcuser=1
rpcpassword=x
rpcallowip=127.0.0.1
rpcport=1928
server=1
[...]

And calling smelter with open wallet (same directory as .conf, of course) and:

Code:
smelter -o http://127.0.0.1:1928 -u 1 -p x -w 64 -g 1 -i 200 -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J

getting the following result:

Code:
Path/to/smelter>smelter -o http://127.0.0.1:1928 -u 1 -p
 x -w 64 -g 1 -i 200 -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J
smelter v0.3 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>
And so on, resulting in a crash. Did I mess up the config?
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 10, 2014, 02:57:36 AM
 #226

the the smelter files have to be in the same dir as the wallet? that could be my issue

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
Its About Sharing
Legendary
*
Offline Offline

Activity: 1442
Merit: 1000


Antifragile


View Profile
January 10, 2014, 10:46:29 AM
 #227

i can´t get this miner running with my r9 290. any advices?

error v2:
Code:
smelter v0.2 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernelQuark.cl
SummonProgram failed
clCreateKernel call failed!


error v3:
Code:
smelter v0.3 (c) Smolen
Royalty: 1/10
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Smelter doesn't work with Hawaii (290 or 290x) GPUs yet.

Any idea on when we might get Smelter working on the 290's?
(I will be using my CPU for Quarks and the 290 for LTC until then.)

BTC = Black Swan.
BTC = Antifragile - "Some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty. Robust is not the opposite of fragile.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 10, 2014, 12:13:25 PM
 #228

Are there any details on what cards don't work or do work with settings & performance ?

p.s. Also if vital info could be edited into the 1st post it would make it a lot easier for everyone to find the latest version, for example, instead of having to read the whole topic looking Wink

Any idea on when we might get Smelter working on the 290's?
(I will be using my CPU for Quarks and the 290 for LTC until then.)

Sorry again for abandoning the thread. My short term plans are:
- buy new GPU (They all are sold out now Sad And to finish PTS miner I need 64 bit atomics missed in VLIW5)
- get the code in good shape and open source it (Hoping for community review Smiley And right now the code does not even compile Smiley)
- make new closed-source release for PTS or XPM
So soon there will be open-source, commission-free Quark miner not bounded to any particular GPU. Just wait a bit.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 10, 2014, 12:18:31 PM
 #229

401 Unauthorized
Something wrong with authorization, may be username '1' is parsed as a number. Try naming your user 'user'.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 10, 2014, 12:22:57 PM
 #230

I'm trying to mine frozen w/ a 5850, smelter crashes almost immediately. Is this a compatible card?
5850 is supported. Try --debug switch, debug output can give an idea what's wrong.

Just in case, the list of currently supported GPUs:
Code:
        const char *arrDevices[] =
        {
                "Cypress", // 5830, 5850, 5870
                "Cayman", // Radeon HD 6900:  Radeon HD 6950 and Radeon HD 6970
                "Barts", // HD 6850 HD 6870
                "Turks", // HD 6570 and HD 6670, 7510, 7570, 7670
                "Juniper", // 6770 and 6750, 5750, 5770
                "Tahiti", // 7870, 7950, 7970
                "Pitcairn", // 7850, 7870
                "Capeverde", // 7730, 7750, 7770
                "Bonaire", // 7790
                0
        };

Of course I gave you bad advice. Good one is way out of your price range.
Benezivas
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
January 10, 2014, 12:37:35 PM
 #231

401 Unauthorized
Something wrong with authorization, may be username '1' is parsed as a number. Try naming your user 'user'.

Edited my conf:
Code:
rpcuser=user
rpcpassword=pass

And the sm.cmd:

Code:
smelter -o http://127.0.0.1:1928 -u 1 -p x -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J

And yet, this: (btw: running on a 6870)
Code:
Path/to/smelter>smelter -o http://127.0.0.1:1928 -u user
 -p pass -w 64 -g 1 -i 200 -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J
smelter v0.3 (c) Smolen
Royalty: 1/10
Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

I think that aside from the 401 these lines may be of interest as well:
Code:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
surphactone
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
January 10, 2014, 02:47:47 PM
 #232

1:11 A:0 R:0 MW:0 speed : 1.13mh/s ... what's this ? oO

why it's in MH/s ?

<!>Help the guy with any amount of BTC : 1FbWe8Dq8cLx3UHF385EtCLyVz6UFXgs8k Thank yO !
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
January 10, 2014, 03:04:41 PM
 #233

1:11 A:0 R:0 MW:0 speed : 1.13mh/s ... what's this ? oO

why it's in MH/s ?
Quark doesn't rely completely on scrypt.
Benezivas
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
January 10, 2014, 05:44:19 PM
 #234

401 Unauthorized
Something wrong with authorization, may be username '1' is parsed as a number. Try naming your user 'user'.

Edited my conf:
Code:
rpcuser=user
rpcpassword=pass

And the sm.cmd:

Code:
smelter -o http://127.0.0.1:1928 -u 1 -p x -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J

And yet, this: (btw: running on a 6870)
Code:
Path/to/smelter>smelter -o http://127.0.0.1:1928 -u user
 -p pass -w 64 -g 1 -i 200 -a QQcS8oJyWH2UiTZUN6qBZjYBWXtWFzhC4J
smelter v0.3 (c) Smolen
Royalty: 1/10
Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
Error: Parse error, request:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
ional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>Error</TITLE>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
</HEAD>
<BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

I think that aside from the 401 these lines may be of interest as well:
Code:
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
ThreadHost::Thread() unexpected exception:clCreateKernel call failed


Willing to pay 1 Block (5 offerings) to the one that can help me get it running.
Benezivas
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
January 11, 2014, 06:46:57 PM
Last edit: January 11, 2014, 09:26:43 PM by Benezivas
 #235


Willing to pay 1 Block (5 offerings) to the one that can help me get it running.

Raising the reward to 2 blocks, see above.

EDIT: Found the fix myself. It turns out that I shouldn't have openened the wallet with
Code:
Offerings-qt.exe -server
. Duh.
renegadepcsolutions
Full Member
***
Offline Offline

Activity: 182
Merit: 100

Yeah... I mined your mom last night.


View Profile
January 12, 2014, 08:23:41 PM
 #236

You know... after having some issues with your program here... as well as an issue that you want to take 1/8th of everyone's work... I decided to pull this apart.

"This program cannot be run in DOS mode"

Really? A DOS program that can't be run in DOS? Silly me...


"Smolen.Royalty: 1/8....main loop...Exit!"

Explain this one...          ^             ^
I can understand the royalty, because you were up-front about it...

But I've ran this program on my quarkcoinQT server for 24 hours, and didn't get a single quark out of it on my 7870 pitcairn. On top of that... to be quite honest... it's more profitable to mine with a good i7 or xeon cpu than it is with any gpu due to power usage.


Those who make peaceful revolution impossible will make violent revolution inevitable.  -John F. Kennedy
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 13, 2014, 11:35:30 PM
 #237

You know... after having some issues with your program here... as well as an issue that you want to take 1/8th of everyone's work... I decided to pull this apart.

"This program cannot be run in DOS mode"

Really? A DOS program that can't be run in DOS? Silly me...
I deserve a better cracker for my masterpiece, this one even don't know about PE format! Cheesy Seriously, if you want to hack away 10% royalty, you have to hack GPU code, not only x86 one.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 13, 2014, 11:59:41 PM
 #238

ok, so this is the output I get w/ debug.

C:\fzn>smelter --debug -o http://127.0.0.1:18450 -u frozenrpc -p x -w 64 -g 1 -i
Building from binary done: quark0td_Cypress_W64.bin
1:0 A:0 R:0 HW:0 Speed: 2.72GH/s 5s: 5.28GH/s
NONCE overflow
Thank you for the report - and sorry, I don't know what's going on. The speed is unbelievably good, most probably the compiled Quark kernel is empty, it makes no real calculation and reports hashes as done without actual hashing. So, wait and may be give Smelter next try when it will be open-sourced Sad

Of course I gave you bad advice. Good one is way out of your price range.
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 14, 2014, 12:15:57 AM
 #239

No worries. and I agree, the speed was phenomenal. it would make solo mining easy. lol. I think I'll try dropping the intensity down to likr 3 and work up from there

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 14, 2014, 12:26:04 AM
 #240

No worries. and I agree, the speed was phenomenal. it would make solo mining easy. lol. I think I'll try dropping the intensity down to likr 3 and work up from there
Not sure if it helps, most probably something went wrong when I compiled OpenCL sources into binary blob. Just in case, what version of drivers do you have installed?

Of course I gave you bad advice. Good one is way out of your price range.
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
January 14, 2014, 01:04:29 AM
 #241

Anyone have hash rate results for a 7770 card?
renegadepcsolutions
Full Member
***
Offline Offline

Activity: 182
Merit: 100

Yeah... I mined your mom last night.


View Profile
January 14, 2014, 08:13:31 AM
 #242

You know... after having some issues with your program here... as well as an issue that you want to take 1/8th of everyone's work... I decided to pull this apart.

"This program cannot be run in DOS mode"

Really? A DOS program that can't be run in DOS? Silly me...
I deserve a better cracker for my masterpiece, this one even don't know about PE format! Cheesy Seriously, if you want to hack away 10% royalty, you have to hack GPU code, not only x86 one.


Thought I'd catch your attention with that one. Wink

Nah, I'm not gonna hack your 10% away.

Hell... if you can get one up and running that supports stratum pools... I'll toss you 10 QRK for every 50 QRK that I mine for the next 3 months. Smiley

Those who make peaceful revolution impossible will make violent revolution inevitable.  -John F. Kennedy
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 14, 2014, 08:41:10 AM
 #243

No worries. and I agree, the speed was phenomenal. it would make solo mining easy. lol. I think I'll try dropping the intensity down to likr 3 and work up from there
Not sure if it helps, most probably something went wrong when I compiled OpenCL sources into binary blob. Just in case, what version of drivers do you have installed?

I"m running 12.8

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
soulmann
Full Member
***
Offline Offline

Activity: 221
Merit: 100


View Profile
January 14, 2014, 08:50:01 AM
 #244

- make new closed-source release for PTS

Will it be faster then the existed one?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 14, 2014, 07:55:58 PM
 #245

I"m running 12.8
Thank you, It gives a hope that the error is on AMD side Smiley I used 13.x to compile the kernel, may be the support for old version is rusted. Well, let's postpone bughunting a bit.

- make new closed-source release for PTS
Will it be faster then the existed one?
That depends on the exact meaning of the word 'will' Smiley If it will be superior to the existing miners, it will not be released so there will be no Smelter for PTS Smiley

Hell... if you can get one up and running that supports stratum pools... I'll toss you 10 QRK for every 50 QRK that I mine for the next 3 months. Smiley
Quark mining is almost over, if you really want to reward me - wait for the sources and invent better trick around Groestl hash, I'd like to see how this beast can be tamed Smiley

Of course I gave you bad advice. Good one is way out of your price range.
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 14, 2014, 08:40:27 PM
 #246

I can update my drivers easy enough, and if things don't work, roll back to 12.8. that's not an issue.

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 14, 2014, 09:22:58 PM
 #247

I can update my drivers easy enough, and if things don't work, roll back to 12.8. that's not an issue.
TL;DR - just wait
It's not going to help - the problem is most probably caused by drivers on my PC, where I did compile OpenCL sources into binary blobs. The right way to fix it (at least, to try to fix) would be releasing kernel sources and compiling it on your PC, with your drivers. I want to withhold some parts of the kernel (mostly related to copy-protection), to do it I have to do some programming and testing and that is postponed until arrival of new GPU.

Of course I gave you bad advice. Good one is way out of your price range.
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
January 15, 2014, 02:44:14 AM
 #248

No worries. I have no idea how to compile things anyway.

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
sameev29
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
January 15, 2014, 03:06:16 AM
 #249

Can we mine any cpu coin with this?
tucksmcgucks
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 16, 2014, 03:20:51 AM
 #250

Can we mine any cpu coin with this?

You can mine any CPU coin that uses quark algorithm. i.e. PRT, Offerings, ATOM, FRQ, etc..
sameev29
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
January 16, 2014, 03:26:45 AM
 #251

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day


How much accurate is this?
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
January 16, 2014, 06:39:31 AM
 #252

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day


How much accurate is this?
That's from October. Profit is much less now because of increased hash rates on QRK and SRC.
chowdan
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
January 17, 2014, 02:27:24 AM
 #253

something is very wrong with your miner  Angry i thought its supposed to take only 12.5% as fee and not all the coins ??
mined a coin where a block is 50k reward. here is what is left

6.1k is version1 posted from OP and v2 is 6.5k

It most likely unable to send the actual amount because it was designed for Quark and not Particle. So you only get the donation amount and not the full amount

How to solve the problem

I'm curious how you are mining through PRT wallet? Shouldnt it display the transaction as a incoming transaction icon and not mining icons?

sameev29
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
January 17, 2014, 02:30:35 AM
 #254

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day


How much accurate is this?
That's from October. Profit is much less now because of increased hash rates on QRK and SRC.

How many SRC and QRK can we generate at current difficulty with 1MH/sec?
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
January 17, 2014, 03:39:54 AM
 #255

Profit estimation per 1 MH/s for Quark and Securecoin:
QRK:1000000*60*60*24*128*0.00000110/16777216/124 = 0.00584 BTC/day
SRC:1000000*60*60*24*5*0.00041263/16777216/1462 = 0.00726 BTC/day


How much accurate is this?
That's from October. Profit is much less now because of increased hash rates on QRK and SRC.

How many SRC and QRK can we generate at current difficulty with 1MH/sec?
Will average 7QRK or 0.8SRC a day.

Since Smelter doesn't work with pools, it averages out to:
~2 QRK blocks a day.
1 block on SRC every 5 days
Pk9499
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
January 17, 2014, 09:06:56 AM
 #256

I'm down to 3.6 QRK for every block that smelter finds now  Cry
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
January 19, 2014, 11:45:33 AM
 #257

I'm down to 3.6 QRK for every block that smelter finds now  Cry
I forgot to take into account the 10% royalty..
HencHMaN
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
January 20, 2014, 10:19:43 AM
 #258

Anyone have hash rate results for a 7770 card?
Im have 500 khash
Code:
-w 256 -g 1 -i 200
BitCoinPokerBro
Hero Member
*****
Offline Offline

Activity: 826
Merit: 1000



View Profile
January 20, 2014, 12:33:24 PM
 #259

Can someone make a tutorial for tech illiterate types? I know it's difficult, but surely someone can dumb themselves down for a minute or two to help.
Drewdy
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
January 21, 2014, 09:57:00 PM
 #260

Any chance you have a version ready for beta testing that supports the r9-290x cards?  PM me if you do.
Thanks.
axiong
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 22, 2014, 07:25:58 AM
 #261

Any chance you have a version ready for beta testing that supports the r9-290x cards?  PM me if you do.
Thanks.
pyromaniac
Hero Member
*****
Offline Offline

Activity: 639
Merit: 500



View Profile
January 22, 2014, 02:51:56 PM
 #262

Anyone have hash rate results for a 7770 card?
Im have 500 khash
Code:
-w 256 -g 1 -i 200
It's much slower, than my CPU.

ycui7
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 23, 2014, 01:20:10 AM
 #263

I'm trying to mine frozen w/ a 5850, smelter crashes almost immediately. Is this a compatible card?
5850 is supported. Try --debug switch, debug output can give an idea what's wrong.

Just in case, the list of currently supported GPUs:
Code:
        const char *arrDevices[] =
        {
                "Cypress", // 5830, 5850, 5870
                "Cayman", // Radeon HD 6900:  Radeon HD 6950 and Radeon HD 6970
                "Barts", // HD 6850 HD 6870
                "Turks", // HD 6570 and HD 6670, 7510, 7570, 7670
                "Juniper", // 6770 and 6750, 5750, 5770
                "Tahiti", // 7870, 7950, 7970
                "Pitcairn", // 7850, 7870
                "Capeverde", // 7730, 7750, 7770
                "Bonaire", // 7790
                0
        };

You can add 5770 into you list. I tested it, and it works great. I get 1.4 MH/s on a 5770!
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 24, 2014, 04:51:08 AM
 #264

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.

Of course I gave you bad advice. Good one is way out of your price range.
3yM
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile
January 24, 2014, 12:19:30 PM
 #265

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.

Please make version, compatible with PRT (Particle Coin) & pools... We really need R2xx support too, please!
Buratino
Legendary
*
Offline Offline

Activity: 1151
Merit: 1003


View Profile
January 27, 2014, 04:16:23 AM
 #266

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.

It would be great, if you add anime algo (modified quark algo) support to your project.
Animecoin is here: https://bitcointalk.org/index.php?topic=423339.0

Kohan
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile WWW
January 27, 2014, 07:26:53 AM
 #267

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.
What video card did you end up getting.
With the open source there should be nvida support if someone codes it in?
dE_logics
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile WWW
January 28, 2014, 03:27:39 PM
 #268

I seriously doubt a single GPU can can compute 9 rounds of hashing at a time.

I mean, if you got a single algo, yeah, I get it, but 9 chained? I doubt.

▄▄▄█████████▄▄▄
▄▄█████████████████████▄▄
▄██████████▄▄▄    ▀▀▀███████▄
▄██████████████████▄▄▄   ▀▀█████▄
████████████████████████▌  ▄███████
██████████████▀▀    ▀▀██▀ ▄███▀ ▀████
███████████▀▀  ▄▄ ▄▄     ▄█████▄  ▀████
███████████  ▄▄ ▀█████▄ ▄█▀  █████  ▀████
▄██████████   ▀████▀  ▀███     █████  ▀███▄
██████████▌  ▄████▄  ▄█▀▀██▄   ▐█████  ████
██████████   ▀▀ ▀████▀    ██    ██████ ████
██████████▌      ▄███▄  ▄██▄   ▐██████H████
▀██████████▄   ▄█▀  ▀████▀▀▀   ███████████▀
██████████▀ ▄█▀    ██▀▀██   ▄████████████
███████▀ ▄███▄           ▄█████████████
█████▄▄█████████▄▄▄▄▄████████████████
▀█████████████████████████████████▀
▀█████████████████████████████▀
▀▀███████████████████████▀▀
▀▀███████████████▀▀
▀▀▀▀▀▀▀▀▀
.






  

             ▄████▄▄   ▄
█▄          ██████████▀▄
███        ███████████▀
▐████▄     ██████████▌
▄▄██████▄▄▄▄█████████▌
▀████████████████████
  ▀█████████████████
  ▄▄███████████████
   ▀█████████████▀
    ▄▄█████████▀
▀▀██████████▀
    ▀▀▀▀▀
  

                   ▄▄████
              ▄▄████████▌
         ▄▄█████████▀███
    ▄▄██████████▀▀ ▄███▌
▄████████████▀▀  ▄█████
▀▀▀███████▀   ▄███████▌
      ██    ▄█████████
       █  ▄██████████▌
       █  ███████████
       █ ██▀ ▀██████▌
       ██▀     ▀████
                 ▀█▌
  

             █▀▀▀▄▄▄██▄
             █     ▀██▀
            █
         ▄▄▄█▄▄▄
 ████▄▄███████████▄▄████
▐██████▀▀███████▀▀██████▌
 ▀████    █████    ████▀
  ████▄  ▄█████▄  ▄████
  ▀███████████████████▀
   ▀████▄▀█████▀▄████▀
     ▀▀███▄▄▄▄▄███▀▀
         ▀▀▀▀▀▀▀


          ▄████████
          █████████
          █████
          █████
      █████████████
      █████████████
          █████
          █████
          █████
          █████
          █████


█▄▄              █▄▄
█████▄▄         ██████▄▄
████████       ████████ █
████████ ██   ████████ ██
████████ ███ ████████ ███
████████ ████ ██████ ████
████████ █████ ████ █████
████████ ▀█████ ██ ██████
████████    ▀▀██  ███████
▀███████         ▀███████
   ▀▀███            ▀▀███
       ▀                ▀
apple_talk
Sr. Member
****
Offline Offline

Activity: 473
Merit: 250


"Proof-of-Asset Protocol"


View Profile
January 29, 2014, 07:33:59 AM
 #269

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.

Smolen, I don't mind if you want to increase share to 25%. Hope to see R9 2XX (290X) support in the coming one. Please PM me I don't mind testing.

|
 
 
50
|
 




                       ▄
           ▄▄▄▄▄▄███████
▄▄▄▄█████  █████████████
█████████  █████████████
█████████  █████████████
█████████  █████████████
█████████  █████████████
█████████  █████████████

█████████  █████████████
█████████  █████████████
█████████  █████████████
█████████  █████████████
█████████  █████████████
▀▀▀▀█████  █████████████
           ▀▀▀▀▀▀███████
                       ▀
|
 
 
$1,5 M
|



        ▄▄▄█████████▄▄▄
      ▄█████▀▀███▀▀█████▄
    ▄███▀     ███     ▀███▄
   ████       ███       ████
  ███▀                   ▀███
 ███▀                     ▀███
▄██▀       █████████       ▀██▄
███                         ███
███        █████████        ███
███                         ███
▀██▄       █████████       ▄██▀
 ███▄                     ▄███
  ███▄                   ▄███
   ████       ███       ████
    ▀███▄     ███     ▄███▀
      ▀█████▄▄███▄▄█████▀
        ▀▀▀█████████▀▀▀
|
 
|
 
<>
<>
<>
<>
 
GITHUB
TWITTER
YOUTUBE
FACEBOOK
murdick
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 30, 2014, 03:15:39 PM
 #270

My short term plans are:
- buy new GPU
Done, finally Smiley I'm returning to the project, expect open-source version really soon now.

Great! Since everyone else is sending you wishlish items, I thought I'd add stratum support. Would love to get this on to a pool. 1.5Mh/s on a 5770 is a good start.

Thanks for all your hard work!
zerodrama
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
January 30, 2014, 03:26:29 PM
 #271

I finally got rid from the last pieces of GPL'ed code in my own miner and can now release it to the public. This miner is not free, a royalty of 1/8 (12.5%) is deducted from every mined block. (Coinbase transaction have 2 outputs, so I get my fee at exactly the same moment you'll get your coins).

Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78

Edit quarkcoin.conf (or Offering.conf, or securecoin.conf) file of your wallet to enable solo-mining, put your own username and password there:
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1

Edit sm.cmd from downloaded archive, put your own username, password and wallet address there:
smelter -o http://127.0.0.1:8772 -u username -p password -a QNiGvoYctyMwzV1ZjNbjhEoKdQVzFKsmVw

This is pre-alpha software, expect all kinds of bugs to be found, don't hesitate to report it here!
NVidia and old/rare AMD cards are not supported. Please, give me some time to iron out bugs Smiley

Let me just say that I, resent, having a permanent relationship with the producer of a tool I use.

This is an obsolete release model.

Consider this the research phase. Followed by the release phase.

I have no problem donating and even contributing to a project.

EASY CALCULATION FOR TRADES: 1 Million is 1x10e6. 1 Satoshi is 1x10e-8. 1 M sat is 1x10e-2. 100 M sat is 1. If 1 herpcoin = 100 derptoshi then
1 M herpcoin @ 001 derptoshi = 0.01 derpcoin, 1 M herpcoin @ 100 derptoshi = 1.00 derpcoin
Post Scarcity Economics thread https://bitcointalk.org/index.php?topic=3773185
Nataly2014
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
January 30, 2014, 07:32:36 PM
 #272

Subscribe to the previous post!
Many peoples haved video cards  r9 290x and would be grateful for your work!
25% of your profit from our work - it's very good, because we are many!
Awaiting your news!
Sincerely, Natalie!!!
Nataly2014
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
February 01, 2014, 09:12:41 PM
 #273

Hi - Smolen!
Where are you lost, what you have news for us?
angel.sky
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
February 01, 2014, 11:32:56 PM
 #274

I'm trying to mine frozen w/ a 5850, smelter crashes almost immediately. Is this a compatible card?
5850 is supported. Try --debug switch, debug output can give an idea what's wrong.

Just in case, the list of currently supported GPUs:
Code:
        const char *arrDevices[] =
        {
                "Cypress", // 5830, 5850, 5870
                "Cayman", // Radeon HD 6900:  Radeon HD 6950 and Radeon HD 6970
                "Barts", // HD 6850 HD 6870
                "Turks", // HD 6570 and HD 6670, 7510, 7570, 7670
                "Juniper", // 6770 and 6750, 5750, 5770
                "Tahiti", // 7870, 7950, 7970
                "Pitcairn", // 7850, 7870
                "Capeverde", // 7730, 7750, 7770
                "Bonaire", // 7790
                0
        };

Hi Smolen. In you list present card 7790 but my 7790 card not worked correctly. Sad Is there any hope to work in the future?
Or what am I doing wrong?

Code:
smelter -o http://127.0.0.1:8385 -u user -p password -w
64 -g 1 -i 200 -a ______________  --debug
smelter v0.3 (c) Smolen
Royalty: 1/10
Pool::Start()
Pool::ThreadFunc() started
nPlatforms==2
Platform #0 id:00276D90
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.1
CL_PLATFORM_NAME:Intel(R) OpenCL
CL_PLATFORM_VENDOR:Intel(R) Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics c
l_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local
_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_dev
ice_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_s
haring
Platform is not supported!
Platform #1 id:53D8B864
CL_PLATFORM_PROFILE:FULL_PROFILE
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (1124.2)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing cl_khr_d3d11_sharing
# of devices: 1
        Device #0 id==023C84D8
        CL_DEVICE_NAME:Bonaire
        CL_DEVICE_VENDOR:Advanced Micro Devices, Inc.
        CL_DEVICE_VERSION:OpenCL 1.2 AMD-APP (1124.2)
        CL_DRIVER_VERSION:1124.2 (VM)
        CL_DEVICE_ADDRESS_BITS:32
        CL_DEVICE_AVAILABLE:1
        CL_DEVICE_COMPILER_AVAILABLE:1
        CL_DEVICE_ENDIAN_LITTLE:1
        CL_DEVICE_ERROR_CORRECTION_SUPPORT:0
        CL_DEVICE_EXTENSIONS:cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_at
omics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_kh
r_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_a
tomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl
_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf
cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_amd_c1x
_atomics
        CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:16384
        CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:64
        CL_DEVICE_GLOBAL_MEM_SIZE:1073741824
        CL_DEVICE_LOCAL_MEM_SIZE:32768
        CL_DEVICE_MAX_CLOCK_FREQUENCY:1050
        CL_DEVICE_MAX_COMPUTE_UNITS:14
        CL_DEVICE_MAX_CONSTANT_ARGS:8
        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:65536
        CL_DEVICE_MAX_MEM_ALLOC_SIZE:804257792
        CL_DEVICE_MAX_PARAMETER_SIZE:1024
        CL_DEVICE_MAX_WORK_GROUP_SIZE:256
        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
        CL_DEVICE_MEM_BASE_ADDR_ALIGN:2048

No binary found: quark0td_Bonaire_W64.bin
Failed to read source file: ./quark0td/kernel/kernelQuark.cl
SummonProgram failed
main loop
ThreadHost::Thread() started
ThreadHost::Thread() unexpected exception:clCreateKernel call failed
ThreadHost::Thread() finished
Justin00
Legendary
*
Offline Offline

Activity: 910
Merit: 1000


★YoBit.Net★ 350+ Coins Exchange & Dice


View Profile
February 02, 2014, 11:24:10 AM
 #275

Im getting 415kh/s with my turks based HD 6720 (laptop.. so shouldnt really be mining)
but working well.. i think.. Huh

not familiar with mining.. but this looks ok yeah ??

[2014-02-02 22:24:13] 1:4 A:0 R:0 HW:0 Speed: 410.40KH/s 5s: 417.59KH/s
[2014-02-02 22:24:18] 1:4 A:0 R:0 HW:0 Speed: 410.61KH/s 5s: 417.01KH/s
[2014-02-02 22:24:23] 1:4 A:0 R:0 HW:0 Speed: 410.82KH/s 5s: 417.34KH/s
[2014-02-02 22:24:28] 1:4 A:0 R:0 HW:0 Speed: 411.02KH/s 5s: 417.51KH/s

*edit* what does the I mean in the output ? its changed to 8 now.. seems to increase slowly ??

just one thing.. is their a way to lower the intensity.. its 100% gpu load.. but the bad 100% that freezes pc sometimes.. as oposed to the lower end of 100% that doesnt..  ?

tks heaps Smiley

Justin00
Legendary
*
Offline Offline

Activity: 910
Merit: 1000


★YoBit.Net★ 350+ Coins Exchange & Dice


View Profile
February 02, 2014, 11:31:52 AM
 #276

oic there is -w -g -i when i try those options it says -g and -i unknown options if i put them in the middle.. and if i put optins at the starts it says -w -g -i unknown.. im running version 0.1 from the OP ?

thanks

verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
February 03, 2014, 02:28:17 AM
 #277

Im getting 415kh/s with my turks based HD 6720 (laptop.. so shouldnt really be mining)
but working well.. i think.. Huh

not familiar with mining.. but this looks ok yeah ??

[2014-02-02 22:24:13] 1:4 A:0 R:0 HW:0 Speed: 410.40KH/s 5s: 417.59KH/s
[2014-02-02 22:24:18] 1:4 A:0 R:0 HW:0 Speed: 410.61KH/s 5s: 417.01KH/s
[2014-02-02 22:24:23] 1:4 A:0 R:0 HW:0 Speed: 410.82KH/s 5s: 417.34KH/s
[2014-02-02 22:24:28] 1:4 A:0 R:0 HW:0 Speed: 411.02KH/s 5s: 417.51KH/s

*edit* what does the I mean in the output ? its changed to 8 now.. seems to increase slowly ??

just one thing.. is their a way to lower the intensity.. its 100% gpu load.. but the bad 100% that freezes pc sometimes.. as oposed to the lower end of 100% that doesnt..  ?

tks heaps Smiley

The 1:4 or 1:8 means how many blocks were solved by the program. However, it isn't a guarantee that the block is yours since it could be an orphan.

Change -i in the .bat to reduce the load on the GPU.
Justin00
Legendary
*
Offline Offline

Activity: 910
Merit: 1000


★YoBit.Net★ 350+ Coins Exchange & Dice


View Profile
February 03, 2014, 09:03:25 AM
 #278

thanks for that.
I found the newer version 0.3 on page 7 or 8 or something.. and that has the options in it..
only thing is that version wont run. i have a turks card so should be supported plus it works on the first version.
did a debug and it connects just fine but doesnt do anything or report anything wierd except the normal cant find kernel which v0.1 also reported.

hedgy73
Legendary
*
Offline Offline

Activity: 1414
Merit: 1077



View Profile
February 03, 2014, 09:29:48 AM
 #279

Does anyone know if 03a.zip is the latest version and if it's still for solo mining and not pool?
peteycamey
Legendary
*
Offline Offline

Activity: 1184
Merit: 1017



View Profile WWW
February 03, 2014, 11:41:30 AM
 #280

reserve
gizzig
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile WWW
February 03, 2014, 08:14:08 PM
Last edit: February 03, 2014, 08:28:15 PM by gizzig
 #281

The link  http://rghost.net/49940688   not work

Please, where I can get version 0.3 or 0.3a ?
Thanks

hedgy73
Legendary
*
Offline Offline

Activity: 1414
Merit: 1077



View Profile
February 03, 2014, 09:41:54 PM
 #282

The link  http://rghost.net/49940688   not work

Please, where I can get version 0.3 or 0.3a ?
Thanks

I also noticed that the download button itself doesn't work at http://rghost.net/49940688.

I had to download it from the same page using torrent software by following the torrent download link: http://rghost.net/torrent/7282858/smelter_quark_03a.zip.torrent

If you are not familiar with torrent downloading software I recommend uTorrent: http://www.utorrent.com/
bitspill
Legendary
*
Offline Offline

Activity: 2058
Merit: 1015



View Profile
February 06, 2014, 03:27:17 PM
 #283

If you are not familiar with torrent downloading software I recommend uTorrent: http://www.utorrent.com/
Or if you wish to support bitcoin services http://bitfetch.com/ "Anonymous remote torrent downloading"

{ BitSpill }
nusduq
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
February 10, 2014, 04:39:02 PM
 #284

Please add command "-d"  to choose device
alicea
Hero Member
*****
Offline Offline

Activity: 1050
Merit: 501



View Profile
February 15, 2014, 09:30:03 PM
 #285



Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78


This is an executable for windows, are there sources or binaries for other operating systems anywhere?

Wubbllez
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
February 19, 2014, 03:44:59 AM
 #286



Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78


This is an executable for windows, are there sources or binaries for other operating systems anywhere?
its still closed source.
alicea
Hero Member
*****
Offline Offline

Activity: 1050
Merit: 501



View Profile
February 21, 2014, 01:28:12 PM
 #287



Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78


This is an executable for windows, are there sources or binaries for other operating systems anywhere?
its still closed source.
I don't mind if it's closed source, but I would like binaries for Ubuntu/Mint Smiley

dE_logics
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile WWW
February 21, 2014, 03:39:53 PM
 #288

You guys are hoping too much.

This's practically not possible. The 3 random rounds require decision making, making the algo unsuitable for GPU computation. Ever wondered why your OS doesn't run on GPU? Or Apache doesn't run on GPU?

It's the same reason as Primecoin's algo.

There can be a hybrid though. Not sure.

▄▄▄█████████▄▄▄
▄▄█████████████████████▄▄
▄██████████▄▄▄    ▀▀▀███████▄
▄██████████████████▄▄▄   ▀▀█████▄
████████████████████████▌  ▄███████
██████████████▀▀    ▀▀██▀ ▄███▀ ▀████
███████████▀▀  ▄▄ ▄▄     ▄█████▄  ▀████
███████████  ▄▄ ▀█████▄ ▄█▀  █████  ▀████
▄██████████   ▀████▀  ▀███     █████  ▀███▄
██████████▌  ▄████▄  ▄█▀▀██▄   ▐█████  ████
██████████   ▀▀ ▀████▀    ██    ██████ ████
██████████▌      ▄███▄  ▄██▄   ▐██████H████
▀██████████▄   ▄█▀  ▀████▀▀▀   ███████████▀
██████████▀ ▄█▀    ██▀▀██   ▄████████████
███████▀ ▄███▄           ▄█████████████
█████▄▄█████████▄▄▄▄▄████████████████
▀█████████████████████████████████▀
▀█████████████████████████████▀
▀▀███████████████████████▀▀
▀▀███████████████▀▀
▀▀▀▀▀▀▀▀▀
.






  

             ▄████▄▄   ▄
█▄          ██████████▀▄
███        ███████████▀
▐████▄     ██████████▌
▄▄██████▄▄▄▄█████████▌
▀████████████████████
  ▀█████████████████
  ▄▄███████████████
   ▀█████████████▀
    ▄▄█████████▀
▀▀██████████▀
    ▀▀▀▀▀
  

                   ▄▄████
              ▄▄████████▌
         ▄▄█████████▀███
    ▄▄██████████▀▀ ▄███▌
▄████████████▀▀  ▄█████
▀▀▀███████▀   ▄███████▌
      ██    ▄█████████
       █  ▄██████████▌
       █  ███████████
       █ ██▀ ▀██████▌
       ██▀     ▀████
                 ▀█▌
  

             █▀▀▀▄▄▄██▄
             █     ▀██▀
            █
         ▄▄▄█▄▄▄
 ████▄▄███████████▄▄████
▐██████▀▀███████▀▀██████▌
 ▀████    █████    ████▀
  ████▄  ▄█████▄  ▄████
  ▀███████████████████▀
   ▀████▄▀█████▀▄████▀
     ▀▀███▄▄▄▄▄███▀▀
         ▀▀▀▀▀▀▀


          ▄████████
          █████████
          █████
          █████
      █████████████
      █████████████
          █████
          █████
          █████
          █████
          █████


█▄▄              █▄▄
█████▄▄         ██████▄▄
████████       ████████ █
████████ ██   ████████ ██
████████ ███ ████████ ███
████████ ████ ██████ ████
████████ █████ ████ █████
████████ ▀█████ ██ ██████
████████    ▀▀██  ███████
▀███████         ▀███████
   ▀▀███            ▀▀███
       ▀                ▀
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
February 21, 2014, 05:32:21 PM
 #289

You guys are hoping too much.

This's practically not possible. The 3 random rounds require decision making, making the algo unsuitable for GPU computation. Ever wondered why your OS doesn't run on GPU? Or Apache doesn't run on GPU?

It's the same reason as Primecoin's algo.

There can be a hybrid though. Not sure.

What are they hoping about?  Smelter works like a hot damn.
isaevski
Hero Member
*****
Offline Offline

Activity: 551
Merit: 500



View Profile
February 26, 2014, 07:09:45 PM
 #290

solo only?
dddbtc
Sr. Member
****
Offline Offline

Activity: 490
Merit: 250



View Profile
February 26, 2014, 07:16:09 PM
 #291

solo only?

Yes unfortunately.  I hope the author publicly updates this soft.

otherwise, I wouldn't be opposed to organizing a bounty for private or public release Wink
crike
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
February 27, 2014, 01:42:13 PM
 #292

solo only?
https://bitcointalk.org/index.php?topic=475795.0

Use this for pool-mining. Its also free to use

BTC: 19GwYWZjY3RczZFCS7S64AikrARuyZ7Zoc
rmhuntley
Sr. Member
****
Offline Offline

Activity: 980
Merit: 255


HALA MADRID


View Profile
February 28, 2014, 02:19:48 AM
 #293

Anyone know if this is compatible w/ the 5850 yet?

                          ▄▀
                         █▀
                       ▄██
                     ▄▀ █
                   ▄▀  █
                 ▄▀   ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀  ▀▀▀▀▀▀▀▀▀▀▀███▀▀▀▀
             ▄▀     ▐▌▄▄▄▄▀▀▀▀
           ▄▀  ▄▄▄▀ █
        ▄████▀▀    ▐▌
    ▄▄████▀▀       █
  ▄▄▀▀▀▀          ▐▌
                  ▐
███████████████████████████

█████████████████████████

██████████████████████

██████████████

███████████████████

████████████████████

███████████████
██████████████████████████████   ██
.
      1.28%     
      DAILY ROI     
.
.

IN-WALLET
AUTO STAKING
.
.

FASTEST BURN
ON BSC
.
.

   ANTI-DUMP 
   MECHANISM   
.
██   ██████████████████████████████
██████████████████

████████████████████

█████████████████████

███████████████

██████████████████████

████████████████████████

██████████████████████████
.
●  Whitepaper
●  Litepaper
●  Onepager
.
●  Twitter
●  Telegram
●  Discord
infinitalus
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 10, 2014, 04:21:47 AM
 #294

Lol looks like video card better spent on scrypt. My i7 4930k oced to 4.2ghz runs at 1250 khs using 11/12 threads to save 1 thread from bottlenecking the rest of my gpus.. but is water cooled runs stable at 70c or less.
Hilux74
Legendary
*
Offline Offline

Activity: 912
Merit: 1000



View Profile
March 10, 2014, 05:48:21 AM
 #295

Lol looks like video card better spent on scrypt. My i7 4930k oced to 4.2ghz runs at 1250 khs using 11/12 threads to save 1 thread from bottlenecking the rest of my gpus.. but is water cooled runs stable at 70c or less.
FAIL

Lol each of my $50 Radeon 5830s mines Quark related coins at 2200 khs and is aircooled and runs at 53oC and less than 100watts.  Who puts an overclocked and watercooled i7 4930k in a mining rig lol.
csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
March 22, 2014, 05:45:25 AM
 #296

Can this work on Primecoin?


O2-Protocol.com
Carbon Offset DeFi
ddwy758
Full Member
***
Offline Offline

Activity: 121
Merit: 100


View Profile
March 22, 2014, 12:10:54 PM
 #297

China issued new currency QQ group 375065944

csa1234
Full Member
***
Offline Offline

Activity: 286
Merit: 100


O2-Protocol.com Carbon Offset DeFi


View Profile WWW
March 22, 2014, 02:31:43 PM
 #298

Im getting a strange message: "Share hash above the target"

I have been mining with smelter for the past 7 hours, and there was zero Accepted work A:0 R:0 HW:0

Is there something wrong here?

O2-Protocol.com
Carbon Offset DeFi
verloren
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
March 23, 2014, 04:21:34 AM
 #299


Doesn't work on XPM.

No idea on the share hash above the target question.
cbuchner1
Hero Member
*****
Offline Offline

Activity: 756
Merit: 502


View Profile
March 31, 2014, 04:28:51 PM
 #300

You guys are hoping too much.

This's practically not possible. The 3 random rounds require decision making, making the algo unsuitable for GPU computation. Ever wondered why your OS doesn't run on GPU? Or Apache doesn't run on GPU?

the 3 rounds of (pseudo)random 2-way divergent branching only require a bit of stream compaction, followed by sequential execution of each of the two branches.

it's no obstacle for a skilled GPU programmer.

Christian
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:25:43 AM
 #301

I'm publishing OpenCL code of Smelter - let's hope it will find new home in some other miner.

Blake:
Code:
#define M0 hash64[ 0]
#define M1 hash64[ 1]
#define M2 hash64[ 2]
#define M3 hash64[ 3]
#define M4 hash64[ 4]
#define M5 hash64[ 5]
#define M6 hash64[ 6]
#define M7 hash64[ 7]

M0 = BSWAP64(hash64[ 0]);
M1 = BSWAP64(hash64[ 1]);
M2 = BSWAP64(hash64[ 2]);
M3 = BSWAP64(hash64[ 3]);
M4 = BSWAP64(hash64[ 4]);
M5 = BSWAP64(hash64[ 5]);
M6 = BSWAP64(hash64[ 6]);
M7 = BSWAP64(hash64[ 7]);

V0 = 0xbb1838e7a1a34bd9ULL + (M0 ^ 0x13198A2E03707344ULL);
VC = ROTR64(0x452821E638D01177ULL ^ V0, 32);
V8 = 0x243F6A8885A308D3ULL + VC;
V4 = ROTR64(0x510E527FADE682D1ULL ^ V8, 25);
V0 += V4 + (M1 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 = 0x566d1711b009135aULL + (M2 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(0xBE5466CF34E90E6CULL ^ V1, 32);
V9 = 0x13198A2E03707344ULL + VD;
V5 = ROTR64(0x9B05688C2B3E6C1FULL ^ V9, 25);
V1 += V5 + (M3 ^ 0xA4093822299F31D0ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 = 0x5bf2cd1ef9d6b596ULL + (M4 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(0xC0AC29B7C97C50DDULL ^ V2, 32);
VA = 0xA4093822299F31D0ULL + VE;
V6 = ROTR64(0x1F83D9ABFB41BD6BULL ^ VA, 25);
V2 += V6 + (M5 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 = 0x0130c253729b586aULL + (M6 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(0x3F84D5B5B5470917ULL ^ V3, 32);
VB = 0x082EFA98EC4E6C89ULL + VF;
V7 = ROTR64(0x5BE0CD19137E2179ULL ^ VB, 25);
V3 += V7 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x51310BA698DFB5ACULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x9216D5D98979FB1BULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x24A19947B3916CF7ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0xBA7C9045F12C7F98ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x0801F2E2858EFE16ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x0801F2E2858EFC16ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0xC52821E638D01377ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0xD1310BA698DFB7ACULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0xC0AC29B7C97C50DCULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M6 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M0 ^ 0xA4093822299F31D0ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M2 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M7 ^ 0xB8E1AFED6A267E96ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M5 ^ 0x082EFA98EC4E6C89ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M3 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x9216D5D98979FB1BULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x38E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0x243F6A8885A308D3ULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M0 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M5 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M2 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x24A19947B3916EF7ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x636920D871574E68ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x2FFD72DBD01ADFB7ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M7 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M1 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x452821E638D01377ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M4 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M7 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x3F84D5B5B5470917ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M3 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M1 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0xBA7C9045F12C7F98ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0xB8E1AFED6A267E96ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M2 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M6 ^ 0xA4093822299F31D0ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xBE5466CF34E90C6CULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M4 ^ 0x243F6A8885A308D3ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M0 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x9216D5D98979F91BULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0xE36920D871574E69ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x243F6A8885A308D3ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M0 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M5 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M7 ^ 0xBE5466CF34E90C6CULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M2 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M4 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x636920D871574E69ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x2FFD72DBD01ADDB7ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M1 ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xBA7C9045F12C7F99ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x40AC29B7C97C50DDULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M3 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x082EFA98EC4E6C88ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0xA4093822299F31D0ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M6 ^ 0x2FFD72DBD01ADFB7ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0xC0AC29B7C97C50DDULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M0 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x243F6A8885A308D3ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x882EFA98EC4E6C89ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M3 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M4 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x452821E638D01376ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M7 ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M5 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x0801F2E2858EFE16ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x636920D871574E69ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M1 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x13198A2E03707344ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0xBE5466CF34E90C6CULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M5 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M1 ^ 0x636920D871574E69ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0x13198A2E03707144ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x0801F2E2858EFC17ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M4 ^ 0x2FFD72DBD01ADFB7ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x452821E638D01377ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M0 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M7 ^ 0x243F6A8885A308D3ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0xA4093822299F31D0ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M2 ^ 0xD1310BA698DFB5ACULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x38E1AFED6A267E96ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x9216D5D98979FB1BULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0xB8E1AFED6A267E97ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x24A19947B3916CF7ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M7 ^ 0x0801F2E2858EFC16ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x13198A2E03707344ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M3 ^ 0xD1310BA698DFB5ACULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x082EFA98EC4E6C89ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M5 ^ 0x243F6A8885A308D3ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M0 ^ 0xBE5466CF34E90C6CULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0x452821E638D01177ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M4 ^ 0x636920D871574E69ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x40AC29B7C97C50DDULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M2 ^ 0x2FFD72DBD01ADFB7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0xA4093822299F31D0ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M6 ^ 0x636920D871574E69ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0xC0AC29B7C97C52DDULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0xD1310BA698DFB5ACULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0x0801F2E2858EFC16ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x082EFA98EC4E6C89ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M3 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M0 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0xA43F6A8885A308D3ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0xA4093822299F31D0ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0x3F84D5B5B5470916ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M7 ^ 0x24A19947B3916CF7ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M1 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M4 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0xBE5466CF34E90C6CULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0xA4093822299F31D0ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M2 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0xC52821E638D01377ULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M6 ^ 0x3F84D5B5B5470917ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M1 ^ 0xBE5466CF34E90C6CULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M5 ^ 0x13198A2E03707344ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0xB8E1AFED6A267C96ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x636920D871574E69ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0x0801F2E2858EFC16ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xD1310BA698DFB5ACULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M3 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x082EFA98EC4E6C89ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x243F6A8885A308D2ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M0 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M0 ^ 0x13198A2E03707344ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M1 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M2 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M3 ^ 0xA4093822299F31D0ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M4 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M5 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M6 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x51310BA698DFB5ACULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x9216D5D98979FB1BULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x24A19947B3916CF7ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0xBA7C9045F12C7F98ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x0801F2E2858EFE16ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x0801F2E2858EFC16ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0xC52821E638D01377ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0xD1310BA698DFB7ACULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0xC0AC29B7C97C50DCULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M6 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M0 ^ 0xA4093822299F31D0ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M2 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M7 ^ 0xB8E1AFED6A267E96ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M5 ^ 0x082EFA98EC4E6C89ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M3 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x9216D5D98979FB1BULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x38E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0x243F6A8885A308D3ULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M0 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M5 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M2 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x24A19947B3916EF7ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x636920D871574E68ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x2FFD72DBD01ADFB7ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M7 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M1 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x452821E638D01377ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M4 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M7 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x3F84D5B5B5470917ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M3 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M1 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0xBA7C9045F12C7F98ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0xB8E1AFED6A267E96ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M2 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M6 ^ 0xA4093822299F31D0ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xBE5466CF34E90C6CULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M4 ^ 0x243F6A8885A308D3ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M0 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x9216D5D98979F91BULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0xE36920D871574E69ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x243F6A8885A308D3ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M0 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M5 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M7 ^ 0xBE5466CF34E90C6CULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M2 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M4 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x636920D871574E69ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x2FFD72DBD01ADDB7ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M1 ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xBA7C9045F12C7F99ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x40AC29B7C97C50DDULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M3 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x082EFA98EC4E6C88ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0xA4093822299F31D0ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M6 ^ 0x2FFD72DBD01ADFB7ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0xC0AC29B7C97C50DDULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M0 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x243F6A8885A308D3ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x882EFA98EC4E6C89ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M3 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M4 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x452821E638D01376ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M7 ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M5 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x0801F2E2858EFE16ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x636920D871574E69ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M1 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x13198A2E03707344ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);

#undef M0
#undef M1
#undef M2
#undef M3
#undef M4
#undef M5
#undef M6
#undef M7

hash64[0] = BSWAP64(V0 ^ V8 ^ 0x6A09E667F3BCC908ULL);
hash64[1] = BSWAP64(V1 ^ V9 ^ 0xBB67AE8584CAA73BULL);
hash64[2] = BSWAP64(V2 ^ VA ^ 0x3C6EF372FE94F82BULL);
hash64[3] = BSWAP64(V3 ^ VB ^ 0xA54FF53A5F1D36F1ULL);
hash64[4] = BSWAP64(V4 ^ VC ^ 0x510E527FADE682D1ULL);
hash64[5] = BSWAP64(V5 ^ VD ^ 0x9B05688C2B3E6C1FULL);
hash64[6] = BSWAP64(V6 ^ VE ^ 0x1F83D9ABFB41BD6BULL);
hash64[7] = BSWAP64(V7 ^ VF ^ 0x5BE0CD19137E2179ULL);


Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:33:33 AM
 #302

BMW:
Code:
INLINE void QuarkBMW0_64(UINT64 *hash64)
{
UINT64 bmw_h2[16];
UINT64 bmw_qt[32];
UINT64 bmw_xl, bmw_xh;
UINT64 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
UINT64 spare0, spare1;

tmp0 = ROTL64(hash64[0], 1);
tmp1 = ROTL64(hash64[1], 2);
tmp2 = ROTL64(hash64[2], 3);
tmp3 = ROTL64(hash64[3], 4);
tmp4 = ROTL64(hash64[4], 5);
tmp5 = ROTL64(hash64[5], 6);
tmp6 = ROTL64(hash64[6], 7);
tmp7 = ROTL64(hash64[7], 8);

bmw_qt[16] = 0xB8B9BABBBCBDBEBFULL ^ (0x5555555555555550ULL + tmp0 + tmp3);
bmw_qt[17] = 0xC0C1C2C3C4C5C6C7ULL ^ (0x5aaaaaaaaaaaaaa5ULL + tmp1 + tmp4);
bmw_qt[18] = 0xC8C9CACBCCCDCECFULL ^ (0x5ffffffffffffffaULL + tmp2 + tmp5);
bmw_qt[19] = 0xD0D1D2D3D4D5D6D7ULL ^ (0x655555555555554fULL + tmp3 + tmp6);
bmw_qt[20] = 0xD8D9DADBDCDDDEDFULL ^ (0x6aaaaaaaaaaaaaa4ULL + tmp4 + tmp7);
bmw_qt[21] = 0xE0E1E2E3E4E5E6E7ULL ^ (0x6ffffffffe00fff9ULL + tmp5);
bmw_qt[22] = 0xE8E9EAEBECEDEEEFULL ^ (0x755555555555554eULL + tmp6 - tmp0);
bmw_qt[23] = 0xF0F1F2F3F4F5F6F7ULL ^ (0x7aaaaaaaaaaaaaa3ULL + tmp7 - tmp1);
bmw_qt[24] = 0xF8F9FAFBFCFDFEFFULL ^ (0x800000000000fff8ULL - tmp2);
bmw_qt[25] = 0x8081828384858687ULL ^ (0x855555555555554dULL - tmp3);
bmw_qt[26] = 0x88898A8B8C8D8E8FULL ^ (0x8aaaaaaaaaaaaaa2ULL - tmp4);
bmw_qt[27] = 0x9091929394959697ULL ^ (0x8ffffffffffffff7ULL - tmp5);
bmw_qt[28] = 0x98999A9B9C9D9E9FULL ^ (0x955555555755554cULL - tmp6);
bmw_qt[29] = 0xA0A1A2A3A4A5A6A7ULL ^ (0x9aaaaaaaaaaaaaa1ULL + tmp0 - tmp7);
bmw_qt[30] = 0xA8A9AAABACADAEAFULL ^ (0x9ffffffffffefff6ULL + tmp1);
bmw_qt[31] = 0xB0B1B2B3B4B5B6B7ULL ^ (0xa55555555755554bULL + tmp2);
// free tmpX

tmp0 = hash64[0] ^ 0x8081828384858687ULL;
tmp1 = hash64[1] ^ 0x88898A8B8C8D8E8FULL;
tmp2 = hash64[2] ^ 0x9091929394959697ULL;
tmp3 = hash64[3] ^ 0x98999A9B9C9D9E9FULL;
tmp4 = hash64[4] ^ 0xA0A1A2A3A4A5A6A7ULL;
tmp5 = hash64[5] ^ 0xA8A9AAABACADAEAFULL;
tmp6 = hash64[7] ^ 0xB8B9BABBBCBDBEBFULL;
tmp7 = hash64[6] ^ 0xB0B1B2B3B4B5B6B7ULL;
spare0 = tmp4 + tmp6;
spare1 = tmp3 - tmp7;


{
UINT64 pre_01 = (0xaaadb0b3b6b9bcbdULL + tmp5 - tmp6);
bmw_qt[0] = ((pre_01 >> 1) ^ SHIFTL64(pre_01, 3) ^ ROTL64(pre_01, 4) ^ ROTL64(pre_01, 37)) + 0x88898A8B8C8D8E8FULL;
bmw_qt[16] += (bmw_qt[0] >> 1) ^ SHIFTL64(bmw_qt[0], 2) ^ ROTL64(bmw_qt[0], 13) ^ ROTL64(bmw_qt[0], 43);
}

{
UINT64 pre_02 = (0x1010101010101290ULL + tmp7);
bmw_qt[1] = ((pre_02 >> 1) ^ SHIFTL64(pre_02, 2) ^ ROTL64(pre_02, 13) ^ ROTL64(pre_02, 43)) + 0x9091929394959697ULL;
bmw_qt[16] += (bmw_qt[1] >> 2) ^ SHIFTL64(bmw_qt[1], 1) ^ ROTL64(bmw_qt[1], 19) ^ ROTL64(bmw_qt[1], 53);
bmw_qt[17] += (bmw_qt[1] >> 1) ^ SHIFTL64(bmw_qt[1], 2) ^ ROTL64(bmw_qt[1], 13) ^ ROTL64(bmw_qt[1], 43);
}

{
UINT64 pre_03 = (0xe0e1e2e3e4e5e4e7ULL + tmp0 + tmp6);
bmw_qt[2] = ((pre_03 >> 2) ^ SHIFTL64(pre_03, 1) ^ ROTL64(pre_03, 19) ^ ROTL64(pre_03, 53)) + 0x98999A9B9C9D9E9FULL;
bmw_qt[16] += (bmw_qt[2] >> 2) ^ SHIFTL64(bmw_qt[2], 2) ^ ROTL64(bmw_qt[2], 28) ^ ROTL64(bmw_qt[2], 59);
bmw_qt[17] += (bmw_qt[2] >> 2) ^ SHIFTL64(bmw_qt[2], 1) ^ ROTL64(bmw_qt[2], 19) ^ ROTL64(bmw_qt[2], 53);
bmw_qt[18] += bmw_qt[2] ;
}

{
UINT64 pre_04 = (0xd8d9dadbdcddde5fULL + tmp0 - tmp1);
bmw_qt[3] = ((pre_04 >> 2) ^ SHIFTL64(pre_04, 2) ^ ROTL64(pre_04, 28) ^ ROTL64(pre_04, 59)) + 0xA0A1A2A3A4A5A6A7ULL;
bmw_qt[16] += (bmw_qt[3] >> 1) ^ SHIFTL64(bmw_qt[3], 3) ^ ROTL64(bmw_qt[3], 4) ^ ROTL64(bmw_qt[3], 37);
bmw_qt[17] += (bmw_qt[3] >> 2) ^ SHIFTL64(bmw_qt[3], 2) ^ ROTL64(bmw_qt[3], 28) ^ ROTL64(bmw_qt[3], 59);
bmw_qt[18] += ROTL64(bmw_qt[3], 5) ;
bmw_qt[19] += bmw_qt[3] ;
}

{
UINT64 pre_05 = (0xfefdfcfbfaf9f8f9ULL + tmp1 + tmp2);
bmw_qt[4] = ((pre_05 >> 1) ^ pre_05) + 0xA8A9AAABACADAEAFULL;
bmw_qt[16] += (bmw_qt[4] >> 1) ^ SHIFTL64(bmw_qt[4], 2) ^ ROTL64(bmw_qt[4], 13) ^ ROTL64(bmw_qt[4], 43);
bmw_qt[17] += (bmw_qt[4] >> 1) ^ SHIFTL64(bmw_qt[4], 3) ^ ROTL64(bmw_qt[4], 4) ^ ROTL64(bmw_qt[4], 37);
bmw_qt[18] += bmw_qt[4] ;
bmw_qt[19] += ROTL64(bmw_qt[4], 5) ;
bmw_qt[20] += bmw_qt[4] ;
}

{
UINT64 pre_06 = (0xe8e9eaebecedecefULL + tmp3 - tmp2);
bmw_qt[5] = ((pre_06 >> 1) ^ SHIFTL64(pre_06, 3) ^ ROTL64(pre_06, 4) ^ ROTL64(pre_06, 37)) + 0xB0B1B2B3B4B5B6B7ULL;
bmw_qt[16] += (bmw_qt[5] >> 2) ^ SHIFTL64(bmw_qt[5], 1) ^ ROTL64(bmw_qt[5], 19) ^ ROTL64(bmw_qt[5], 53);
bmw_qt[17] += (bmw_qt[5] >> 1) ^ SHIFTL64(bmw_qt[5], 2) ^ ROTL64(bmw_qt[5], 13) ^ ROTL64(bmw_qt[5], 43);
bmw_qt[19] += bmw_qt[5] ;
bmw_qt[20] += ROTL64(bmw_qt[5], 5) ;
bmw_qt[21] += bmw_qt[5] ;
}

{
UINT64 pre_00 = (0x1010101010101010ULL + tmp4 - tmp0 - tmp3);
bmw_qt[6] = ((pre_00 >> 1) ^ SHIFTL64(pre_00, 2) ^ ROTL64(pre_00, 13) ^ ROTL64(pre_00, 43)) + 0xB8B9BABBBCBDBEBFULL;
bmw_qt[16] += (bmw_qt[6] >> 2) ^ SHIFTL64(bmw_qt[6], 2) ^ ROTL64(bmw_qt[6], 28) ^ ROTL64(bmw_qt[6], 59);
bmw_qt[17] += (bmw_qt[6] >> 2) ^ SHIFTL64(bmw_qt[6], 1) ^ ROTL64(bmw_qt[6], 19) ^ ROTL64(bmw_qt[6], 53);
bmw_qt[20] += bmw_qt[6] ;
bmw_qt[21] += ROTL64(bmw_qt[6], 5) ;
bmw_qt[22] += bmw_qt[6] ;
}

{
UINT64 pre_07 = (0x2e2c2a2826242222ULL + tmp1 - tmp4 - tmp5);
bmw_qt[7] = ((pre_07 >> 2) ^ SHIFTL64(pre_07, 1) ^ ROTL64(pre_07, 19) ^ ROTL64(pre_07, 53)) + 0xC0C1C2C3C4C5C6C7ULL;
bmw_qt[16] += (bmw_qt[7] >> 1) ^ SHIFTL64(bmw_qt[7], 3) ^ ROTL64(bmw_qt[7], 4) ^ ROTL64(bmw_qt[7], 37);
bmw_qt[17] += (bmw_qt[7] >> 2) ^ SHIFTL64(bmw_qt[7], 2) ^ ROTL64(bmw_qt[7], 28) ^ ROTL64(bmw_qt[7], 59);
bmw_qt[21] += bmw_qt[7] ;
bmw_qt[22] += ROTL64(bmw_qt[7], 5) ;
bmw_qt[23] += bmw_qt[7] ;
}

{
UINT64 pre_08 = (0xefefefefefeff1f0ULL + tmp2 - tmp5 - tmp7);
bmw_qt[8] = ((pre_08 >> 2) ^ SHIFTL64(pre_08, 2) ^ ROTL64(pre_08, 28) ^ ROTL64(pre_08, 59)) + 0xC8C9CACBCCCDCECFULL;
bmw_qt[16] += (bmw_qt[8] >> 1) ^ SHIFTL64(bmw_qt[8], 2) ^ ROTL64(bmw_qt[8], 13) ^ ROTL64(bmw_qt[8], 43);
bmw_qt[17] += (bmw_qt[8] >> 1) ^ SHIFTL64(bmw_qt[8], 3) ^ ROTL64(bmw_qt[8], 4) ^ ROTL64(bmw_qt[8], 37);
bmw_qt[22] += bmw_qt[8] ;
bmw_qt[23] += ROTL64(bmw_qt[8], 5) ;
bmw_qt[24] += bmw_qt[8] ;
}

{
UINT64 pre_09 = (0xF0F1F2F3F4F5F6F7ULL + tmp0 - spare1 - tmp6);
bmw_qt[9] = ((pre_09 >> 1) ^ pre_09) + 0xD0D1D2D3D4D5D6D7ULL;
bmw_qt[16] += (bmw_qt[9] >> 2) ^ SHIFTL64(bmw_qt[9], 1) ^ ROTL64(bmw_qt[9], 19) ^ ROTL64(bmw_qt[9], 53);
bmw_qt[17] += (bmw_qt[9] >> 1) ^ SHIFTL64(bmw_qt[9], 2) ^ ROTL64(bmw_qt[9], 13) ^ ROTL64(bmw_qt[9], 43);
bmw_qt[23] += bmw_qt[9] ;
bmw_qt[24] += ROTL64(bmw_qt[9], 5) ;
bmw_qt[25] += bmw_qt[9] ;
}

{
UINT64 pre_10 = (0xb9bbbdbfc1c3c346ULL - tmp1 - spare0);
bmw_qt[10] = ((pre_10 >> 1) ^ SHIFTL64(pre_10, 3) ^ ROTL64(pre_10, 4) ^ ROTL64(pre_10, 37)) + 0xD8D9DADBDCDDDEDFULL;
bmw_qt[16] += (bmw_qt[10] >> 2) ^ SHIFTL64(bmw_qt[10], 2) ^ ROTL64(bmw_qt[10], 28) ^ ROTL64(bmw_qt[10], 59);
bmw_qt[17] += (bmw_qt[10] >> 2) ^ SHIFTL64(bmw_qt[10], 1) ^ ROTL64(bmw_qt[10], 19) ^ ROTL64(bmw_qt[10], 53);
bmw_qt[24] += bmw_qt[10];
bmw_qt[25] += ROTL64(bmw_qt[10], 5);
bmw_qt[26] += bmw_qt[10];
}

{
UINT64 pre_11 = (0x898b8d8f91939516ULL - tmp0 - tmp2 - tmp5);
bmw_qt[11] = ((pre_11 >> 1) ^ SHIFTL64(pre_11, 2) ^ ROTL64(pre_11, 13) ^ ROTL64(pre_11, 43)) + 0xE0E1E2E3E4E5E6E7ULL;
bmw_qt[16] += (bmw_qt[11] >> 1) ^ SHIFTL64(bmw_qt[11], 3) ^ ROTL64(bmw_qt[11], 4) ^ ROTL64(bmw_qt[11], 37);
bmw_qt[17] += (bmw_qt[11] >> 2) ^ SHIFTL64(bmw_qt[11], 2) ^ ROTL64(bmw_qt[11], 28) ^ ROTL64(bmw_qt[11], 59);
bmw_qt[25] += bmw_qt[11];
bmw_qt[26] += ROTL64(bmw_qt[11], 5);
bmw_qt[27] += bmw_qt[11];
}

{
UINT64 pre_12 = (0x0808080808080808ULL + tmp1 + spare1);
bmw_qt[12] = ((pre_12 >> 2) ^ SHIFTL64(pre_12, 1) ^ ROTL64(pre_12, 19) ^ ROTL64(pre_12, 53)) + 0xE8E9EAEBECEDEEEFULL;
bmw_qt[16] += (bmw_qt[12] >> 1) ^ SHIFTL64(bmw_qt[12], 2) ^ ROTL64(bmw_qt[12], 13) ^ ROTL64(bmw_qt[12], 43);
bmw_qt[17] += (bmw_qt[12] >> 1) ^ SHIFTL64(bmw_qt[12], 3) ^ ROTL64(bmw_qt[12], 4) ^ ROTL64(bmw_qt[12], 37);
bmw_qt[26] += bmw_qt[12];
bmw_qt[27] += ROTL64(bmw_qt[12], 5);
bmw_qt[28] += bmw_qt[12];
}

{
UINT64 pre_13 = (0xa9abadafb1b3b5b6ULL + tmp2 + spare0);
bmw_qt[13] = ((pre_13 >> 2) ^ SHIFTL64(pre_13, 2) ^ ROTL64(pre_13, 28) ^ ROTL64(pre_13, 59)) + 0xF0F1F2F3F4F5F6F7ULL;
bmw_qt[16] += (bmw_qt[13] >> 2) ^ SHIFTL64(bmw_qt[13], 1) ^ ROTL64(bmw_qt[13], 19) ^ ROTL64(bmw_qt[13], 53);
bmw_qt[17] += (bmw_qt[13] >> 1) ^ SHIFTL64(bmw_qt[13], 2) ^ ROTL64(bmw_qt[13], 13) ^ ROTL64(bmw_qt[13], 43);
bmw_qt[27] += bmw_qt[13];
bmw_qt[28] += ROTL64(bmw_qt[13], 5);
bmw_qt[29] += bmw_qt[13];
}

{
UINT64 pre_14 = (0x0706050403020081ULL + tmp3 - tmp5);
bmw_qt[14] = ((pre_14 >> 1) ^ pre_14) + 0xF8F9FAFBFCFDFEFFULL;
bmw_qt[16] += (bmw_qt[14] >> 2) ^ SHIFTL64(bmw_qt[14], 2) ^ ROTL64(bmw_qt[14], 28) ^ ROTL64(bmw_qt[14], 59);
bmw_qt[17] += (bmw_qt[14] >> 2) ^ SHIFTL64(bmw_qt[14], 1) ^ ROTL64(bmw_qt[14], 19) ^ ROTL64(bmw_qt[14], 53);
bmw_qt[28] += bmw_qt[14];
bmw_qt[29] += ROTL64(bmw_qt[14], 5);
bmw_qt[30] += bmw_qt[14];
}

{
UINT64 pre_15 = (0x0102030405060707ULL - tmp4 - tmp7);
bmw_qt[15] = ((pre_15 >> 1) ^ SHIFTL64(pre_15, 3) ^ ROTL64(pre_15, 4) ^ ROTL64(pre_15, 37)) + 0x8081828384858687ULL;
bmw_qt[16] += (bmw_qt[15] >> 1) ^ SHIFTL64(bmw_qt[15], 3) ^ ROTL64(bmw_qt[15], 4) ^ ROTL64(bmw_qt[15], 37);
bmw_qt[17] += (bmw_qt[15] >> 2) ^ SHIFTL64(bmw_qt[15], 2) ^ ROTL64(bmw_qt[15], 28) ^ ROTL64(bmw_qt[15], 59);
bmw_qt[17] += (bmw_qt[16] >> 1) ^ SHIFTL64(bmw_qt[16], 3) ^ ROTL64(bmw_qt[16], 4) ^ ROTL64(bmw_qt[16], 37);
bmw_qt[29] += bmw_qt[15];
bmw_qt[30] += ROTL64(bmw_qt[15], 5);
bmw_qt[31] += bmw_qt[15];
bmw_qt[31] += ROTL64(bmw_qt[16], 5);
bmw_qt[30] += bmw_qt[16];
bmw_qt[31] += bmw_qt[17];
}
// free tmpX
// free spare0, spare1


bmw_qt[18] += ROTL64(bmw_qt[5] , 11) + bmw_qt[6]  + ROTL64(bmw_qt[7] , 27) + bmw_qt[8]  + ROTL64(bmw_qt[9], 32) + bmw_qt[10] + ROTL64(bmw_qt[11], 37) + bmw_qt[12] + ROTL64(bmw_qt[13], 43) + bmw_qt[14] + ROTL64(bmw_qt[15], 53) + ((bmw_qt[16] >> 1) ^ bmw_qt[16]) + ((bmw_qt[17] >> 2) ^ bmw_qt[17]);
bmw_qt[19] += ROTL64(bmw_qt[6] , 11) + bmw_qt[7]  + ROTL64(bmw_qt[8] , 27) + bmw_qt[9]  + ROTL64(bmw_qt[10], 32) + bmw_qt[11] + ROTL64(bmw_qt[12], 37) + bmw_qt[13] + ROTL64(bmw_qt[14], 43) + bmw_qt[15] + ROTL64(bmw_qt[16], 53) + ((bmw_qt[17] >> 1) ^ bmw_qt[17]) + ((bmw_qt[18] >> 2) ^ bmw_qt[18]);
bmw_qt[20] += ROTL64(bmw_qt[7] , 11) + bmw_qt[8]  + ROTL64(bmw_qt[9] , 27) + bmw_qt[10] + ROTL64(bmw_qt[11], 32) + bmw_qt[12] + ROTL64(bmw_qt[13], 37) + bmw_qt[14] + ROTL64(bmw_qt[15], 43) + bmw_qt[16] + ROTL64(bmw_qt[17], 53) + ((bmw_qt[18] >> 1) ^ bmw_qt[18]) + ((bmw_qt[19] >> 2) ^ bmw_qt[19]);
bmw_qt[21] += ROTL64(bmw_qt[8] , 11) + bmw_qt[9]  + ROTL64(bmw_qt[10], 27) + bmw_qt[11] + ROTL64(bmw_qt[12], 32) + bmw_qt[13] + ROTL64(bmw_qt[14], 37) + bmw_qt[15] + ROTL64(bmw_qt[16], 43) + bmw_qt[17] + ROTL64(bmw_qt[18], 53) + ((bmw_qt[19] >> 1) ^ bmw_qt[19]) + ((bmw_qt[20] >> 2) ^ bmw_qt[20]);
bmw_qt[22] += ROTL64(bmw_qt[9] , 11) + bmw_qt[10] + ROTL64(bmw_qt[11], 27) + bmw_qt[12] + ROTL64(bmw_qt[13], 32) + bmw_qt[14] + ROTL64(bmw_qt[15], 37) + bmw_qt[16] + ROTL64(bmw_qt[17], 43) + bmw_qt[18] + ROTL64(bmw_qt[19], 53) + ((bmw_qt[20] >> 1) ^ bmw_qt[20]) + ((bmw_qt[21] >> 2) ^ bmw_qt[21]);
bmw_qt[23] += ROTL64(bmw_qt[10], 11) + bmw_qt[11] + ROTL64(bmw_qt[12], 27) + bmw_qt[13] + ROTL64(bmw_qt[14], 32) + bmw_qt[15] + ROTL64(bmw_qt[16], 37) + bmw_qt[17] + ROTL64(bmw_qt[18], 43) + bmw_qt[19] + ROTL64(bmw_qt[20], 53) + ((bmw_qt[21] >> 1) ^ bmw_qt[21]) + ((bmw_qt[22] >> 2) ^ bmw_qt[22]);
bmw_qt[24] += ROTL64(bmw_qt[11], 11) + bmw_qt[12] + ROTL64(bmw_qt[13], 27) + bmw_qt[14] + ROTL64(bmw_qt[15], 32) + bmw_qt[16] + ROTL64(bmw_qt[17], 37) + bmw_qt[18] + ROTL64(bmw_qt[19], 43) + bmw_qt[20] + ROTL64(bmw_qt[21], 53) + ((bmw_qt[22] >> 1) ^ bmw_qt[22]) + ((bmw_qt[23] >> 2) ^ bmw_qt[23]);
bmw_qt[25] += ROTL64(bmw_qt[12], 11) + bmw_qt[13] + ROTL64(bmw_qt[14], 27) + bmw_qt[15] + ROTL64(bmw_qt[16], 32) + bmw_qt[17] + ROTL64(bmw_qt[18], 37) + bmw_qt[19] + ROTL64(bmw_qt[20], 43) + bmw_qt[21] + ROTL64(bmw_qt[22], 53) + ((bmw_qt[23] >> 1) ^ bmw_qt[23]) + ((bmw_qt[24] >> 2) ^ bmw_qt[24]);
bmw_qt[26] += ROTL64(bmw_qt[13], 11) + bmw_qt[14] + ROTL64(bmw_qt[15], 27) + bmw_qt[16] + ROTL64(bmw_qt[17], 32) + bmw_qt[18] + ROTL64(bmw_qt[19], 37) + bmw_qt[20] + ROTL64(bmw_qt[21], 43) + bmw_qt[22] + ROTL64(bmw_qt[23], 53) + ((bmw_qt[24] >> 1) ^ bmw_qt[24]) + ((bmw_qt[25] >> 2) ^ bmw_qt[25]);
bmw_qt[27] += ROTL64(bmw_qt[14], 11) + bmw_qt[15] + ROTL64(bmw_qt[16], 27) + bmw_qt[17] + ROTL64(bmw_qt[18], 32) + bmw_qt[19] + ROTL64(bmw_qt[20], 37) + bmw_qt[21] + ROTL64(bmw_qt[22], 43) + bmw_qt[23] + ROTL64(bmw_qt[24], 53) + ((bmw_qt[25] >> 1) ^ bmw_qt[25]) + ((bmw_qt[26] >> 2) ^ bmw_qt[26]);
bmw_qt[28] += ROTL64(bmw_qt[15], 11) + bmw_qt[16] + ROTL64(bmw_qt[17], 27) + bmw_qt[18] + ROTL64(bmw_qt[19], 32) + bmw_qt[20] + ROTL64(bmw_qt[21], 37) + bmw_qt[22] + ROTL64(bmw_qt[23], 43) + bmw_qt[24] + ROTL64(bmw_qt[25], 53) + ((bmw_qt[26] >> 1) ^ bmw_qt[26]) + ((bmw_qt[27] >> 2) ^ bmw_qt[27]);
bmw_qt[29] += ROTL64(bmw_qt[16], 11) + bmw_qt[17] + ROTL64(bmw_qt[18], 27) + bmw_qt[19] + ROTL64(bmw_qt[20], 32) + bmw_qt[21] + ROTL64(bmw_qt[22], 37) + bmw_qt[23] + ROTL64(bmw_qt[24], 43) + bmw_qt[25] + ROTL64(bmw_qt[26], 53) + ((bmw_qt[27] >> 1) ^ bmw_qt[27]) + ((bmw_qt[28] >> 2) ^ bmw_qt[28]);
bmw_qt[30] += ROTL64(bmw_qt[17], 11) + bmw_qt[18] + ROTL64(bmw_qt[19], 27) + bmw_qt[20] + ROTL64(bmw_qt[21], 32) + bmw_qt[22] + ROTL64(bmw_qt[23], 37) + bmw_qt[24] + ROTL64(bmw_qt[25], 43) + bmw_qt[26] + ROTL64(bmw_qt[27], 53) + ((bmw_qt[28] >> 1) ^ bmw_qt[28]) + ((bmw_qt[29] >> 2) ^ bmw_qt[29]);
bmw_qt[31] += ROTL64(bmw_qt[18], 11) + bmw_qt[19] + ROTL64(bmw_qt[20], 27) + bmw_qt[21] + ROTL64(bmw_qt[22], 32) + bmw_qt[23] + ROTL64(bmw_qt[24], 37) + bmw_qt[25] + ROTL64(bmw_qt[26], 43) + bmw_qt[27] + ROTL64(bmw_qt[28], 53) + ((bmw_qt[29] >> 1) ^ bmw_qt[29]) + ((bmw_qt[30] >> 2) ^ bmw_qt[30]);

bmw_xl = bmw_qt[16] ^ bmw_qt[17] ^ bmw_qt[18] ^ bmw_qt[19] ^ bmw_qt[20] ^ bmw_qt[21] ^ bmw_qt[22] ^ bmw_qt[23];
bmw_xh = bmw_xl ^ bmw_qt[24] ^ bmw_qt[25] ^ bmw_qt[26] ^ bmw_qt[27] ^ bmw_qt[28] ^ bmw_qt[29] ^ bmw_qt[30] ^ bmw_qt[31];

bmw_h2[0]  = ((bmw_xh <<  5) ^ (bmw_qt[16] >>  5) ^ hash64[0])
+ (bmw_xl ^ bmw_qt[24] ^ bmw_qt[0]);
bmw_h2[1]  = ((bmw_xh >>  7) ^ (bmw_qt[17] <<  8) ^ hash64[1])
+ (bmw_xl ^ bmw_qt[25] ^ bmw_qt[1]);
bmw_h2[2]  = ((bmw_xh >>  5) ^ (bmw_qt[18] <<  5) ^ hash64[2])
+ (bmw_xl ^ bmw_qt[26] ^ bmw_qt[2]);
bmw_h2[3]  = ((bmw_xh >>  1) ^ (bmw_qt[19] <<  5) ^ hash64[3])
+ (bmw_xl ^ bmw_qt[27] ^ bmw_qt[3]);
bmw_h2[4]  = ((bmw_xh >>  3) ^ (bmw_qt[20] <<  0) ^ hash64[4])
+ (bmw_xl ^ bmw_qt[28] ^ bmw_qt[4]);
bmw_h2[5]  = ((bmw_xh <<  6) ^ (bmw_qt[21] >>  6) ^ hash64[5])
+ (bmw_xl ^ bmw_qt[29] ^ bmw_qt[5]);
bmw_h2[6]  = ((bmw_xh >>  4) ^ (bmw_qt[22] <<  6) ^ hash64[6])
+ (bmw_xl ^ bmw_qt[30] ^ bmw_qt[6]);
bmw_h2[7]  = ((bmw_xh >> 11) ^ (bmw_qt[23] <<  2) ^ hash64[7])
+ (bmw_xl ^ (bmw_qt[31]) ^ bmw_qt[7]);
bmw_h2[8]  = ROTL64(bmw_h2[4],  9) + (bmw_xh ^ bmw_qt[24] ^ 0x80ULL) + ((bmw_xl << 8) ^ bmw_qt[23] ^ bmw_qt[8]);
bmw_h2[9]  = ROTL64(bmw_h2[5], 10) + (bmw_xh ^ bmw_qt[25]) + ((bmw_xl >> 6) ^ bmw_qt[16] ^ bmw_qt[9]);
bmw_h2[10] = ROTL64(bmw_h2[6], 11) + (bmw_xh ^ bmw_qt[26]) + ((bmw_xl << 6) ^ bmw_qt[17] ^ bmw_qt[10]);
bmw_h2[11] = ROTL64(bmw_h2[7], 12) + (bmw_xh ^ bmw_qt[27]) + ((bmw_xl << 4) ^ bmw_qt[18] ^ bmw_qt[11]);
bmw_h2[12] = ROTL64(bmw_h2[0], 13) + (bmw_xh ^ bmw_qt[28]) + ((bmw_xl >> 3) ^ bmw_qt[19] ^ bmw_qt[12]);
bmw_h2[13] = ROTL64(bmw_h2[1], 14) + (bmw_xh ^ bmw_qt[29]) + ((bmw_xl >> 4) ^ bmw_qt[20] ^ bmw_qt[13]);
bmw_h2[14] = ROTL64(bmw_h2[2], 15) + (bmw_xh ^ bmw_qt[30]) + ((bmw_xl >> 7) ^ bmw_qt[21] ^ bmw_qt[14]);
bmw_h2[15] = ROTL64(bmw_h2[3], 16) + (bmw_xh ^ bmw_qt[31] ^ 0x200ULL) + ((bmw_xl >> 2) ^ bmw_qt[22] ^ bmw_qt[15]);

// ======

{
UINT64 hre_00 = (bmw_h2[5] ^ 0xaaaaaaaaaaaaaaa5ULL);
UINT64 hre_01 = (bmw_h2[6] ^ 0xaaaaaaaaaaaaaaa6ULL);
UINT64 hre_02 = (bmw_h2[7] ^ 0xaaaaaaaaaaaaaaa7ULL);
UINT64 hre_03 = (bmw_h2[10] ^ 0xaaaaaaaaaaaaaaaaULL);
UINT64 hre_04 = (bmw_h2[13] ^ 0xaaaaaaaaaaaaaaadULL);
UINT64 hre_05 = (bmw_h2[14] ^ 0xaaaaaaaaaaaaaaaeULL);
UINT64 hre_06 = (bmw_h2[8] ^ 0xaaaaaaaaaaaaaaa8ULL);
UINT64 hre_07 = (bmw_h2[11] ^ 0xaaaaaaaaaaaaaaabULL);
UINT64 hre_08 = (bmw_h2[0] ^ 0xaaaaaaaaaaaaaaa0ULL);
UINT64 hre_09 = (bmw_h2[9] ^ 0xaaaaaaaaaaaaaaa9ULL);
UINT64 hre_10 = (bmw_h2[1] ^ 0xaaaaaaaaaaaaaaa1ULL);
UINT64 hre_11 = (bmw_h2[15] ^ 0xaaaaaaaaaaaaaaafULL);
UINT64 hre_12 = (bmw_h2[12] ^ 0xaaaaaaaaaaaaaaacULL);
UINT64 hre_13 = (bmw_h2[2] ^ 0xaaaaaaaaaaaaaaa2ULL);
UINT64 hre_14 = (bmw_h2[3] ^ 0xaaaaaaaaaaaaaaa3ULL);
UINT64 hre_15 = (bmw_h2[4] ^ 0xaaaaaaaaaaaaaaa4ULL);
UINT64 hl_00 = (hre_00 - hre_02 + hre_03 + hre_04 + hre_05);
UINT64 hl_01 = (hre_01 - hre_06 + hre_07 + hre_05 - hre_11);
UINT64 hl_02 = (hre_08 + hre_02 + hre_09 - hre_12 + hre_11);
UINT64 hl_03 = (hre_08 - hre_10 + hre_06 - hre_03 + hre_04);
UINT64 hl_04 = (hre_10 + hre_13 + hre_09 - hre_07 - hre_05);
UINT64 hl_05 = (hre_14 - hre_13 + hre_03 - hre_12 + hre_11);
UINT64 hl_06 = (hre_15 - hre_08 - hre_14 - hre_07 + hre_04);
UINT64 hl_07 = (hre_10 - hre_15 - hre_00 - hre_12 - hre_05);
UINT64 hl_08 = (hre_13 - hre_00 - hre_01 + hre_04 - hre_11);
UINT64 hl_09 = (hre_08 - hre_14 + hre_01 - hre_02 + hre_05);
UINT64 hl_10 = (hre_06 - hre_10 - hre_15 - hre_02 + hre_11);
UINT64 hl_11 = (hre_06 - hre_08 - hre_13 - hre_00 + hre_09);
UINT64 hl_12 = (hre_10 + hre_14 - hre_01 - hre_09 + hre_03);
UINT64 hl_13 = (hre_13 + hre_15 + hre_02 + hre_03 + hre_07);
UINT64 hl_14 = (hre_14 - hre_00 + hre_06 - hre_07 - hre_12);
UINT64 hl_15 = (hre_12 - hre_15 - hre_01 - hre_09 + hre_04);

bmw_qt[0] = ((hl_00 >> 1) ^ SHIFTL64(hl_00, 3) ^ ROTL64(hl_00, 4) ^ ROTL64(hl_00, 37)) + 0xaaaaaaaaaaaaaaa1ULL;
bmw_qt[1] = ((hl_01 >> 1) ^ SHIFTL64(hl_01, 2) ^ ROTL64(hl_01, 13) ^ ROTL64(hl_01, 43)) + 0xaaaaaaaaaaaaaaa2ULL;
bmw_qt[2] = ((hl_02 >> 2) ^ SHIFTL64(hl_02, 1) ^ ROTL64(hl_02, 19) ^ ROTL64(hl_02, 53)) + 0xaaaaaaaaaaaaaaa3ULL;
bmw_qt[3] = ((hl_03 >> 2) ^ SHIFTL64(hl_03, 2) ^ ROTL64(hl_03, 28) ^ ROTL64(hl_03, 59)) + 0xaaaaaaaaaaaaaaa4ULL;
bmw_qt[4] = ((hl_04 >> 1) ^ hl_04) + 0xaaaaaaaaaaaaaaa5ULL;
bmw_qt[5] = ((hl_05 >> 1) ^ SHIFTL64(hl_05, 3) ^ ROTL64(hl_05, 4) ^ ROTL64(hl_05, 37)) + 0xaaaaaaaaaaaaaaa6ULL;
bmw_qt[6] = ((hl_06 >> 1) ^ SHIFTL64(hl_06, 2) ^ ROTL64(hl_06, 13) ^ ROTL64(hl_06, 43)) + 0xaaaaaaaaaaaaaaa7ULL;
bmw_qt[7] = ((hl_07 >> 2) ^ SHIFTL64(hl_07, 1) ^ ROTL64(hl_07, 19) ^ ROTL64(hl_07, 53)) + 0xaaaaaaaaaaaaaaa8ULL;
bmw_qt[8] = ((hl_08 >> 2) ^ SHIFTL64(hl_08, 2) ^ ROTL64(hl_08, 28) ^ ROTL64(hl_08, 59)) + 0xaaaaaaaaaaaaaaa9ULL;
bmw_qt[9] = ((hl_09 >> 1) ^ hl_09) + 0xaaaaaaaaaaaaaaaaULL;
bmw_qt[10] = ((hl_10 >> 1) ^ SHIFTL64(hl_10, 3) ^ ROTL64(hl_10, 4) ^ ROTL64(hl_10, 37)) + 0xaaaaaaaaaaaaaaabULL;
bmw_qt[11] = ((hl_11 >> 1) ^ SHIFTL64(hl_11, 2) ^ ROTL64(hl_11, 13) ^ ROTL64(hl_11, 43)) + 0xaaaaaaaaaaaaaaacULL;
bmw_qt[12] = ((hl_12 >> 2) ^ SHIFTL64(hl_12, 1) ^ ROTL64(hl_12, 19) ^ ROTL64(hl_12, 53)) + 0xaaaaaaaaaaaaaaadULL;
bmw_qt[13] = ((hl_13 >> 2) ^ SHIFTL64(hl_13, 2) ^ ROTL64(hl_13, 28) ^ ROTL64(hl_13, 59)) + 0xaaaaaaaaaaaaaaaeULL;
bmw_qt[14] = ((hl_14 >> 1) ^ hl_14) + 0xaaaaaaaaaaaaaaafULL;
bmw_qt[15] = ((hl_15 >> 1) ^ SHIFTL64(hl_15, 3) ^ ROTL64(hl_15, 4) ^ ROTL64(hl_15, 37)) + 0xaaaaaaaaaaaaaaa0ULL;

bmw_qt[16] = (((bmw_qt[0] >> 1) ^ SHIFTL64(bmw_qt[0], 2) ^ ROTL64(bmw_qt[0], 13) ^ ROTL64(bmw_qt[0], 43)) + ((bmw_qt[1] >> 2) ^ SHIFTL64(bmw_qt[1], 1) ^ ROTL64(bmw_qt[1], 19) ^ ROTL64(bmw_qt[1], 53)) + ((bmw_qt[2] >> 2) ^ SHIFTL64(bmw_qt[2], 2) ^ ROTL64(bmw_qt[2], 28) ^ ROTL64(bmw_qt[2], 59)) + ((bmw_qt[3] >> 1) ^ SHIFTL64(bmw_qt[3], 3) ^ ROTL64(bmw_qt[3], 4) ^ ROTL64(bmw_qt[3], 37)) + ((bmw_qt[4] >> 1) ^ SHIFTL64(bmw_qt[4], 2) ^ ROTL64(bmw_qt[4], 13) ^ ROTL64(bmw_qt[4], 43)) + ((bmw_qt[5] >> 2) ^ SHIFTL64(bmw_qt[5], 1) ^ ROTL64(bmw_qt[5], 19) ^ ROTL64(bmw_qt[5], 53)) + ((bmw_qt[6] >> 2) ^ SHIFTL64(bmw_qt[6], 2) ^ ROTL64(bmw_qt[6], 28) ^ ROTL64(bmw_qt[6], 59)) + ((bmw_qt[7] >> 1) ^ SHIFTL64(bmw_qt[7], 3) ^ ROTL64(bmw_qt[7], 4) ^ ROTL64(bmw_qt[7], 37)) + ((bmw_qt[8] >> 1) ^ SHIFTL64(bmw_qt[8], 2) ^ ROTL64(bmw_qt[8], 13) ^ ROTL64(bmw_qt[8], 43)) + ((bmw_qt[9] >> 2) ^ SHIFTL64(bmw_qt[9], 1) ^ ROTL64(bmw_qt[9], 19) ^ ROTL64(bmw_qt[9], 53)) + ((bmw_qt[10] >> 2) ^ SHIFTL64(bmw_qt[10], 2) ^ ROTL64(bmw_qt[10], 28) ^ ROTL64(bmw_qt[10], 59)) + ((bmw_qt[11] >> 1) ^ SHIFTL64(bmw_qt[11], 3) ^ ROTL64(bmw_qt[11], 4) ^ ROTL64(bmw_qt[11], 37)) + ((bmw_qt[12] >> 1) ^ SHIFTL64(bmw_qt[12], 2) ^ ROTL64(bmw_qt[12], 13) ^ ROTL64(bmw_qt[12], 43)) + ((bmw_qt[13] >> 2) ^ SHIFTL64(bmw_qt[13], 1) ^ ROTL64(bmw_qt[13], 19) ^ ROTL64(bmw_qt[13], 53)) + ((bmw_qt[14] >> 2) ^ SHIFTL64(bmw_qt[14], 2) ^ ROTL64(bmw_qt[14], 28) ^ ROTL64(bmw_qt[14], 59)) + ((bmw_qt[15] >> 1) ^ SHIFTL64(bmw_qt[15], 3) ^ ROTL64(bmw_qt[15], 4) ^ ROTL64(bmw_qt[15], 37)) + ((ROTL64(bmw_h2[0], 1) + ROTL64(bmw_h2[3], 4) - ROTL64(bmw_h2[10], 11) + 0x5555555555555550ULL) ^ 0xaaaaaaaaaaaaaaa7ULL));
bmw_qt[17] = (((bmw_qt[1] >> 1) ^ SHIFTL64(bmw_qt[1], 2) ^ ROTL64(bmw_qt[1], 13) ^ ROTL64(bmw_qt[1], 43)) + ((bmw_qt[2] >> 2) ^ SHIFTL64(bmw_qt[2], 1) ^ ROTL64(bmw_qt[2], 19) ^ ROTL64(bmw_qt[2], 53)) + ((bmw_qt[3] >> 2) ^ SHIFTL64(bmw_qt[3], 2) ^ ROTL64(bmw_qt[3], 28) ^ ROTL64(bmw_qt[3], 59)) + ((bmw_qt[4] >> 1) ^ SHIFTL64(bmw_qt[4], 3) ^ ROTL64(bmw_qt[4], 4) ^ ROTL64(bmw_qt[4], 37)) + ((bmw_qt[5] >> 1) ^ SHIFTL64(bmw_qt[5], 2) ^ ROTL64(bmw_qt[5], 13) ^ ROTL64(bmw_qt[5], 43)) + ((bmw_qt[6] >> 2) ^ SHIFTL64(bmw_qt[6], 1) ^ ROTL64(bmw_qt[6], 19) ^ ROTL64(bmw_qt[6], 53)) + ((bmw_qt[7] >> 2) ^ SHIFTL64(bmw_qt[7], 2) ^ ROTL64(bmw_qt[7], 28) ^ ROTL64(bmw_qt[7], 59)) + ((bmw_qt[8] >> 1) ^ SHIFTL64(bmw_qt[8], 3) ^ ROTL64(bmw_qt[8], 4) ^ ROTL64(bmw_qt[8], 37)) + ((bmw_qt[9] >> 1) ^ SHIFTL64(bmw_qt[9], 2) ^ ROTL64(bmw_qt[9], 13) ^ ROTL64(bmw_qt[9], 43)) + ((bmw_qt[10] >> 2) ^ SHIFTL64(bmw_qt[10], 1) ^ ROTL64(bmw_qt[10], 19) ^ ROTL64(bmw_qt[10], 53)) + ((bmw_qt[11] >> 2) ^ SHIFTL64(bmw_qt[11], 2) ^ ROTL64(bmw_qt[11], 28) ^ ROTL64(bmw_qt[11], 59)) + ((bmw_qt[12] >> 1) ^ SHIFTL64(bmw_qt[12], 3) ^ ROTL64(bmw_qt[12], 4) ^ ROTL64(bmw_qt[12], 37)) + ((bmw_qt[13] >> 1) ^ SHIFTL64(bmw_qt[13], 2) ^ ROTL64(bmw_qt[13], 13) ^ ROTL64(bmw_qt[13], 43)) + ((bmw_qt[14] >> 2) ^ SHIFTL64(bmw_qt[14], 1) ^ ROTL64(bmw_qt[14], 19) ^ ROTL64(bmw_qt[14], 53)) + ((bmw_qt[15] >> 2) ^ SHIFTL64(bmw_qt[15], 2) ^ ROTL64(bmw_qt[15], 28) ^ ROTL64(bmw_qt[15], 59)) + ((bmw_qt[16] >> 1) ^ SHIFTL64(bmw_qt[16], 3) ^ ROTL64(bmw_qt[16], 4) ^ ROTL64(bmw_qt[16], 37)) + ((ROTL64(bmw_h2[1], 2) + ROTL64(bmw_h2[4], 5) - ROTL64(bmw_h2[11], 12) + 0x5aaaaaaaaaaaaaa5ULL) ^ 0xaaaaaaaaaaaaaaa8ULL));

bmw_qt[18] = (bmw_qt[2]  + ROTL64(bmw_qt[3], 5)  + bmw_qt[4]  + ROTL64(bmw_qt[5] , 11) + bmw_qt[6]  + ROTL64(bmw_qt[7] , 27) + bmw_qt[8]  + ROTL64(bmw_qt[9], 32) + bmw_qt[10] + ROTL64(bmw_qt[11], 37) + bmw_qt[12] + ROTL64(bmw_qt[13], 43) + bmw_qt[14] + ROTL64(bmw_qt[15], 53) + ((bmw_qt[16] >> 1) ^ bmw_qt[16]) + ((bmw_qt[17] >> 2) ^ bmw_qt[17]) + ((ROTL64(bmw_h2[2], 3) + ROTL64(bmw_h2[5], 6) - ROTL64(bmw_h2[12], 13) + 0x5ffffffffffffffaULL) ^ 0xaaaaaaaaaaaaaaa9ULL));
bmw_qt[19] = (bmw_qt[3]  + ROTL64(bmw_qt[4], 5)  + bmw_qt[5]  + ROTL64(bmw_qt[6] , 11) + bmw_qt[7]  + ROTL64(bmw_qt[8] , 27) + bmw_qt[9]  + ROTL64(bmw_qt[10], 32) + bmw_qt[11] + ROTL64(bmw_qt[12], 37) + bmw_qt[13] + ROTL64(bmw_qt[14], 43) + bmw_qt[15] + ROTL64(bmw_qt[16], 53) + ((bmw_qt[17] >> 1) ^ bmw_qt[17]) + ((bmw_qt[18] >> 2) ^ bmw_qt[18]) + ((ROTL64(bmw_h2[3], 4) + ROTL64(bmw_h2[6], 7) - ROTL64(bmw_h2[13], 14) + 0x655555555555554fULL) ^ 0xaaaaaaaaaaaaaaaaULL));
bmw_qt[20] = (bmw_qt[4]  + ROTL64(bmw_qt[5], 5)  + bmw_qt[6]  + ROTL64(bmw_qt[7] , 11) + bmw_qt[8]  + ROTL64(bmw_qt[9] , 27) + bmw_qt[10] + ROTL64(bmw_qt[11], 32) + bmw_qt[12] + ROTL64(bmw_qt[13], 37) + bmw_qt[14] + ROTL64(bmw_qt[15], 43) + bmw_qt[16] + ROTL64(bmw_qt[17], 53) + ((bmw_qt[18] >> 1) ^ bmw_qt[18]) + ((bmw_qt[19] >> 2) ^ bmw_qt[19]) + ((ROTL64(bmw_h2[4], 5) + ROTL64(bmw_h2[7], 8) - ROTL64(bmw_h2[14], 15) + 0x6aaaaaaaaaaaaaa4ULL) ^ 0xaaaaaaaaaaaaaaabULL));
bmw_qt[21] = (bmw_qt[5]  + ROTL64(bmw_qt[6], 5)  + bmw_qt[7]  + ROTL64(bmw_qt[8] , 11) + bmw_qt[9]  + ROTL64(bmw_qt[10], 27) + bmw_qt[11] + ROTL64(bmw_qt[12], 32) + bmw_qt[13] + ROTL64(bmw_qt[14], 37) + bmw_qt[15] + ROTL64(bmw_qt[16], 43) + bmw_qt[17] + ROTL64(bmw_qt[18], 53) + ((bmw_qt[19] >> 1) ^ bmw_qt[19]) + ((bmw_qt[20] >> 2) ^ bmw_qt[20]) + ((ROTL64(bmw_h2[5], 6) + ROTL64(bmw_h2[8], 9) - ROTL64(bmw_h2[15], 16) + 0x6ffffffffffffff9ULL) ^ 0xaaaaaaaaaaaaaaacULL));
bmw_qt[22] = (bmw_qt[6]  + ROTL64(bmw_qt[7], 5)  + bmw_qt[8]  + ROTL64(bmw_qt[9] , 11) + bmw_qt[10] + ROTL64(bmw_qt[11], 27) + bmw_qt[12] + ROTL64(bmw_qt[13], 32) + bmw_qt[14] + ROTL64(bmw_qt[15], 37) + bmw_qt[16] + ROTL64(bmw_qt[17], 43) + bmw_qt[18] + ROTL64(bmw_qt[19], 53) + ((bmw_qt[20] >> 1) ^ bmw_qt[20]) + ((bmw_qt[21] >> 2) ^ bmw_qt[21]) + ((ROTL64(bmw_h2[6], 7) + ROTL64(bmw_h2[9], 10) - ROTL64(bmw_h2[0], 1) + 0x755555555555554eULL) ^ 0xaaaaaaaaaaaaaaadULL));
bmw_qt[23] = (bmw_qt[7]  + ROTL64(bmw_qt[8], 5)  + bmw_qt[9]  + ROTL64(bmw_qt[10], 11) + bmw_qt[11] + ROTL64(bmw_qt[12], 27) + bmw_qt[13] + ROTL64(bmw_qt[14], 32) + bmw_qt[15] + ROTL64(bmw_qt[16], 37) + bmw_qt[17] + ROTL64(bmw_qt[18], 43) + bmw_qt[19] + ROTL64(bmw_qt[20], 53) + ((bmw_qt[21] >> 1) ^ bmw_qt[21]) + ((bmw_qt[22] >> 2) ^ bmw_qt[22]) + ((ROTL64(bmw_h2[7], 8) + ROTL64(bmw_h2[10], 11) - ROTL64(bmw_h2[1], 2) + 0x7aaaaaaaaaaaaaa3ULL) ^ 0xaaaaaaaaaaaaaaaeULL));
bmw_qt[24] = (bmw_qt[8]  + ROTL64(bmw_qt[9], 5)  + bmw_qt[10] + ROTL64(bmw_qt[11], 11) + bmw_qt[12] + ROTL64(bmw_qt[13], 27) + bmw_qt[14] + ROTL64(bmw_qt[15], 32) + bmw_qt[16] + ROTL64(bmw_qt[17], 37) + bmw_qt[18] + ROTL64(bmw_qt[19], 43) + bmw_qt[20] + ROTL64(bmw_qt[21], 53) + ((bmw_qt[22] >> 1) ^ bmw_qt[22]) + ((bmw_qt[23] >> 2) ^ bmw_qt[23]) + ((ROTL64(bmw_h2[8], 9) + ROTL64(bmw_h2[11], 12) - ROTL64(bmw_h2[2], 3) + 0x7ffffffffffffff8ULL) ^ 0xaaaaaaaaaaaaaaafULL));
bmw_qt[25] = (bmw_qt[9]  + ROTL64(bmw_qt[10], 5) + bmw_qt[11] + ROTL64(bmw_qt[12], 11) + bmw_qt[13] + ROTL64(bmw_qt[14], 27) + bmw_qt[15] + ROTL64(bmw_qt[16], 32) + bmw_qt[17] + ROTL64(bmw_qt[18], 37) + bmw_qt[19] + ROTL64(bmw_qt[20], 43) + bmw_qt[21] + ROTL64(bmw_qt[22], 53) + ((bmw_qt[23] >> 1) ^ bmw_qt[23]) + ((bmw_qt[24] >> 2) ^ bmw_qt[24]) + ((ROTL64(bmw_h2[9], 10) + ROTL64(bmw_h2[12], 13) - ROTL64(bmw_h2[3], 4) + 0x855555555555554dULL) ^ 0xaaaaaaaaaaaaaaa0ULL));
bmw_qt[26] = (bmw_qt[10] + ROTL64(bmw_qt[11], 5) + bmw_qt[12] + ROTL64(bmw_qt[13], 11) + bmw_qt[14] + ROTL64(bmw_qt[15], 27) + bmw_qt[16] + ROTL64(bmw_qt[17], 32) + bmw_qt[18] + ROTL64(bmw_qt[19], 37) + bmw_qt[20] + ROTL64(bmw_qt[21], 43) + bmw_qt[22] + ROTL64(bmw_qt[23], 53) + ((bmw_qt[24] >> 1) ^ bmw_qt[24]) + ((bmw_qt[25] >> 2) ^ bmw_qt[25]) + ((ROTL64(bmw_h2[10], 11) + ROTL64(bmw_h2[13], 14) - ROTL64(bmw_h2[4], 5) + 0x8aaaaaaaaaaaaaa2ULL) ^ 0xaaaaaaaaaaaaaaa1ULL));
bmw_qt[27] = (bmw_qt[11] + ROTL64(bmw_qt[12], 5) + bmw_qt[13] + ROTL64(bmw_qt[14], 11) + bmw_qt[15] + ROTL64(bmw_qt[16], 27) + bmw_qt[17] + ROTL64(bmw_qt[18], 32) + bmw_qt[19] + ROTL64(bmw_qt[20], 37) + bmw_qt[21] + ROTL64(bmw_qt[22], 43) + bmw_qt[23] + ROTL64(bmw_qt[24], 53) + ((bmw_qt[25] >> 1) ^ bmw_qt[25]) + ((bmw_qt[26] >> 2) ^ bmw_qt[26]) + ((ROTL64(bmw_h2[11], 12) + ROTL64(bmw_h2[14], 15) - ROTL64(bmw_h2[5], 6) + 0x8ffffffffffffff7ULL) ^ 0xaaaaaaaaaaaaaaa2ULL));
bmw_qt[28] = (bmw_qt[12] + ROTL64(bmw_qt[13], 5) + bmw_qt[14] + ROTL64(bmw_qt[15], 11) + bmw_qt[16] + ROTL64(bmw_qt[17], 27) + bmw_qt[18] + ROTL64(bmw_qt[19], 32) + bmw_qt[20] + ROTL64(bmw_qt[21], 37) + bmw_qt[22] + ROTL64(bmw_qt[23], 43) + bmw_qt[24] + ROTL64(bmw_qt[25], 53) + ((bmw_qt[26] >> 1) ^ bmw_qt[26]) + ((bmw_qt[27] >> 2) ^ bmw_qt[27]) + ((ROTL64(bmw_h2[12], 13) + ROTL64(bmw_h2[15], 16) - ROTL64(bmw_h2[6], 7) + 0x955555555555554cULL) ^ 0xaaaaaaaaaaaaaaa3ULL));
bmw_qt[29] = (bmw_qt[13] + ROTL64(bmw_qt[14], 5) + bmw_qt[15] + ROTL64(bmw_qt[16], 11) + bmw_qt[17] + ROTL64(bmw_qt[18], 27) + bmw_qt[19] + ROTL64(bmw_qt[20], 32) + bmw_qt[21] + ROTL64(bmw_qt[22], 37) + bmw_qt[23] + ROTL64(bmw_qt[24], 43) + bmw_qt[25] + ROTL64(bmw_qt[26], 53) + ((bmw_qt[27] >> 1) ^ bmw_qt[27]) + ((bmw_qt[28] >> 2) ^ bmw_qt[28]) + ((ROTL64(bmw_h2[13], 14) + ROTL64(bmw_h2[0], 1) - ROTL64(bmw_h2[7], 8) + 0x9aaaaaaaaaaaaaa1ULL) ^ 0xaaaaaaaaaaaaaaa4ULL));
bmw_qt[30] = (bmw_qt[14] + ROTL64(bmw_qt[15], 5) + bmw_qt[16] + ROTL64(bmw_qt[17], 11) + bmw_qt[18] + ROTL64(bmw_qt[19], 27) + bmw_qt[20] + ROTL64(bmw_qt[21], 32) + bmw_qt[22] + ROTL64(bmw_qt[23], 37) + bmw_qt[24] + ROTL64(bmw_qt[25], 43) + bmw_qt[26] + ROTL64(bmw_qt[27], 53) + ((bmw_qt[28] >> 1) ^ bmw_qt[28]) + ((bmw_qt[29] >> 2) ^ bmw_qt[29]) + ((ROTL64(bmw_h2[14], 15) + ROTL64(bmw_h2[1], 2) - ROTL64(bmw_h2[8], 9) + 0x9ffffffffffffff6ULL) ^ 0xaaaaaaaaaaaaaaa5ULL));
bmw_qt[31] = (bmw_qt[15] + ROTL64(bmw_qt[16], 5) + bmw_qt[17] + ROTL64(bmw_qt[18], 11) + bmw_qt[19] + ROTL64(bmw_qt[20], 27) + bmw_qt[21] + ROTL64(bmw_qt[22], 32) + bmw_qt[23] + ROTL64(bmw_qt[24], 37) + bmw_qt[25] + ROTL64(bmw_qt[26], 43) + bmw_qt[27] + ROTL64(bmw_qt[28], 53) + ((bmw_qt[29] >> 1) ^ bmw_qt[29]) + ((bmw_qt[30] >> 2) ^ bmw_qt[30]) + ((ROTL64(bmw_h2[15], 16) + ROTL64(bmw_h2[2], 3) - ROTL64(bmw_h2[9], 10) + 0xa55555555555554bULL) ^ 0xaaaaaaaaaaaaaaa6ULL));

bmw_xl = bmw_qt[16] ^ bmw_qt[17] ^ bmw_qt[18] ^ bmw_qt[19] ^ bmw_qt[20] ^ bmw_qt[21] ^ bmw_qt[22] ^ bmw_qt[23];
bmw_xh = bmw_xl ^ bmw_qt[24] ^ bmw_qt[25] ^ bmw_qt[26] ^ bmw_qt[27] ^ bmw_qt[28] ^ bmw_qt[29] ^ bmw_qt[30] ^ bmw_qt[31];
bmw_h2[0]  = ((bmw_xh <<  5) ^ (bmw_qt[16] >>  5) ^ bmw_h2[0]) + (bmw_xl ^ bmw_qt[24] ^ bmw_qt[0]);
bmw_h2[1]  = ((bmw_xh >>  7) ^ (bmw_qt[17] <<  8) ^ bmw_h2[1]) + (bmw_xl ^ bmw_qt[25] ^ bmw_qt[1]);
bmw_h2[2]  = ((bmw_xh >>  5) ^ (bmw_qt[18] <<  5) ^ bmw_h2[2]) + (bmw_xl ^ bmw_qt[26] ^ bmw_qt[2]);
bmw_h2[3]  = ((bmw_xh >>  1) ^ (bmw_qt[19] <<  5) ^ bmw_h2[3]) + (bmw_xl ^ bmw_qt[27] ^ bmw_qt[3]);
bmw_h2[4]  = ((bmw_xh >>  3) ^ (bmw_qt[20] <<  0) ^ bmw_h2[4]) + (bmw_xl ^ bmw_qt[28] ^ bmw_qt[4]);
bmw_h2[5]  = ((bmw_xh <<  6) ^ (bmw_qt[21] >>  6) ^ bmw_h2[5]) + (bmw_xl ^ bmw_qt[29] ^ bmw_qt[5]);
bmw_h2[6]  = ((bmw_xh >>  4) ^ (bmw_qt[22] <<  6) ^ bmw_h2[6]) + (bmw_xl ^ bmw_qt[30] ^ bmw_qt[6]);
bmw_h2[7]  = ((bmw_xh >> 11) ^ (bmw_qt[23] <<  2) ^ bmw_h2[7]) + (bmw_xl ^ (bmw_qt[31]) ^ bmw_qt[7]);
hash64[0] = ROTL64(bmw_h2[4],  9) + (bmw_xh ^ bmw_qt[24] ^ bmw_h2[8])  + ((bmw_xl << 8) ^ bmw_qt[23] ^ bmw_qt[8]);
hash64[1] = ROTL64(bmw_h2[5], 10) + (bmw_xh ^ bmw_qt[25] ^ bmw_h2[9])  + ((bmw_xl >> 6) ^ bmw_qt[16] ^ bmw_qt[9]);
hash64[2] = ROTL64(bmw_h2[6], 11) + (bmw_xh ^ bmw_qt[26] ^ bmw_h2[10]) + ((bmw_xl << 6) ^ bmw_qt[17] ^ bmw_qt[10]);
hash64[3] = ROTL64(bmw_h2[7], 12) + (bmw_xh ^ bmw_qt[27] ^ bmw_h2[11]) + ((bmw_xl << 4) ^ bmw_qt[18] ^ bmw_qt[11]);
hash64[4] = ROTL64(bmw_h2[0], 13) + (bmw_xh ^ bmw_qt[28] ^ bmw_h2[12]) + ((bmw_xl >> 3) ^ bmw_qt[19] ^ bmw_qt[12]);
hash64[5] = ROTL64(bmw_h2[1], 14) + (bmw_xh ^ bmw_qt[29] ^ bmw_h2[13]) + ((bmw_xl >> 4) ^ bmw_qt[20] ^ bmw_qt[13]);
hash64[6] = ROTL64(bmw_h2[2], 15) + (bmw_xh ^ bmw_qt[30] ^ bmw_h2[14]) + ((bmw_xl >> 7) ^ bmw_qt[21] ^ bmw_qt[14]);
hash64[7] = ROTL64(bmw_h2[3], 16) + (bmw_xh ^ (bmw_qt[31]) ^ bmw_h2[15]) + ((bmw_xl >> 2) ^ bmw_qt[22] ^ bmw_qt[15]);
}
}

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:38:00 AM
 #303

Groestl:
Code:
#define groestl_EXT_BYTE_0(n) EXT_BYTE32_0(n)
#define groestl_EXT_BYTE_1(n) EXT_BYTE32_1(n)
#define groestl_EXT_BYTE_2(n) EXT_BYTE32_2(n)
#define groestl_EXT_BYTE_3(n) EXT_BYTE32_3(n)

#define groestl_PMIX(src, dst, r)\
src[ 0] ^= (r);\
src[ 2] ^= 0x00000010u^(r);\
src[ 4] ^= 0x00000020u^(r);\
src[ 6] ^= 0x00000030u^(r);\
src[ 8] ^= 0x00000040u^(r);\
src[10] ^= 0x00000050u^(r);\
src[12] ^= 0x00000060u^(r);\
src[14] ^= 0x00000070u^(r);\
src[16] ^= 0x00000080u^(r);\
src[18] ^= 0x00000090u^(r);\
src[20] ^= 0x000000a0u^(r);\
src[22] ^= 0x000000b0u^(r);\
src[24] ^= 0x000000c0u^(r);\
src[26] ^= 0x000000d0u^(r);\
src[28] ^= 0x000000e0u^(r);\
src[30] ^= 0x000000f0u^(r);\
dst[ 0]  = groestl_T0[groestl_EXT_BYTE_0(src[ 0])];\
dst[ 1]  = groestl_T0[groestl_EXT_BYTE_0(src[ 9])];\
dst[ 2]  = groestl_T0[groestl_EXT_BYTE_0(src[ 2])];\
dst[ 3]  = groestl_T0[groestl_EXT_BYTE_0(src[11])];\
dst[ 4]  = groestl_T0[groestl_EXT_BYTE_0(src[ 4])];\
dst[ 5]  = groestl_T0[groestl_EXT_BYTE_0(src[13])];\
dst[ 6]  = groestl_T0[groestl_EXT_BYTE_0(src[ 6])];\
dst[ 7]  = groestl_T0[groestl_EXT_BYTE_0(src[15])];\
dst[ 8]  = groestl_T0[groestl_EXT_BYTE_0(src[ 8])];\
dst[ 9]  = groestl_T0[groestl_EXT_BYTE_0(src[17])];\
dst[10]  = groestl_T0[groestl_EXT_BYTE_0(src[10])];\
dst[11]  = groestl_T0[groestl_EXT_BYTE_0(src[19])];\
dst[12]  = groestl_T0[groestl_EXT_BYTE_0(src[12])];\
dst[13]  = groestl_T0[groestl_EXT_BYTE_0(src[21])];\
dst[14]  = groestl_T0[groestl_EXT_BYTE_0(src[14])];\
dst[15]  = groestl_T0[groestl_EXT_BYTE_0(src[23])];\
dst[16]  = groestl_T0[groestl_EXT_BYTE_0(src[16])];\
dst[17]  = groestl_T0[groestl_EXT_BYTE_0(src[25])];\
dst[18]  = groestl_T0[groestl_EXT_BYTE_0(src[18])];\
dst[19]  = groestl_T0[groestl_EXT_BYTE_0(src[27])];\
dst[20]  = groestl_T0[groestl_EXT_BYTE_0(src[20])];\
dst[21]  = groestl_T0[groestl_EXT_BYTE_0(src[29])];\
dst[22]  = groestl_T0[groestl_EXT_BYTE_0(src[22])];\
dst[23]  = groestl_T0[groestl_EXT_BYTE_0(src[31])];\
dst[24]  = groestl_T0[groestl_EXT_BYTE_0(src[24])];\
dst[25]  = groestl_T0[groestl_EXT_BYTE_0(src[ 1])];\
dst[26]  = groestl_T0[groestl_EXT_BYTE_0(src[26])];\
dst[27]  = groestl_T0[groestl_EXT_BYTE_0(src[ 3])];\
dst[28]  = groestl_T0[groestl_EXT_BYTE_0(src[28])];\
dst[29]  = groestl_T0[groestl_EXT_BYTE_0(src[ 5])];\
dst[30]  = groestl_T0[groestl_EXT_BYTE_0(src[30])];\
dst[31]  = groestl_T0[groestl_EXT_BYTE_0(src[ 7])];\
dst[ 0] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 2])];\
dst[ 1] ^= groestl_T1[groestl_EXT_BYTE_1(src[11])];\
dst[ 2] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 4])];\
dst[ 3] ^= groestl_T1[groestl_EXT_BYTE_1(src[13])];\
dst[ 4] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 6])];\
dst[ 5] ^= groestl_T1[groestl_EXT_BYTE_1(src[15])];\
dst[ 6] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 8])];\
dst[ 7] ^= groestl_T1[groestl_EXT_BYTE_1(src[17])];\
dst[ 8] ^= groestl_T1[groestl_EXT_BYTE_1(src[10])];\
dst[ 9] ^= groestl_T1[groestl_EXT_BYTE_1(src[19])];\
dst[10] ^= groestl_T1[groestl_EXT_BYTE_1(src[12])];\
dst[11] ^= groestl_T1[groestl_EXT_BYTE_1(src[21])];\
dst[12] ^= groestl_T1[groestl_EXT_BYTE_1(src[14])];\
dst[13] ^= groestl_T1[groestl_EXT_BYTE_1(src[23])];\
dst[14] ^= groestl_T1[groestl_EXT_BYTE_1(src[16])];\
dst[15] ^= groestl_T1[groestl_EXT_BYTE_1(src[25])];\
dst[16] ^= groestl_T1[groestl_EXT_BYTE_1(src[18])];\
dst[17] ^= groestl_T1[groestl_EXT_BYTE_1(src[27])];\
dst[18] ^= groestl_T1[groestl_EXT_BYTE_1(src[20])];\
dst[19] ^= groestl_T1[groestl_EXT_BYTE_1(src[29])];\
dst[20] ^= groestl_T1[groestl_EXT_BYTE_1(src[22])];\
dst[21] ^= groestl_T1[groestl_EXT_BYTE_1(src[31])];\
dst[22] ^= groestl_T1[groestl_EXT_BYTE_1(src[24])];\
dst[23] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 1])];\
dst[24] ^= groestl_T1[groestl_EXT_BYTE_1(src[26])];\
dst[25] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 3])];\
dst[26] ^= groestl_T1[groestl_EXT_BYTE_1(src[28])];\
dst[27] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 5])];\
dst[28] ^= groestl_T1[groestl_EXT_BYTE_1(src[30])];\
dst[29] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 7])];\
dst[30] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 0])];\
dst[31] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 9])];\
dst[ 0] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 4])];\
dst[ 1] ^= groestl_T2[groestl_EXT_BYTE_2(src[13])];\
dst[ 2] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 6])];\
dst[ 3] ^= groestl_T2[groestl_EXT_BYTE_2(src[15])];\
dst[ 4] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 8])];\
dst[ 5] ^= groestl_T2[groestl_EXT_BYTE_2(src[17])];\
dst[ 6] ^= groestl_T2[groestl_EXT_BYTE_2(src[10])];\
dst[ 7] ^= groestl_T2[groestl_EXT_BYTE_2(src[19])];\
dst[ 8] ^= groestl_T2[groestl_EXT_BYTE_2(src[12])];\
dst[ 9] ^= groestl_T2[groestl_EXT_BYTE_2(src[21])];\
dst[10] ^= groestl_T2[groestl_EXT_BYTE_2(src[14])];\
dst[11] ^= groestl_T2[groestl_EXT_BYTE_2(src[23])];\
dst[12] ^= groestl_T2[groestl_EXT_BYTE_2(src[16])];\
dst[13] ^= groestl_T2[groestl_EXT_BYTE_2(src[25])];\
dst[14] ^= groestl_T2[groestl_EXT_BYTE_2(src[18])];\
dst[15] ^= groestl_T2[groestl_EXT_BYTE_2(src[27])];\
dst[16] ^= groestl_T2[groestl_EXT_BYTE_2(src[20])];\
dst[17] ^= groestl_T2[groestl_EXT_BYTE_2(src[29])];\
dst[18] ^= groestl_T2[groestl_EXT_BYTE_2(src[22])];\
dst[19] ^= groestl_T2[groestl_EXT_BYTE_2(src[31])];\
dst[20] ^= groestl_T2[groestl_EXT_BYTE_2(src[24])];\
dst[21] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 1])];\
dst[22] ^= groestl_T2[groestl_EXT_BYTE_2(src[26])];\
dst[23] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 3])];\
dst[24] ^= groestl_T2[groestl_EXT_BYTE_2(src[28])];\
dst[25] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 5])];\
dst[26] ^= groestl_T2[groestl_EXT_BYTE_2(src[30])];\
dst[27] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 7])];\
dst[28] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 0])];\
dst[29] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 9])];\
dst[30] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 2])];\
dst[31] ^= groestl_T2[groestl_EXT_BYTE_2(src[11])];\
dst[ 0] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 6])];\
dst[ 1] ^= groestl_T3[groestl_EXT_BYTE_3(src[23])];\
dst[ 2] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 8])];\
dst[ 3] ^= groestl_T3[groestl_EXT_BYTE_3(src[25])];\
dst[ 4] ^= groestl_T3[groestl_EXT_BYTE_3(src[10])];\
dst[ 5] ^= groestl_T3[groestl_EXT_BYTE_3(src[27])];\
dst[ 6] ^= groestl_T3[groestl_EXT_BYTE_3(src[12])];\
dst[ 7] ^= groestl_T3[groestl_EXT_BYTE_3(src[29])];\
dst[ 8] ^= groestl_T3[groestl_EXT_BYTE_3(src[14])];\
dst[ 9] ^= groestl_T3[groestl_EXT_BYTE_3(src[31])];\
dst[10] ^= groestl_T3[groestl_EXT_BYTE_3(src[16])];\
dst[11] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 1])];\
dst[12] ^= groestl_T3[groestl_EXT_BYTE_3(src[18])];\
dst[13] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 3])];\
dst[14] ^= groestl_T3[groestl_EXT_BYTE_3(src[20])];\
dst[15] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 5])];\
dst[16] ^= groestl_T3[groestl_EXT_BYTE_3(src[22])];\
dst[17] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 7])];\
dst[18] ^= groestl_T3[groestl_EXT_BYTE_3(src[24])];\
dst[19] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 9])];\
dst[20] ^= groestl_T3[groestl_EXT_BYTE_3(src[26])];\
dst[21] ^= groestl_T3[groestl_EXT_BYTE_3(src[11])];\
dst[22] ^= groestl_T3[groestl_EXT_BYTE_3(src[28])];\
dst[23] ^= groestl_T3[groestl_EXT_BYTE_3(src[13])];\
dst[24] ^= groestl_T3[groestl_EXT_BYTE_3(src[30])];\
dst[25] ^= groestl_T3[groestl_EXT_BYTE_3(src[15])];\
dst[26] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 0])];\
dst[27] ^= groestl_T3[groestl_EXT_BYTE_3(src[17])];\
dst[28] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 2])];\
dst[29] ^= groestl_T3[groestl_EXT_BYTE_3(src[19])];\
dst[30] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 4])];\
dst[31] ^= groestl_T3[groestl_EXT_BYTE_3(src[21])];\
dst[ 0] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 9])];\
dst[ 1] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 0])];\
dst[ 2] ^= groestl_T4[groestl_EXT_BYTE_0(src[11])];\
dst[ 3] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 2])];\
dst[ 4] ^= groestl_T4[groestl_EXT_BYTE_0(src[13])];\
dst[ 5] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 4])];\
dst[ 6] ^= groestl_T4[groestl_EXT_BYTE_0(src[15])];\
dst[ 7] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 6])];\
dst[ 8] ^= groestl_T4[groestl_EXT_BYTE_0(src[17])];\
dst[ 9] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 8])];\
dst[10] ^= groestl_T4[groestl_EXT_BYTE_0(src[19])];\
dst[11] ^= groestl_T4[groestl_EXT_BYTE_0(src[10])];\
dst[12] ^= groestl_T4[groestl_EXT_BYTE_0(src[21])];\
dst[13] ^= groestl_T4[groestl_EXT_BYTE_0(src[12])];\
dst[14] ^= groestl_T4[groestl_EXT_BYTE_0(src[23])];\
dst[15] ^= groestl_T4[groestl_EXT_BYTE_0(src[14])];\
dst[16] ^= groestl_T4[groestl_EXT_BYTE_0(src[25])];\
dst[17] ^= groestl_T4[groestl_EXT_BYTE_0(src[16])];\
dst[18] ^= groestl_T4[groestl_EXT_BYTE_0(src[27])];\
dst[19] ^= groestl_T4[groestl_EXT_BYTE_0(src[18])];\
dst[20] ^= groestl_T4[groestl_EXT_BYTE_0(src[29])];\
dst[21] ^= groestl_T4[groestl_EXT_BYTE_0(src[20])];\
dst[22] ^= groestl_T4[groestl_EXT_BYTE_0(src[31])];\
dst[23] ^= groestl_T4[groestl_EXT_BYTE_0(src[22])];\
dst[24] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 1])];\
dst[25] ^= groestl_T4[groestl_EXT_BYTE_0(src[24])];\
dst[26] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 3])];\
dst[27] ^= groestl_T4[groestl_EXT_BYTE_0(src[26])];\
dst[28] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 5])];\
dst[29] ^= groestl_T4[groestl_EXT_BYTE_0(src[28])];\
dst[30] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 7])];\
dst[31] ^= groestl_T4[groestl_EXT_BYTE_0(src[30])];\
dst[ 0] ^= groestl_T5[groestl_EXT_BYTE_1(src[11])];\
dst[ 1] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 2])];\
dst[ 2] ^= groestl_T5[groestl_EXT_BYTE_1(src[13])];\
dst[ 3] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 4])];\
dst[ 4] ^= groestl_T5[groestl_EXT_BYTE_1(src[15])];\
dst[ 5] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 6])];\
dst[ 6] ^= groestl_T5[groestl_EXT_BYTE_1(src[17])];\
dst[ 7] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 8])];\
dst[ 8] ^= groestl_T5[groestl_EXT_BYTE_1(src[19])];\
dst[ 9] ^= groestl_T5[groestl_EXT_BYTE_1(src[10])];\
dst[10] ^= groestl_T5[groestl_EXT_BYTE_1(src[21])];\
dst[11] ^= groestl_T5[groestl_EXT_BYTE_1(src[12])];\
dst[12] ^= groestl_T5[groestl_EXT_BYTE_1(src[23])];\
dst[13] ^= groestl_T5[groestl_EXT_BYTE_1(src[14])];\
dst[14] ^= groestl_T5[groestl_EXT_BYTE_1(src[25])];\
dst[15] ^= groestl_T5[groestl_EXT_BYTE_1(src[16])];\
dst[16] ^= groestl_T5[groestl_EXT_BYTE_1(src[27])];\
dst[17] ^= groestl_T5[groestl_EXT_BYTE_1(src[18])];\
dst[18] ^= groestl_T5[groestl_EXT_BYTE_1(src[29])];\
dst[19] ^= groestl_T5[groestl_EXT_BYTE_1(src[20])];\
dst[20] ^= groestl_T5[groestl_EXT_BYTE_1(src[31])];\
dst[21] ^= groestl_T5[groestl_EXT_BYTE_1(src[22])];\
dst[22] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 1])];\
dst[23] ^= groestl_T5[groestl_EXT_BYTE_1(src[24])];\
dst[24] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 3])];\
dst[25] ^= groestl_T5[groestl_EXT_BYTE_1(src[26])];\
dst[26] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 5])];\
dst[27] ^= groestl_T5[groestl_EXT_BYTE_1(src[28])];\
dst[28] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 7])];\
dst[29] ^= groestl_T5[groestl_EXT_BYTE_1(src[30])];\
dst[30] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 9])];\
dst[31] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 0])];\
dst[ 0] ^= groestl_T6[groestl_EXT_BYTE_2(src[13])];\
dst[ 1] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 4])];\
dst[ 2] ^= groestl_T6[groestl_EXT_BYTE_2(src[15])];\
dst[ 3] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 6])];\
dst[ 4] ^= groestl_T6[groestl_EXT_BYTE_2(src[17])];\
dst[ 5] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 8])];\
dst[ 6] ^= groestl_T6[groestl_EXT_BYTE_2(src[19])];\
dst[ 7] ^= groestl_T6[groestl_EXT_BYTE_2(src[10])];\
dst[ 8] ^= groestl_T6[groestl_EXT_BYTE_2(src[21])];\
dst[ 9] ^= groestl_T6[groestl_EXT_BYTE_2(src[12])];\
dst[10] ^= groestl_T6[groestl_EXT_BYTE_2(src[23])];\
dst[11] ^= groestl_T6[groestl_EXT_BYTE_2(src[14])];\
dst[12] ^= groestl_T6[groestl_EXT_BYTE_2(src[25])];\
dst[13] ^= groestl_T6[groestl_EXT_BYTE_2(src[16])];\
dst[14] ^= groestl_T6[groestl_EXT_BYTE_2(src[27])];\
dst[15] ^= groestl_T6[groestl_EXT_BYTE_2(src[18])];\
dst[16] ^= groestl_T6[groestl_EXT_BYTE_2(src[29])];\
dst[17] ^= groestl_T6[groestl_EXT_BYTE_2(src[20])];\
dst[18] ^= groestl_T6[groestl_EXT_BYTE_2(src[31])];\
dst[19] ^= groestl_T6[groestl_EXT_BYTE_2(src[22])];\
dst[20] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 1])];\
dst[21] ^= groestl_T6[groestl_EXT_BYTE_2(src[24])];\
dst[22] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 3])];\
dst[23] ^= groestl_T6[groestl_EXT_BYTE_2(src[26])];\
dst[24] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 5])];\
dst[25] ^= groestl_T6[groestl_EXT_BYTE_2(src[28])];\
dst[26] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 7])];\
dst[27] ^= groestl_T6[groestl_EXT_BYTE_2(src[30])];\
dst[28] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 9])];\
dst[29] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 0])];\
dst[30] ^= groestl_T6[groestl_EXT_BYTE_2(src[11])];\
dst[31] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 2])];\
dst[ 0] ^= groestl_T7[groestl_EXT_BYTE_3(src[23])];\
dst[ 1] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 6])];\
dst[ 2] ^= groestl_T7[groestl_EXT_BYTE_3(src[25])];\
dst[ 3] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 8])];\
dst[ 4] ^= groestl_T7[groestl_EXT_BYTE_3(src[27])];\
dst[ 5] ^= groestl_T7[groestl_EXT_BYTE_3(src[10])];\
dst[ 6] ^= groestl_T7[groestl_EXT_BYTE_3(src[29])];\
dst[ 7] ^= groestl_T7[groestl_EXT_BYTE_3(src[12])];\
dst[ 8] ^= groestl_T7[groestl_EXT_BYTE_3(src[31])];\
dst[ 9] ^= groestl_T7[groestl_EXT_BYTE_3(src[14])];\
dst[10] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 1])];\
dst[11] ^= groestl_T7[groestl_EXT_BYTE_3(src[16])];\
dst[12] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 3])];\
dst[13] ^= groestl_T7[groestl_EXT_BYTE_3(src[18])];\
dst[14] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 5])];\
dst[15] ^= groestl_T7[groestl_EXT_BYTE_3(src[20])];\
dst[16] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 7])];\
dst[17] ^= groestl_T7[groestl_EXT_BYTE_3(src[22])];\
dst[18] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 9])];\
dst[19] ^= groestl_T7[groestl_EXT_BYTE_3(src[24])];\
dst[20] ^= groestl_T7[groestl_EXT_BYTE_3(src[11])];\
dst[21] ^= groestl_T7[groestl_EXT_BYTE_3(src[26])];\
dst[22] ^= groestl_T7[groestl_EXT_BYTE_3(src[13])];\
dst[23] ^= groestl_T7[groestl_EXT_BYTE_3(src[28])];\
dst[24] ^= groestl_T7[groestl_EXT_BYTE_3(src[15])];\
dst[25] ^= groestl_T7[groestl_EXT_BYTE_3(src[30])];\
dst[26] ^= groestl_T7[groestl_EXT_BYTE_3(src[17])];\
dst[27] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 0])];\
dst[28] ^= groestl_T7[groestl_EXT_BYTE_3(src[19])];\
dst[29] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 2])];\
dst[30] ^= groestl_T7[groestl_EXT_BYTE_3(src[21])];\
dst[31] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 4])];

#define groestl_QMIX(src, dst, r)\
src[ 0] = ~src[ 0];\
src[ 1] ^= ~(r);\
src[ 2] = ~src[ 2];\
src[ 3] ^= 0xefffffffu^(r);\
src[ 4] = ~src[ 4];\
src[ 5] ^= 0xdfffffffu^(r);\
src[ 6] = ~src[ 6];\
src[ 7] ^= 0xcfffffffu^(r);\
src[ 8] = ~src[ 8];\
src[ 9] ^= 0xbfffffffu^(r);\
src[10] = ~src[10];\
src[11] ^= 0xafffffffu^(r);\
src[12] = ~src[12];\
src[13] ^= 0x9fffffffu^(r);\
src[14] = ~src[14];\
src[15] ^= 0x8fffffffu^(r);\
src[16] = ~src[16];\
src[17] ^= 0x7fffffffu^(r);\
src[18] = ~src[18];\
src[19] ^= 0x6fffffffu^(r);\
src[20] = ~src[20];\
src[21] ^= 0x5fffffffu^(r);\
src[22] = ~src[22];\
src[23] ^= 0x4fffffffu^(r);\
src[24] = ~src[24];\
src[25] ^= 0x3fffffffu^(r);\
src[26] = ~src[26];\
src[27] ^= 0x2fffffffu^(r);\
src[28] = ~src[28];\
src[29] ^= 0x1fffffffu^(r);\
src[30] = ~src[30];\
src[31] ^= 0x0fffffffu^(r);\
dst[ 0]  = groestl_T0[groestl_EXT_BYTE_0(src[ 2])];\
dst[ 1]  = groestl_T0[groestl_EXT_BYTE_0(src[ 1])];\
dst[ 2]  = groestl_T0[groestl_EXT_BYTE_0(src[ 4])];\
dst[ 3]  = groestl_T0[groestl_EXT_BYTE_0(src[ 3])];\
dst[ 4]  = groestl_T0[groestl_EXT_BYTE_0(src[ 6])];\
dst[ 5]  = groestl_T0[groestl_EXT_BYTE_0(src[ 5])];\
dst[ 6]  = groestl_T0[groestl_EXT_BYTE_0(src[ 8])];\
dst[ 7]  = groestl_T0[groestl_EXT_BYTE_0(src[ 7])];\
dst[ 8]  = groestl_T0[groestl_EXT_BYTE_0(src[10])];\
dst[ 9]  = groestl_T0[groestl_EXT_BYTE_0(src[ 9])];\
dst[10]  = groestl_T0[groestl_EXT_BYTE_0(src[12])];\
dst[11]  = groestl_T0[groestl_EXT_BYTE_0(src[11])];\
dst[12]  = groestl_T0[groestl_EXT_BYTE_0(src[14])];\
dst[13]  = groestl_T0[groestl_EXT_BYTE_0(src[13])];\
dst[14]  = groestl_T0[groestl_EXT_BYTE_0(src[16])];\
dst[15]  = groestl_T0[groestl_EXT_BYTE_0(src[15])];\
dst[16]  = groestl_T0[groestl_EXT_BYTE_0(src[18])];\
dst[17]  = groestl_T0[groestl_EXT_BYTE_0(src[17])];\
dst[18]  = groestl_T0[groestl_EXT_BYTE_0(src[20])];\
dst[19]  = groestl_T0[groestl_EXT_BYTE_0(src[19])];\
dst[20]  = groestl_T0[groestl_EXT_BYTE_0(src[22])];\
dst[21]  = groestl_T0[groestl_EXT_BYTE_0(src[21])];\
dst[22]  = groestl_T0[groestl_EXT_BYTE_0(src[24])];\
dst[23]  = groestl_T0[groestl_EXT_BYTE_0(src[23])];\
dst[24]  = groestl_T0[groestl_EXT_BYTE_0(src[26])];\
dst[25]  = groestl_T0[groestl_EXT_BYTE_0(src[25])];\
dst[26]  = groestl_T0[groestl_EXT_BYTE_0(src[28])];\
dst[27]  = groestl_T0[groestl_EXT_BYTE_0(src[27])];\
dst[28]  = groestl_T0[groestl_EXT_BYTE_0(src[30])];\
dst[29]  = groestl_T0[groestl_EXT_BYTE_0(src[29])];\
dst[30]  = groestl_T0[groestl_EXT_BYTE_0(src[ 0])];\
dst[31]  = groestl_T0[groestl_EXT_BYTE_0(src[31])];\
dst[ 0] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 6])];\
dst[ 1] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 5])];\
dst[ 2] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 8])];\
dst[ 3] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 7])];\
dst[ 4] ^= groestl_T1[groestl_EXT_BYTE_1(src[10])];\
dst[ 5] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 9])];\
dst[ 6] ^= groestl_T1[groestl_EXT_BYTE_1(src[12])];\
dst[ 7] ^= groestl_T1[groestl_EXT_BYTE_1(src[11])];\
dst[ 8] ^= groestl_T1[groestl_EXT_BYTE_1(src[14])];\
dst[ 9] ^= groestl_T1[groestl_EXT_BYTE_1(src[13])];\
dst[10] ^= groestl_T1[groestl_EXT_BYTE_1(src[16])];\
dst[11] ^= groestl_T1[groestl_EXT_BYTE_1(src[15])];\
dst[12] ^= groestl_T1[groestl_EXT_BYTE_1(src[18])];\
dst[13] ^= groestl_T1[groestl_EXT_BYTE_1(src[17])];\
dst[14] ^= groestl_T1[groestl_EXT_BYTE_1(src[20])];\
dst[15] ^= groestl_T1[groestl_EXT_BYTE_1(src[19])];\
dst[16] ^= groestl_T1[groestl_EXT_BYTE_1(src[22])];\
dst[17] ^= groestl_T1[groestl_EXT_BYTE_1(src[21])];\
dst[18] ^= groestl_T1[groestl_EXT_BYTE_1(src[24])];\
dst[19] ^= groestl_T1[groestl_EXT_BYTE_1(src[23])];\
dst[20] ^= groestl_T1[groestl_EXT_BYTE_1(src[26])];\
dst[21] ^= groestl_T1[groestl_EXT_BYTE_1(src[25])];\
dst[22] ^= groestl_T1[groestl_EXT_BYTE_1(src[28])];\
dst[23] ^= groestl_T1[groestl_EXT_BYTE_1(src[27])];\
dst[24] ^= groestl_T1[groestl_EXT_BYTE_1(src[30])];\
dst[25] ^= groestl_T1[groestl_EXT_BYTE_1(src[29])];\
dst[26] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 0])];\
dst[27] ^= groestl_T1[groestl_EXT_BYTE_1(src[31])];\
dst[28] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 2])];\
dst[29] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 1])];\
dst[30] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 4])];\
dst[31] ^= groestl_T1[groestl_EXT_BYTE_1(src[ 3])];\
dst[ 0] ^= groestl_T2[groestl_EXT_BYTE_2(src[10])];\
dst[ 1] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 9])];\
dst[ 2] ^= groestl_T2[groestl_EXT_BYTE_2(src[12])];\
dst[ 3] ^= groestl_T2[groestl_EXT_BYTE_2(src[11])];\
dst[ 4] ^= groestl_T2[groestl_EXT_BYTE_2(src[14])];\
dst[ 5] ^= groestl_T2[groestl_EXT_BYTE_2(src[13])];\
dst[ 6] ^= groestl_T2[groestl_EXT_BYTE_2(src[16])];\
dst[ 7] ^= groestl_T2[groestl_EXT_BYTE_2(src[15])];\
dst[ 8] ^= groestl_T2[groestl_EXT_BYTE_2(src[18])];\
dst[ 9] ^= groestl_T2[groestl_EXT_BYTE_2(src[17])];\
dst[10] ^= groestl_T2[groestl_EXT_BYTE_2(src[20])];\
dst[11] ^= groestl_T2[groestl_EXT_BYTE_2(src[19])];\
dst[12] ^= groestl_T2[groestl_EXT_BYTE_2(src[22])];\
dst[13] ^= groestl_T2[groestl_EXT_BYTE_2(src[21])];\
dst[14] ^= groestl_T2[groestl_EXT_BYTE_2(src[24])];\
dst[15] ^= groestl_T2[groestl_EXT_BYTE_2(src[23])];\
dst[16] ^= groestl_T2[groestl_EXT_BYTE_2(src[26])];\
dst[17] ^= groestl_T2[groestl_EXT_BYTE_2(src[25])];\
dst[18] ^= groestl_T2[groestl_EXT_BYTE_2(src[28])];\
dst[19] ^= groestl_T2[groestl_EXT_BYTE_2(src[27])];\
dst[20] ^= groestl_T2[groestl_EXT_BYTE_2(src[30])];\
dst[21] ^= groestl_T2[groestl_EXT_BYTE_2(src[29])];\
dst[22] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 0])];\
dst[23] ^= groestl_T2[groestl_EXT_BYTE_2(src[31])];\
dst[24] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 2])];\
dst[25] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 1])];\
dst[26] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 4])];\
dst[27] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 3])];\
dst[28] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 6])];\
dst[29] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 5])];\
dst[30] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 8])];\
dst[31] ^= groestl_T2[groestl_EXT_BYTE_2(src[ 7])];\
dst[ 0] ^= groestl_T3[groestl_EXT_BYTE_3(src[22])];\
dst[ 1] ^= groestl_T3[groestl_EXT_BYTE_3(src[13])];\
dst[ 2] ^= groestl_T3[groestl_EXT_BYTE_3(src[24])];\
dst[ 3] ^= groestl_T3[groestl_EXT_BYTE_3(src[15])];\
dst[ 4] ^= groestl_T3[groestl_EXT_BYTE_3(src[26])];\
dst[ 5] ^= groestl_T3[groestl_EXT_BYTE_3(src[17])];\
dst[ 6] ^= groestl_T3[groestl_EXT_BYTE_3(src[28])];\
dst[ 7] ^= groestl_T3[groestl_EXT_BYTE_3(src[19])];\
dst[ 8] ^= groestl_T3[groestl_EXT_BYTE_3(src[30])];\
dst[ 9] ^= groestl_T3[groestl_EXT_BYTE_3(src[21])];\
dst[10] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 0])];\
dst[11] ^= groestl_T3[groestl_EXT_BYTE_3(src[23])];\
dst[12] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 2])];\
dst[13] ^= groestl_T3[groestl_EXT_BYTE_3(src[25])];\
dst[14] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 4])];\
dst[15] ^= groestl_T3[groestl_EXT_BYTE_3(src[27])];\
dst[16] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 6])];\
dst[17] ^= groestl_T3[groestl_EXT_BYTE_3(src[29])];\
dst[18] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 8])];\
dst[19] ^= groestl_T3[groestl_EXT_BYTE_3(src[31])];\
dst[20] ^= groestl_T3[groestl_EXT_BYTE_3(src[10])];\
dst[21] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 1])];\
dst[22] ^= groestl_T3[groestl_EXT_BYTE_3(src[12])];\
dst[23] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 3])];\
dst[24] ^= groestl_T3[groestl_EXT_BYTE_3(src[14])];\
dst[25] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 5])];\
dst[26] ^= groestl_T3[groestl_EXT_BYTE_3(src[16])];\
dst[27] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 7])];\
dst[28] ^= groestl_T3[groestl_EXT_BYTE_3(src[18])];\
dst[29] ^= groestl_T3[groestl_EXT_BYTE_3(src[ 9])];\
dst[30] ^= groestl_T3[groestl_EXT_BYTE_3(src[20])];\
dst[31] ^= groestl_T3[groestl_EXT_BYTE_3(src[11])];\
dst[ 0] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 1])];\
dst[ 1] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 2])];\
dst[ 2] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 3])];\
dst[ 3] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 4])];\
dst[ 4] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 5])];\
dst[ 5] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 6])];\
dst[ 6] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 7])];\
dst[ 7] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 8])];\
dst[ 8] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 9])];\
dst[ 9] ^= groestl_T4[groestl_EXT_BYTE_0(src[10])];\
dst[10] ^= groestl_T4[groestl_EXT_BYTE_0(src[11])];\
dst[11] ^= groestl_T4[groestl_EXT_BYTE_0(src[12])];\
dst[12] ^= groestl_T4[groestl_EXT_BYTE_0(src[13])];\
dst[13] ^= groestl_T4[groestl_EXT_BYTE_0(src[14])];\
dst[14] ^= groestl_T4[groestl_EXT_BYTE_0(src[15])];\
dst[15] ^= groestl_T4[groestl_EXT_BYTE_0(src[16])];\
dst[16] ^= groestl_T4[groestl_EXT_BYTE_0(src[17])];\
dst[17] ^= groestl_T4[groestl_EXT_BYTE_0(src[18])];\
dst[18] ^= groestl_T4[groestl_EXT_BYTE_0(src[19])];\
dst[19] ^= groestl_T4[groestl_EXT_BYTE_0(src[20])];\
dst[20] ^= groestl_T4[groestl_EXT_BYTE_0(src[21])];\
dst[21] ^= groestl_T4[groestl_EXT_BYTE_0(src[22])];\
dst[22] ^= groestl_T4[groestl_EXT_BYTE_0(src[23])];\
dst[23] ^= groestl_T4[groestl_EXT_BYTE_0(src[24])];\
dst[24] ^= groestl_T4[groestl_EXT_BYTE_0(src[25])];\
dst[25] ^= groestl_T4[groestl_EXT_BYTE_0(src[26])];\
dst[26] ^= groestl_T4[groestl_EXT_BYTE_0(src[27])];\
dst[27] ^= groestl_T4[groestl_EXT_BYTE_0(src[28])];\
dst[28] ^= groestl_T4[groestl_EXT_BYTE_0(src[29])];\
dst[29] ^= groestl_T4[groestl_EXT_BYTE_0(src[30])];\
dst[30] ^= groestl_T4[groestl_EXT_BYTE_0(src[31])];\
dst[31] ^= groestl_T4[groestl_EXT_BYTE_0(src[ 0])];\
dst[ 0] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 5])];\
dst[ 1] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 6])];\
dst[ 2] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 7])];\
dst[ 3] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 8])];\
dst[ 4] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 9])];\
dst[ 5] ^= groestl_T5[groestl_EXT_BYTE_1(src[10])];\
dst[ 6] ^= groestl_T5[groestl_EXT_BYTE_1(src[11])];\
dst[ 7] ^= groestl_T5[groestl_EXT_BYTE_1(src[12])];\
dst[ 8] ^= groestl_T5[groestl_EXT_BYTE_1(src[13])];\
dst[ 9] ^= groestl_T5[groestl_EXT_BYTE_1(src[14])];\
dst[10] ^= groestl_T5[groestl_EXT_BYTE_1(src[15])];\
dst[11] ^= groestl_T5[groestl_EXT_BYTE_1(src[16])];\
dst[12] ^= groestl_T5[groestl_EXT_BYTE_1(src[17])];\
dst[13] ^= groestl_T5[groestl_EXT_BYTE_1(src[18])];\
dst[14] ^= groestl_T5[groestl_EXT_BYTE_1(src[19])];\
dst[15] ^= groestl_T5[groestl_EXT_BYTE_1(src[20])];\
dst[16] ^= groestl_T5[groestl_EXT_BYTE_1(src[21])];\
dst[17] ^= groestl_T5[groestl_EXT_BYTE_1(src[22])];\
dst[18] ^= groestl_T5[groestl_EXT_BYTE_1(src[23])];\
dst[19] ^= groestl_T5[groestl_EXT_BYTE_1(src[24])];\
dst[20] ^= groestl_T5[groestl_EXT_BYTE_1(src[25])];\
dst[21] ^= groestl_T5[groestl_EXT_BYTE_1(src[26])];\
dst[22] ^= groestl_T5[groestl_EXT_BYTE_1(src[27])];\
dst[23] ^= groestl_T5[groestl_EXT_BYTE_1(src[28])];\
dst[24] ^= groestl_T5[groestl_EXT_BYTE_1(src[29])];\
dst[25] ^= groestl_T5[groestl_EXT_BYTE_1(src[30])];\
dst[26] ^= groestl_T5[groestl_EXT_BYTE_1(src[31])];\
dst[27] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 0])];\
dst[28] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 1])];\
dst[29] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 2])];\
dst[30] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 3])];\
dst[31] ^= groestl_T5[groestl_EXT_BYTE_1(src[ 4])];\
dst[ 0] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 9])];\
dst[ 1] ^= groestl_T6[groestl_EXT_BYTE_2(src[10])];\
dst[ 2] ^= groestl_T6[groestl_EXT_BYTE_2(src[11])];\
dst[ 3] ^= groestl_T6[groestl_EXT_BYTE_2(src[12])];\
dst[ 4] ^= groestl_T6[groestl_EXT_BYTE_2(src[13])];\
dst[ 5] ^= groestl_T6[groestl_EXT_BYTE_2(src[14])];\
dst[ 6] ^= groestl_T6[groestl_EXT_BYTE_2(src[15])];\
dst[ 7] ^= groestl_T6[groestl_EXT_BYTE_2(src[16])];\
dst[ 8] ^= groestl_T6[groestl_EXT_BYTE_2(src[17])];\
dst[ 9] ^= groestl_T6[groestl_EXT_BYTE_2(src[18])];\
dst[10] ^= groestl_T6[groestl_EXT_BYTE_2(src[19])];\
dst[11] ^= groestl_T6[groestl_EXT_BYTE_2(src[20])];\
dst[12] ^= groestl_T6[groestl_EXT_BYTE_2(src[21])];\
dst[13] ^= groestl_T6[groestl_EXT_BYTE_2(src[22])];\
dst[14] ^= groestl_T6[groestl_EXT_BYTE_2(src[23])];\
dst[15] ^= groestl_T6[groestl_EXT_BYTE_2(src[24])];\
dst[16] ^= groestl_T6[groestl_EXT_BYTE_2(src[25])];\
dst[17] ^= groestl_T6[groestl_EXT_BYTE_2(src[26])];\
dst[18] ^= groestl_T6[groestl_EXT_BYTE_2(src[27])];\
dst[19] ^= groestl_T6[groestl_EXT_BYTE_2(src[28])];\
dst[20] ^= groestl_T6[groestl_EXT_BYTE_2(src[29])];\
dst[21] ^= groestl_T6[groestl_EXT_BYTE_2(src[30])];\
dst[22] ^= groestl_T6[groestl_EXT_BYTE_2(src[31])];\
dst[23] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 0])];\
dst[24] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 1])];\
dst[25] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 2])];\
dst[26] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 3])];\
dst[27] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 4])];\
dst[28] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 5])];\
dst[29] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 6])];\
dst[30] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 7])];\
dst[31] ^= groestl_T6[groestl_EXT_BYTE_2(src[ 8])];\
dst[ 0] ^= groestl_T7[groestl_EXT_BYTE_3(src[13])];\
dst[ 1] ^= groestl_T7[groestl_EXT_BYTE_3(src[22])];\
dst[ 2] ^= groestl_T7[groestl_EXT_BYTE_3(src[15])];\
dst[ 3] ^= groestl_T7[groestl_EXT_BYTE_3(src[24])];\
dst[ 4] ^= groestl_T7[groestl_EXT_BYTE_3(src[17])];\
dst[ 5] ^= groestl_T7[groestl_EXT_BYTE_3(src[26])];\
dst[ 6] ^= groestl_T7[groestl_EXT_BYTE_3(src[19])];\
dst[ 7] ^= groestl_T7[groestl_EXT_BYTE_3(src[28])];\
dst[ 8] ^= groestl_T7[groestl_EXT_BYTE_3(src[21])];\
dst[ 9] ^= groestl_T7[groestl_EXT_BYTE_3(src[30])];\
dst[10] ^= groestl_T7[groestl_EXT_BYTE_3(src[23])];\
dst[11] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 0])];\
dst[12] ^= groestl_T7[groestl_EXT_BYTE_3(src[25])];\
dst[13] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 2])];\
dst[14] ^= groestl_T7[groestl_EXT_BYTE_3(src[27])];\
dst[15] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 4])];\
dst[16] ^= groestl_T7[groestl_EXT_BYTE_3(src[29])];\
dst[17] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 6])];\
dst[18] ^= groestl_T7[groestl_EXT_BYTE_3(src[31])];\
dst[19] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 8])];\
dst[20] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 1])];\
dst[21] ^= groestl_T7[groestl_EXT_BYTE_3(src[10])];\
dst[22] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 3])];\
dst[23] ^= groestl_T7[groestl_EXT_BYTE_3(src[12])];\
dst[24] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 5])];\
dst[25] ^= groestl_T7[groestl_EXT_BYTE_3(src[14])];\
dst[26] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 7])];\
dst[27] ^= groestl_T7[groestl_EXT_BYTE_3(src[16])];\
dst[28] ^= groestl_T7[groestl_EXT_BYTE_3(src[ 9])];\
dst[29] ^= groestl_T7[groestl_EXT_BYTE_3(src[18])];\
dst[30] ^= groestl_T7[groestl_EXT_BYTE_3(src[11])];\
dst[31] ^= groestl_T7[groestl_EXT_BYTE_3(src[20])];

// init
const CONSTANT UINT32 groestl_T_init[256*8] =
{
0xa5f432c6UL,0x84976ff8UL,0x99b05eeeUL,0x8d8c7af6UL,0x0d17e8ffUL,0xbddc0ad6UL,0xb1c816deUL,0x54fc6d91UL,0x50f09060UL,0x03050702UL,0xa9e02eceUL,0x7d87d156UL,0x192bcce7UL,0x62a613b5UL,0xe6317c4dUL,0x9ab559ecUL,0x45cf408fUL,0x9dbca31fUL,0x40c04989UL,0x879268faUL,0x153fd0efUL,0xeb2694b2UL,0xc940ce8eUL,0x0b1de6fbUL,0xec2f6e41UL,0x67a91ab3UL,0xfd1c435fUL,0xea256045UL,0xbfdaf923UL,0xf7025153UL,0x96a145e4UL,0x5bed769bUL,0xc25d2875UL,0x1c24c5e1UL,0xaee9d43dUL,0x6abef24cUL,0x5aee826cUL,0x41c3bd7eUL,0x0206f3f5UL,0x4fd15283UL,0x5ce48c68UL,0xf4075651UL,0x345c8dd1UL,0x0818e1f9UL,0x93ae4ce2UL,0x73953eabUL,0x53f59762UL,0x3f416b2aUL,0x0c141c08UL,0x52f66395UL,0x65afe946UL,0x5ee27f9dUL,0x28784830UL,0xa1f8cf37UL,0x0f111b0aUL,0xb5c4eb2fUL,0x091b150eUL,0x365a7e24UL,0x9bb6ad1bUL,0x3d4798dfUL,0x266aa7cdUL,0x69bbf54eUL,0xcd4c337fUL,0x9fba50eaUL,0x1b2d3f12UL,0x9eb9a41dUL,0x749cc458UL,0x2e724634UL,0x2d774136UL,0xb2cd11dcUL,0xee299db4UL,0xfb164d5bUL,0xf601a5a4UL,0x4dd7a176UL,0x61a314b7UL,0xce49347dUL,0x7b8ddf52UL,0x3e429fddUL,0x7193cd5eUL,0x97a2b113UL,0xf504a2a6UL,0x68b801b9UL,0x00000000UL,0x2c74b5c1UL,0x60a0e040UL,0x1f21c2e3UL,0xc8433a79UL,0xed2c9ab6UL,0xbed90dd4UL,0x46ca478dUL,0xd9701767UL,0x4bddaf72UL,0xde79ed94UL,0xd467ff98UL,0xe82393b0UL,0x4ade5b85UL,0x6bbd06bbUL,0x2a7ebbc5UL,0xe5347b4fUL,0x163ad7edUL,0xc554d286UL,0xd762f89aUL,0x55ff9966UL,0x94a7b611UL,0xcf4ac08aUL,0x1030d9e9UL,0x060a0e04UL,0x819866feUL,0xf00baba0UL,0x44ccb478UL,0xbad5f025UL,0xe33e754bUL,0xf30eaca2UL,0xfe19445dUL,0xc05bdb80UL,0x8a858005UL,0xadecd33fUL,0xbcdffe21UL,0x48d8a870UL,0x040cfdf1UL,0xdf7a1963UL,0xc1582f77UL,0x759f30afUL,0x63a5e742UL,0x30507020UL,0x1a2ecbe5UL,0x0e12effdUL,0x6db708bfUL,0x4cd45581UL,0x143c2418UL,0x355f7926UL,0x2f71b2c3UL,0xe13886beUL,0xa2fdc835UL,0xcc4fc788UL,0x394b652eUL,0x57f96a93UL,0xf20d5855UL,0x829d61fcUL,0x47c9b37aUL,0xacef27c8UL,0xe73288baUL,0x2b7d4f32UL,0x95a442e6UL,0xa0fb3bc0UL,0x98b3aa19UL,0xd168f69eUL,0x7f8122a3UL,0x66aaee44UL,0x7e82d654UL,0xabe6dd3bUL,0x839e950bUL,0xca45c98cUL,0x297bbcc7UL,0xd36e056bUL,0x3c446c28UL,0x798b2ca7UL,0xe23d81bcUL,0x1d273116UL,0x769a37adUL,0x3b4d96dbUL,0x56fa9e64UL,0x4ed2a674UL,0x1e223614UL,0xdb76e492UL,0x0a1e120cUL,0x6cb4fc48UL,0xe4378fb8UL,0x5de7789fUL,0x6eb20fbdUL,0xef2a6943UL,0xa6f135c4UL,0xa8e3da39UL,0xa4f7c631UL,0x37598ad3UL,0x8b8674f2UL,0x325683d5UL,0x43c54e8bUL,0x59eb856eUL,0xb7c218daUL,0x8c8f8e01UL,0x64ac1db1UL,0xd26df19cUL,0xe03b7249UL,0xb4c71fd8UL,0xfa15b9acUL,0x0709faf3UL,0x256fa0cfUL,0xafea20caUL,0x8e897df4UL,0xe9206747UL,0x18283810UL,0xd5640b6fUL,0x888373f0UL,0x6fb1fb4aUL,0x7296ca5cUL,0x246c5438UL,0xf1085f57UL,0xc7522173UL,0x51f36497UL,0x2365aecbUL,0x7c8425a1UL,0x9cbf57e8UL,0x21635d3eUL,0xdd7cea96UL,0xdc7f1e61UL,0x86919c0dUL,0x85949b0fUL,0x90ab4be0UL,0x42c6ba7cUL,0xc4572671UL,0xaae529ccUL,0xd873e390UL,0x050f0906UL,0x0103f4f7UL,0x12362a1cUL,0xa3fe3cc2UL,0x5fe18b6aUL,0xf910beaeUL,0xd06b0269UL,0x91a8bf17UL,0x58e87199UL,0x2769533aUL,0xb9d0f727UL,0x384891d9UL,0x1335deebUL,0xb3cee52bUL,0x33557722UL,0xbbd604d2UL,0x709039a9UL,0x89808707UL,0xa7f2c133UL,0xb6c1ec2dUL,0x22665a3cUL,0x92adb815UL,0x2060a9c9UL,0x49db5c87UL,0xff1ab0aaUL,0x7888d850UL,0x7a8e2ba5UL,0x8f8a8903UL,0xf8134a59UL,0x809b9209UL,0x1739231aUL,0xda751065UL,0x315384d7UL,0xc651d584UL,0xb8d303d0UL,0xc35edc82UL,0xb0cbe229UL,0x7799c35aUL,0x11332d1eUL,0xcb463d7bUL,0xfc1fb7a8UL,0xd6610c6dUL,0x3a4e622cUL,
0xf432c6c6UL,0x976ff8f8UL,0xb05eeeeeUL,0x8c7af6f6UL,0x17e8ffffUL,0xdc0ad6d6UL,0xc816dedeUL,0xfc6d9191UL,0xf0906060UL,0x05070202UL,0xe02ececeUL,0x87d15656UL,0x2bcce7e7UL,0xa613b5b5UL,0x317c4d4dUL,0xb559ececUL,0xcf408f8fUL,0xbca31f1fUL,0xc0498989UL,0x9268fafaUL,0x3fd0efefUL,0x2694b2b2UL,0x40ce8e8eUL,0x1de6fbfbUL,0x2f6e4141UL,0xa91ab3b3UL,0x1c435f5fUL,0x25604545UL,0xdaf92323UL,0x02515353UL,0xa145e4e4UL,0xed769b9bUL,0x5d287575UL,0x24c5e1e1UL,0xe9d43d3dUL,0xbef24c4cUL,0xee826c6cUL,0xc3bd7e7eUL,0x06f3f5f5UL,0xd1528383UL,0xe48c6868UL,0x07565151UL,0x5c8dd1d1UL,0x18e1f9f9UL,0xae4ce2e2UL,0x953eababUL,0xf5976262UL,0x416b2a2aUL,0x141c0808UL,0xf6639595UL,0xafe94646UL,0xe27f9d9dUL,0x78483030UL,0xf8cf3737UL,0x111b0a0aUL,0xc4eb2f2fUL,0x1b150e0eUL,0x5a7e2424UL,0xb6ad1b1bUL,0x4798dfdfUL,0x6aa7cdcdUL,0xbbf54e4eUL,0x4c337f7fUL,0xba50eaeaUL,0x2d3f1212UL,0xb9a41d1dUL,0x9cc45858UL,0x72463434UL,0x77413636UL,0xcd11dcdcUL,0x299db4b4UL,0x164d5b5bUL,0x01a5a4a4UL,0xd7a17676UL,0xa314b7b7UL,0x49347d7dUL,0x8ddf5252UL,0x429fddddUL,0x93cd5e5eUL,0xa2b11313UL,0x04a2a6a6UL,0xb801b9b9UL,0x00000000UL,0x74b5c1c1UL,0xa0e04040UL,0x21c2e3e3UL,0x433a7979UL,0x2c9ab6b6UL,0xd90dd4d4UL,0xca478d8dUL,0x70176767UL,0xddaf7272UL,0x79ed9494UL,0x67ff9898UL,0x2393b0b0UL,0xde5b8585UL,0xbd06bbbbUL,0x7ebbc5c5UL,0x347b4f4fUL,0x3ad7ededUL,0x54d28686UL,0x62f89a9aUL,0xff996666UL,0xa7b61111UL,0x4ac08a8aUL,0x30d9e9e9UL,0x0a0e0404UL,0x9866fefeUL,0x0baba0a0UL,0xccb47878UL,0xd5f02525UL,0x3e754b4bUL,0x0eaca2a2UL,0x19445d5dUL,0x5bdb8080UL,0x85800505UL,0xecd33f3fUL,0xdffe2121UL,0xd8a87070UL,0x0cfdf1f1UL,0x7a196363UL,0x582f7777UL,0x9f30afafUL,0xa5e74242UL,0x50702020UL,0x2ecbe5e5UL,0x12effdfdUL,0xb708bfbfUL,0xd4558181UL,0x3c241818UL,0x5f792626UL,0x71b2c3c3UL,0x3886bebeUL,0xfdc83535UL,0x4fc78888UL,0x4b652e2eUL,0xf96a9393UL,0x0d585555UL,0x9d61fcfcUL,0xc9b37a7aUL,0xef27c8c8UL,0x3288babaUL,0x7d4f3232UL,0xa442e6e6UL,0xfb3bc0c0UL,0xb3aa1919UL,0x68f69e9eUL,0x8122a3a3UL,0xaaee4444UL,0x82d65454UL,0xe6dd3b3bUL,0x9e950b0bUL,0x45c98c8cUL,0x7bbcc7c7UL,0x6e056b6bUL,0x446c2828UL,0x8b2ca7a7UL,0x3d81bcbcUL,0x27311616UL,0x9a37adadUL,0x4d96dbdbUL,0xfa9e6464UL,0xd2a67474UL,0x22361414UL,0x76e49292UL,0x1e120c0cUL,0xb4fc4848UL,0x378fb8b8UL,0xe7789f9fUL,0xb20fbdbdUL,0x2a694343UL,0xf135c4c4UL,0xe3da3939UL,0xf7c63131UL,0x598ad3d3UL,0x8674f2f2UL,0x5683d5d5UL,0xc54e8b8bUL,0xeb856e6eUL,0xc218dadaUL,0x8f8e0101UL,0xac1db1b1UL,0x6df19c9cUL,0x3b724949UL,0xc71fd8d8UL,0x15b9acacUL,0x09faf3f3UL,0x6fa0cfcfUL,0xea20cacaUL,0x897df4f4UL,0x20674747UL,0x28381010UL,0x640b6f6fUL,0x8373f0f0UL,0xb1fb4a4aUL,0x96ca5c5cUL,0x6c543838UL,0x085f5757UL,0x52217373UL,0xf3649797UL,0x65aecbcbUL,0x8425a1a1UL,0xbf57e8e8UL,0x635d3e3eUL,0x7cea9696UL,0x7f1e6161UL,0x919c0d0dUL,0x949b0f0fUL,0xab4be0e0UL,0xc6ba7c7cUL,0x57267171UL,0xe529ccccUL,0x73e39090UL,0x0f090606UL,0x03f4f7f7UL,0x362a1c1cUL,0xfe3cc2c2UL,0xe18b6a6aUL,0x10beaeaeUL,0x6b026969UL,0xa8bf1717UL,0xe8719999UL,0x69533a3aUL,0xd0f72727UL,0x4891d9d9UL,0x35deebebUL,0xcee52b2bUL,0x55772222UL,0xd604d2d2UL,0x9039a9a9UL,0x80870707UL,0xf2c13333UL,0xc1ec2d2dUL,0x665a3c3cUL,0xadb81515UL,0x60a9c9c9UL,0xdb5c8787UL,0x1ab0aaaaUL,0x88d85050UL,0x8e2ba5a5UL,0x8a890303UL,0x134a5959UL,0x9b920909UL,0x39231a1aUL,0x75106565UL,0x5384d7d7UL,0x51d58484UL,0xd303d0d0UL,0x5edc8282UL,0xcbe22929UL,0x99c35a5aUL,0x332d1e1eUL,0x463d7b7bUL,0x1fb7a8a8UL,0x610c6d6dUL,0x4e622c2cUL,
0x32c6c6a5UL,0x6ff8f884UL,0x5eeeee99UL,0x7af6f68dUL,0xe8ffff0dUL,0x0ad6d6bdUL,0x16dedeb1UL,0x6d919154UL,0x90606050UL,0x07020203UL,0x2ececea9UL,0xd156567dUL,0xcce7e719UL,0x13b5b562UL,0x7c4d4de6UL,0x59ecec9aUL,0x408f8f45UL,0xa31f1f9dUL,0x49898940UL,0x68fafa87UL,0xd0efef15UL,0x94b2b2ebUL,0xce8e8ec9UL,0xe6fbfb0bUL,0x6e4141ecUL,0x1ab3b367UL,0x435f5ffdUL,0x604545eaUL,0xf92323bfUL,0x515353f7UL,0x45e4e496UL,0x769b9b5bUL,0x287575c2UL,0xc5e1e11cUL,0xd43d3daeUL,0xf24c4c6aUL,0x826c6c5aUL,0xbd7e7e41UL,0xf3f5f502UL,0x5283834fUL,0x8c68685cUL,0x565151f4UL,0x8dd1d134UL,0xe1f9f908UL,0x4ce2e293UL,0x3eabab73UL,0x97626253UL,0x6b2a2a3fUL,0x1c08080cUL,0x63959552UL,0xe9464665UL,0x7f9d9d5eUL,0x48303028UL,0xcf3737a1UL,0x1b0a0a0fUL,0xeb2f2fb5UL,0x150e0e09UL,0x7e242436UL,0xad1b1b9bUL,0x98dfdf3dUL,0xa7cdcd26UL,0xf54e4e69UL,0x337f7fcdUL,0x50eaea9fUL,0x3f12121bUL,0xa41d1d9eUL,0xc4585874UL,0x4634342eUL,0x4136362dUL,0x11dcdcb2UL,0x9db4b4eeUL,0x4d5b5bfbUL,0xa5a4a4f6UL,0xa176764dUL,0x14b7b761UL,0x347d7dceUL,0xdf52527bUL,0x9fdddd3eUL,0xcd5e5e71UL,0xb1131397UL,0xa2a6a6f5UL,0x01b9b968UL,0x00000000UL,0xb5c1c12cUL,0xe0404060UL,0xc2e3e31fUL,0x3a7979c8UL,0x9ab6b6edUL,0x0dd4d4beUL,0x478d8d46UL,0x176767d9UL,0xaf72724bUL,0xed9494deUL,0xff9898d4UL,0x93b0b0e8UL,0x5b85854aUL,0x06bbbb6bUL,0xbbc5c52aUL,0x7b4f4fe5UL,0xd7eded16UL,0xd28686c5UL,0xf89a9ad7UL,0x99666655UL,0xb6111194UL,0xc08a8acfUL,0xd9e9e910UL,0x0e040406UL,0x66fefe81UL,0xaba0a0f0UL,0xb4787844UL,0xf02525baUL,0x754b4be3UL,0xaca2a2f3UL,0x445d5dfeUL,0xdb8080c0UL,0x8005058aUL,0xd33f3fadUL,0xfe2121bcUL,0xa8707048UL,0xfdf1f104UL,0x196363dfUL,0x2f7777c1UL,0x30afaf75UL,0xe7424263UL,0x70202030UL,0xcbe5e51aUL,0xeffdfd0eUL,0x08bfbf6dUL,0x5581814cUL,0x24181814UL,0x79262635UL,0xb2c3c32fUL,0x86bebee1UL,0xc83535a2UL,0xc78888ccUL,0x652e2e39UL,0x6a939357UL,0x585555f2UL,0x61fcfc82UL,0xb37a7a47UL,0x27c8c8acUL,0x88babae7UL,0x4f32322bUL,0x42e6e695UL,0x3bc0c0a0UL,0xaa191998UL,0xf69e9ed1UL,0x22a3a37fUL,0xee444466UL,0xd654547eUL,0xdd3b3babUL,0x950b0b83UL,0xc98c8ccaUL,0xbcc7c729UL,0x056b6bd3UL,0x6c28283cUL,0x2ca7a779UL,0x81bcbce2UL,0x3116161dUL,0x37adad76UL,0x96dbdb3bUL,0x9e646456UL,0xa674744eUL,0x3614141eUL,0xe49292dbUL,0x120c0c0aUL,0xfc48486cUL,0x8fb8b8e4UL,0x789f9f5dUL,0x0fbdbd6eUL,0x694343efUL,0x35c4c4a6UL,0xda3939a8UL,0xc63131a4UL,0x8ad3d337UL,0x74f2f28bUL,0x83d5d532UL,0x4e8b8b43UL,0x856e6e59UL,0x18dadab7UL,0x8e01018cUL,0x1db1b164UL,0xf19c9cd2UL,0x724949e0UL,0x1fd8d8b4UL,0xb9acacfaUL,0xfaf3f307UL,0xa0cfcf25UL,0x20cacaafUL,0x7df4f48eUL,0x674747e9UL,0x38101018UL,0x0b6f6fd5UL,0x73f0f088UL,0xfb4a4a6fUL,0xca5c5c72UL,0x54383824UL,0x5f5757f1UL,0x217373c7UL,0x64979751UL,0xaecbcb23UL,0x25a1a17cUL,0x57e8e89cUL,0x5d3e3e21UL,0xea9696ddUL,0x1e6161dcUL,0x9c0d0d86UL,0x9b0f0f85UL,0x4be0e090UL,0xba7c7c42UL,0x267171c4UL,0x29ccccaaUL,0xe39090d8UL,0x09060605UL,0xf4f7f701UL,0x2a1c1c12UL,0x3cc2c2a3UL,0x8b6a6a5fUL,0xbeaeaef9UL,0x026969d0UL,0xbf171791UL,0x71999958UL,0x533a3a27UL,0xf72727b9UL,0x91d9d938UL,0xdeebeb13UL,0xe52b2bb3UL,0x77222233UL,0x04d2d2bbUL,0x39a9a970UL,0x87070789UL,0xc13333a7UL,0xec2d2db6UL,0x5a3c3c22UL,0xb8151592UL,0xa9c9c920UL,0x5c878749UL,0xb0aaaaffUL,0xd8505078UL,0x2ba5a57aUL,0x8903038fUL,0x4a5959f8UL,0x92090980UL,0x231a1a17UL,0x106565daUL,0x84d7d731UL,0xd58484c6UL,0x03d0d0b8UL,0xdc8282c3UL,0xe22929b0UL,0xc35a5a77UL,0x2d1e1e11UL,0x3d7b7bcbUL,0xb7a8a8fcUL,0x0c6d6dd6UL,0x622c2c3aUL,
0xc6c6a597UL,0xf8f884ebUL,0xeeee99c7UL,0xf6f68df7UL,0xffff0de5UL,0xd6d6bdb7UL,0xdedeb1a7UL,0x91915439UL,0x606050c0UL,0x02020304UL,0xcecea987UL,0x56567dacUL,0xe7e719d5UL,0xb5b56271UL,0x4d4de69aUL,0xecec9ac3UL,0x8f8f4505UL,0x1f1f9d3eUL,0x89894009UL,0xfafa87efUL,0xefef15c5UL,0xb2b2eb7fUL,0x8e8ec907UL,0xfbfb0bedUL,0x4141ec82UL,0xb3b3677dUL,0x5f5ffdbeUL,0x4545ea8aUL,0x2323bf46UL,0x5353f7a6UL,0xe4e496d3UL,0x9b9b5b2dUL,0x7575c2eaUL,0xe1e11cd9UL,0x3d3dae7aUL,0x4c4c6a98UL,0x6c6c5ad8UL,0x7e7e41fcUL,0xf5f502f1UL,0x83834f1dUL,0x68685cd0UL,0x5151f4a2UL,0xd1d134b9UL,0xf9f908e9UL,0xe2e293dfUL,0xabab734dUL,0x626253c4UL,0x2a2a3f54UL,0x08080c10UL,0x95955231UL,0x4646658cUL,0x9d9d5e21UL,0x30302860UL,0x3737a16eUL,0x0a0a0f14UL,0x2f2fb55eUL,0x0e0e091cUL,0x24243648UL,0x1b1b9b36UL,0xdfdf3da5UL,0xcdcd2681UL,0x4e4e699cUL,0x7f7fcdfeUL,0xeaea9fcfUL,0x12121b24UL,0x1d1d9e3aUL,0x585874b0UL,0x34342e68UL,0x36362d6cUL,0xdcdcb2a3UL,0xb4b4ee73UL,0x5b5bfbb6UL,0xa4a4f653UL,0x76764decUL,0xb7b76175UL,0x7d7dcefaUL,0x52527ba4UL,0xdddd3ea1UL,0x5e5e71bcUL,0x13139726UL,0xa6a6f557UL,0xb9b96869UL,0x00000000UL,0xc1c12c99UL,0x40406080UL,0xe3e31fddUL,0x7979c8f2UL,0xb6b6ed77UL,0xd4d4beb3UL,0x8d8d4601UL,0x6767d9ceUL,0x72724be4UL,0x9494de33UL,0x9898d42bUL,0xb0b0e87bUL,0x85854a11UL,0xbbbb6b6dUL,0xc5c52a91UL,0x4f4fe59eUL,0xeded16c1UL,0x8686c517UL,0x9a9ad72fUL,0x666655ccUL,0x11119422UL,0x8a8acf0fUL,0xe9e910c9UL,0x04040608UL,0xfefe81e7UL,0xa0a0f05bUL,0x787844f0UL,0x2525ba4aUL,0x4b4be396UL,0xa2a2f35fUL,0x5d5dfebaUL,0x8080c01bUL,0x05058a0aUL,0x3f3fad7eUL,0x2121bc42UL,0x707048e0UL,0xf1f104f9UL,0x6363dfc6UL,0x7777c1eeUL,0xafaf7545UL,0x42426384UL,0x20203040UL,0xe5e51ad1UL,0xfdfd0ee1UL,0xbfbf6d65UL,0x81814c19UL,0x18181430UL,0x2626354cUL,0xc3c32f9dUL,0xbebee167UL,0x3535a26aUL,0x8888cc0bUL,0x2e2e395cUL,0x9393573dUL,0x5555f2aaUL,0xfcfc82e3UL,0x7a7a47f4UL,0xc8c8ac8bUL,0xbabae76fUL,0x32322b64UL,0xe6e695d7UL,0xc0c0a09bUL,0x19199832UL,0x9e9ed127UL,0xa3a37f5dUL,0x44446688UL,0x54547ea8UL,0x3b3bab76UL,0x0b0b8316UL,0x8c8cca03UL,0xc7c72995UL,0x6b6bd3d6UL,0x28283c50UL,0xa7a77955UL,0xbcbce263UL,0x16161d2cUL,0xadad7641UL,0xdbdb3badUL,0x646456c8UL,0x74744ee8UL,0x14141e28UL,0x9292db3fUL,0x0c0c0a18UL,0x48486c90UL,0xb8b8e46bUL,0x9f9f5d25UL,0xbdbd6e61UL,0x4343ef86UL,0xc4c4a693UL,0x3939a872UL,0x3131a462UL,0xd3d337bdUL,0xf2f28bffUL,0xd5d532b1UL,0x8b8b430dUL,0x6e6e59dcUL,0xdadab7afUL,0x01018c02UL,0xb1b16479UL,0x9c9cd223UL,0x4949e092UL,0xd8d8b4abUL,0xacacfa43UL,0xf3f307fdUL,0xcfcf2585UL,0xcacaaf8fUL,0xf4f48ef3UL,0x4747e98eUL,0x10101820UL,0x6f6fd5deUL,0xf0f088fbUL,0x4a4a6f94UL,0x5c5c72b8UL,0x38382470UL,0x5757f1aeUL,0x7373c7e6UL,0x97975135UL,0xcbcb238dUL,0xa1a17c59UL,0xe8e89ccbUL,0x3e3e217cUL,0x9696dd37UL,0x6161dcc2UL,0x0d0d861aUL,0x0f0f851eUL,0xe0e090dbUL,0x7c7c42f8UL,0x7171c4e2UL,0xccccaa83UL,0x9090d83bUL,0x0606050cUL,0xf7f701f5UL,0x1c1c1238UL,0xc2c2a39fUL,0x6a6a5fd4UL,0xaeaef947UL,0x6969d0d2UL,0x1717912eUL,0x99995829UL,0x3a3a2774UL,0x2727b94eUL,0xd9d938a9UL,0xebeb13cdUL,0x2b2bb356UL,0x22223344UL,0xd2d2bbbfUL,0xa9a97049UL,0x0707890eUL,0x3333a766UL,0x2d2db65aUL,0x3c3c2278UL,0x1515922aUL,0xc9c92089UL,0x87874915UL,0xaaaaff4fUL,0x505078a0UL,0xa5a57a51UL,0x03038f06UL,0x5959f8b2UL,0x09098012UL,0x1a1a1734UL,0x6565dacaUL,0xd7d731b5UL,0x8484c613UL,0xd0d0b8bbUL,0x8282c31fUL,0x2929b052UL,0x5a5a77b4UL,0x1e1e113cUL,0x7b7bcbf6UL,0xa8a8fc4bUL,0x6d6dd6daUL,0x2c2c3a58UL,
0xc6a597f4UL,0xf884eb97UL,0xee99c7b0UL,0xf68df78cUL,0xff0de517UL,0xd6bdb7dcUL,0xdeb1a7c8UL,0x915439fcUL,0x6050c0f0UL,0x02030405UL,0xcea987e0UL,0x567dac87UL,0xe719d52bUL,0xb56271a6UL,0x4de69a31UL,0xec9ac3b5UL,0x8f4505cfUL,0x1f9d3ebcUL,0x894009c0UL,0xfa87ef92UL,0xef15c53fUL,0xb2eb7f26UL,0x8ec90740UL,0xfb0bed1dUL,0x41ec822fUL,0xb3677da9UL,0x5ffdbe1cUL,0x45ea8a25UL,0x23bf46daUL,0x53f7a602UL,0xe496d3a1UL,0x9b5b2dedUL,0x75c2ea5dUL,0xe11cd924UL,0x3dae7ae9UL,0x4c6a98beUL,0x6c5ad8eeUL,0x7e41fcc3UL,0xf502f106UL,0x834f1dd1UL,0x685cd0e4UL,0x51f4a207UL,0xd134b95cUL,0xf908e918UL,0xe293dfaeUL,0xab734d95UL,0x6253c4f5UL,0x2a3f5441UL,0x080c1014UL,0x955231f6UL,0x46658cafUL,0x9d5e21e2UL,0x30286078UL,0x37a16ef8UL,0x0a0f1411UL,0x2fb55ec4UL,0x0e091c1bUL,0x2436485aUL,0x1b9b36b6UL,0xdf3da547UL,0xcd26816aUL,0x4e699cbbUL,0x7fcdfe4cUL,0xea9fcfbaUL,0x121b242dUL,0x1d9e3ab9UL,0x5874b09cUL,0x342e6872UL,0x362d6c77UL,0xdcb2a3cdUL,0xb4ee7329UL,0x5bfbb616UL,0xa4f65301UL,0x764decd7UL,0xb76175a3UL,0x7dcefa49UL,0x527ba48dUL,0xdd3ea142UL,0x5e71bc93UL,0x139726a2UL,0xa6f55704UL,0xb96869b8UL,0x00000000UL,0xc12c9974UL,0x406080a0UL,0xe31fdd21UL,0x79c8f243UL,0xb6ed772cUL,0xd4beb3d9UL,0x8d4601caUL,0x67d9ce70UL,0x724be4ddUL,0x94de3379UL,0x98d42b67UL,0xb0e87b23UL,0x854a11deUL,0xbb6b6dbdUL,0xc52a917eUL,0x4fe59e34UL,0xed16c13aUL,0x86c51754UL,0x9ad72f62UL,0x6655ccffUL,0x119422a7UL,0x8acf0f4aUL,0xe910c930UL,0x0406080aUL,0xfe81e798UL,0xa0f05b0bUL,0x7844f0ccUL,0x25ba4ad5UL,0x4be3963eUL,0xa2f35f0eUL,0x5dfeba19UL,0x80c01b5bUL,0x058a0a85UL,0x3fad7eecUL,0x21bc42dfUL,0x7048e0d8UL,0xf104f90cUL,0x63dfc67aUL,0x77c1ee58UL,0xaf75459fUL,0x426384a5UL,0x20304050UL,0xe51ad12eUL,0xfd0ee112UL,0xbf6d65b7UL,0x814c19d4UL,0x1814303cUL,0x26354c5fUL,0xc32f9d71UL,0xbee16738UL,0x35a26afdUL,0x88cc0b4fUL,0x2e395c4bUL,0x93573df9UL,0x55f2aa0dUL,0xfc82e39dUL,0x7a47f4c9UL,0xc8ac8befUL,0xbae76f32UL,0x322b647dUL,0xe695d7a4UL,0xc0a09bfbUL,0x199832b3UL,0x9ed12768UL,0xa37f5d81UL,0x446688aaUL,0x547ea882UL,0x3bab76e6UL,0x0b83169eUL,0x8cca0345UL,0xc729957bUL,0x6bd3d66eUL,0x283c5044UL,0xa779558bUL,0xbce2633dUL,0x161d2c27UL,0xad76419aUL,0xdb3bad4dUL,0x6456c8faUL,0x744ee8d2UL,0x141e2822UL,0x92db3f76UL,0x0c0a181eUL,0x486c90b4UL,0xb8e46b37UL,0x9f5d25e7UL,0xbd6e61b2UL,0x43ef862aUL,0xc4a693f1UL,0x39a872e3UL,0x31a462f7UL,0xd337bd59UL,0xf28bff86UL,0xd532b156UL,0x8b430dc5UL,0x6e59dcebUL,0xdab7afc2UL,0x018c028fUL,0xb16479acUL,0x9cd2236dUL,0x49e0923bUL,0xd8b4abc7UL,0xacfa4315UL,0xf307fd09UL,0xcf25856fUL,0xcaaf8feaUL,0xf48ef389UL,0x47e98e20UL,0x10182028UL,0x6fd5de64UL,0xf088fb83UL,0x4a6f94b1UL,0x5c72b896UL,0x3824706cUL,0x57f1ae08UL,0x73c7e652UL,0x975135f3UL,0xcb238d65UL,0xa17c5984UL,0xe89ccbbfUL,0x3e217c63UL,0x96dd377cUL,0x61dcc27fUL,0x0d861a91UL,0x0f851e94UL,0xe090dbabUL,0x7c42f8c6UL,0x71c4e257UL,0xccaa83e5UL,0x90d83b73UL,0x06050c0fUL,0xf701f503UL,0x1c123836UL,0xc2a39ffeUL,0x6a5fd4e1UL,0xaef94710UL,0x69d0d26bUL,0x17912ea8UL,0x995829e8UL,0x3a277469UL,0x27b94ed0UL,0xd938a948UL,0xeb13cd35UL,0x2bb356ceUL,0x22334455UL,0xd2bbbfd6UL,0xa9704990UL,0x07890e80UL,0x33a766f2UL,0x2db65ac1UL,0x3c227866UL,0x15922aadUL,0xc9208960UL,0x874915dbUL,0xaaff4f1aUL,0x5078a088UL,0xa57a518eUL,0x038f068aUL,0x59f8b213UL,0x0980129bUL,0x1a173439UL,0x65daca75UL,0xd731b553UL,0x84c61351UL,0xd0b8bbd3UL,0x82c31f5eUL,0x29b052cbUL,0x5a77b499UL,0x1e113c33UL,0x7bcbf646UL,0xa8fc4b1fUL,0x6dd6da61UL,0x2c3a584eUL,
0xa597f4a5UL,0x84eb9784UL,0x99c7b099UL,0x8df78c8dUL,0x0de5170dUL,0xbdb7dcbdUL,0xb1a7c8b1UL,0x5439fc54UL,0x50c0f050UL,0x03040503UL,0xa987e0a9UL,0x7dac877dUL,0x19d52b19UL,0x6271a662UL,0xe69a31e6UL,0x9ac3b59aUL,0x4505cf45UL,0x9d3ebc9dUL,0x4009c040UL,0x87ef9287UL,0x15c53f15UL,0xeb7f26ebUL,0xc90740c9UL,0x0bed1d0bUL,0xec822fecUL,0x677da967UL,0xfdbe1cfdUL,0xea8a25eaUL,0xbf46dabfUL,0xf7a602f7UL,0x96d3a196UL,0x5b2ded5bUL,0xc2ea5dc2UL,0x1cd9241cUL,0xae7ae9aeUL,0x6a98be6aUL,0x5ad8ee5aUL,0x41fcc341UL,0x02f10602UL,0x4f1dd14fUL,0x5cd0e45cUL,0xf4a207f4UL,0x34b95c34UL,0x08e91808UL,0x93dfae93UL,0x734d9573UL,0x53c4f553UL,0x3f54413fUL,0x0c10140cUL,0x5231f652UL,0x658caf65UL,0x5e21e25eUL,0x28607828UL,0xa16ef8a1UL,0x0f14110fUL,0xb55ec4b5UL,0x091c1b09UL,0x36485a36UL,0x9b36b69bUL,0x3da5473dUL,0x26816a26UL,0x699cbb69UL,0xcdfe4ccdUL,0x9fcfba9fUL,0x1b242d1bUL,0x9e3ab99eUL,0x74b09c74UL,0x2e68722eUL,0x2d6c772dUL,0xb2a3cdb2UL,0xee7329eeUL,0xfbb616fbUL,0xf65301f6UL,0x4decd74dUL,0x6175a361UL,0xcefa49ceUL,0x7ba48d7bUL,0x3ea1423eUL,0x71bc9371UL,0x9726a297UL,0xf55704f5UL,0x6869b868UL,0x00000000UL,0x2c99742cUL,0x6080a060UL,0x1fdd211fUL,0xc8f243c8UL,0xed772cedUL,0xbeb3d9beUL,0x4601ca46UL,0xd9ce70d9UL,0x4be4dd4bUL,0xde3379deUL,0xd42b67d4UL,0xe87b23e8UL,0x4a11de4aUL,0x6b6dbd6bUL,0x2a917e2aUL,0xe59e34e5UL,0x16c13a16UL,0xc51754c5UL,0xd72f62d7UL,0x55ccff55UL,0x9422a794UL,0xcf0f4acfUL,0x10c93010UL,0x06080a06UL,0x81e79881UL,0xf05b0bf0UL,0x44f0cc44UL,0xba4ad5baUL,0xe3963ee3UL,0xf35f0ef3UL,0xfeba19feUL,0xc01b5bc0UL,0x8a0a858aUL,0xad7eecadUL,0xbc42dfbcUL,0x48e0d848UL,0x04f90c04UL,0xdfc67adfUL,0xc1ee58c1UL,0x75459f75UL,0x6384a563UL,0x30405030UL,0x1ad12e1aUL,0x0ee1120eUL,0x6d65b76dUL,0x4c19d44cUL,0x14303c14UL,0x354c5f35UL,0x2f9d712fUL,0xe16738e1UL,0xa26afda2UL,0xcc0b4fccUL,0x395c4b39UL,0x573df957UL,0xf2aa0df2UL,0x82e39d82UL,0x47f4c947UL,0xac8befacUL,0xe76f32e7UL,0x2b647d2bUL,0x95d7a495UL,0xa09bfba0UL,0x9832b398UL,0xd12768d1UL,0x7f5d817fUL,0x6688aa66UL,0x7ea8827eUL,0xab76e6abUL,0x83169e83UL,0xca0345caUL,0x29957b29UL,0xd3d66ed3UL,0x3c50443cUL,0x79558b79UL,0xe2633de2UL,0x1d2c271dUL,0x76419a76UL,0x3bad4d3bUL,0x56c8fa56UL,0x4ee8d24eUL,0x1e28221eUL,0xdb3f76dbUL,0x0a181e0aUL,0x6c90b46cUL,0xe46b37e4UL,0x5d25e75dUL,0x6e61b26eUL,0xef862aefUL,0xa693f1a6UL,0xa872e3a8UL,0xa462f7a4UL,0x37bd5937UL,0x8bff868bUL,0x32b15632UL,0x430dc543UL,0x59dceb59UL,0xb7afc2b7UL,0x8c028f8cUL,0x6479ac64UL,0xd2236dd2UL,0xe0923be0UL,0xb4abc7b4UL,0xfa4315faUL,0x07fd0907UL,0x25856f25UL,0xaf8feaafUL,0x8ef3898eUL,0xe98e20e9UL,0x18202818UL,0xd5de64d5UL,0x88fb8388UL,0x6f94b16fUL,0x72b89672UL,0x24706c24UL,0xf1ae08f1UL,0xc7e652c7UL,0x5135f351UL,0x238d6523UL,0x7c59847cUL,0x9ccbbf9cUL,0x217c6321UL,0xdd377cddUL,0xdcc27fdcUL,0x861a9186UL,0x851e9485UL,0x90dbab90UL,0x42f8c642UL,0xc4e257c4UL,0xaa83e5aaUL,0xd83b73d8UL,0x050c0f05UL,0x01f50301UL,0x12383612UL,0xa39ffea3UL,0x5fd4e15fUL,0xf94710f9UL,0xd0d26bd0UL,0x912ea891UL,0x5829e858UL,0x27746927UL,0xb94ed0b9UL,0x38a94838UL,0x13cd3513UL,0xb356ceb3UL,0x33445533UL,0xbbbfd6bbUL,0x70499070UL,0x890e8089UL,0xa766f2a7UL,0xb65ac1b6UL,0x22786622UL,0x922aad92UL,0x20896020UL,0x4915db49UL,0xff4f1affUL,0x78a08878UL,0x7a518e7aUL,0x8f068a8fUL,0xf8b213f8UL,0x80129b80UL,0x17343917UL,0xdaca75daUL,0x31b55331UL,0xc61351c6UL,0xb8bbd3b8UL,0xc31f5ec3UL,0xb052cbb0UL,0x77b49977UL,0x113c3311UL,0xcbf646cbUL,0xfc4b1ffcUL,0xd6da61d6UL,0x3a584e3aUL,
0x97f4a5f4UL,0xeb978497UL,0xc7b099b0UL,0xf78c8d8cUL,0xe5170d17UL,0xb7dcbddcUL,0xa7c8b1c8UL,0x39fc54fcUL,0xc0f050f0UL,0x04050305UL,0x87e0a9e0UL,0xac877d87UL,0xd52b192bUL,0x71a662a6UL,0x9a31e631UL,0xc3b59ab5UL,0x05cf45cfUL,0x3ebc9dbcUL,0x09c040c0UL,0xef928792UL,0xc53f153fUL,0x7f26eb26UL,0x0740c940UL,0xed1d0b1dUL,0x822fec2fUL,0x7da967a9UL,0xbe1cfd1cUL,0x8a25ea25UL,0x46dabfdaUL,0xa602f702UL,0xd3a196a1UL,0x2ded5bedUL,0xea5dc25dUL,0xd9241c24UL,0x7ae9aee9UL,0x98be6abeUL,0xd8ee5aeeUL,0xfcc341c3UL,0xf1060206UL,0x1dd14fd1UL,0xd0e45ce4UL,0xa207f407UL,0xb95c345cUL,0xe9180818UL,0xdfae93aeUL,0x4d957395UL,0xc4f553f5UL,0x54413f41UL,0x10140c14UL,0x31f652f6UL,0x8caf65afUL,0x21e25ee2UL,0x60782878UL,0x6ef8a1f8UL,0x14110f11UL,0x5ec4b5c4UL,0x1c1b091bUL,0x485a365aUL,0x36b69bb6UL,0xa5473d47UL,0x816a266aUL,0x9cbb69bbUL,0xfe4ccd4cUL,0xcfba9fbaUL,0x242d1b2dUL,0x3ab99eb9UL,0xb09c749cUL,0x68722e72UL,0x6c772d77UL,0xa3cdb2cdUL,0x7329ee29UL,0xb616fb16UL,0x5301f601UL,0xecd74dd7UL,0x75a361a3UL,0xfa49ce49UL,0xa48d7b8dUL,0xa1423e42UL,0xbc937193UL,0x26a297a2UL,0x5704f504UL,0x69b868b8UL,0x00000000UL,0x99742c74UL,0x80a060a0UL,0xdd211f21UL,0xf243c843UL,0x772ced2cUL,0xb3d9bed9UL,0x01ca46caUL,0xce70d970UL,0xe4dd4bddUL,0x3379de79UL,0x2b67d467UL,0x7b23e823UL,0x11de4adeUL,0x6dbd6bbdUL,0x917e2a7eUL,0x9e34e534UL,0xc13a163aUL,0x1754c554UL,0x2f62d762UL,0xccff55ffUL,0x22a794a7UL,0x0f4acf4aUL,0xc9301030UL,0x080a060aUL,0xe7988198UL,0x5b0bf00bUL,0xf0cc44ccUL,0x4ad5bad5UL,0x963ee33eUL,0x5f0ef30eUL,0xba19fe19UL,0x1b5bc05bUL,0x0a858a85UL,0x7eecadecUL,0x42dfbcdfUL,0xe0d848d8UL,0xf90c040cUL,0xc67adf7aUL,0xee58c158UL,0x459f759fUL,0x84a563a5UL,0x40503050UL,0xd12e1a2eUL,0xe1120e12UL,0x65b76db7UL,0x19d44cd4UL,0x303c143cUL,0x4c5f355fUL,0x9d712f71UL,0x6738e138UL,0x6afda2fdUL,0x0b4fcc4fUL,0x5c4b394bUL,0x3df957f9UL,0xaa0df20dUL,0xe39d829dUL,0xf4c947c9UL,0x8befacefUL,0x6f32e732UL,0x647d2b7dUL,0xd7a495a4UL,0x9bfba0fbUL,0x32b398b3UL,0x2768d168UL,0x5d817f81UL,0x88aa66aaUL,0xa8827e82UL,0x76e6abe6UL,0x169e839eUL,0x0345ca45UL,0x957b297bUL,0xd66ed36eUL,0x50443c44UL,0x558b798bUL,0x633de23dUL,0x2c271d27UL,0x419a769aUL,0xad4d3b4dUL,0xc8fa56faUL,0xe8d24ed2UL,0x28221e22UL,0x3f76db76UL,0x181e0a1eUL,0x90b46cb4UL,0x6b37e437UL,0x25e75de7UL,0x61b26eb2UL,0x862aef2aUL,0x93f1a6f1UL,0x72e3a8e3UL,0x62f7a4f7UL,0xbd593759UL,0xff868b86UL,0xb1563256UL,0x0dc543c5UL,0xdceb59ebUL,0xafc2b7c2UL,0x028f8c8fUL,0x79ac64acUL,0x236dd26dUL,0x923be03bUL,0xabc7b4c7UL,0x4315fa15UL,0xfd090709UL,0x856f256fUL,0x8feaafeaUL,0xf3898e89UL,0x8e20e920UL,0x20281828UL,0xde64d564UL,0xfb838883UL,0x94b16fb1UL,0xb8967296UL,0x706c246cUL,0xae08f108UL,0xe652c752UL,0x35f351f3UL,0x8d652365UL,0x59847c84UL,0xcbbf9cbfUL,0x7c632163UL,0x377cdd7cUL,0xc27fdc7fUL,0x1a918691UL,0x1e948594UL,0xdbab90abUL,0xf8c642c6UL,0xe257c457UL,0x83e5aae5UL,0x3b73d873UL,0x0c0f050fUL,0xf5030103UL,0x38361236UL,0x9ffea3feUL,0xd4e15fe1UL,0x4710f910UL,0xd26bd06bUL,0x2ea891a8UL,0x29e858e8UL,0x74692769UL,0x4ed0b9d0UL,0xa9483848UL,0xcd351335UL,0x56ceb3ceUL,0x44553355UL,0xbfd6bbd6UL,0x49907090UL,0x0e808980UL,0x66f2a7f2UL,0x5ac1b6c1UL,0x78662266UL,0x2aad92adUL,0x89602060UL,0x15db49dbUL,0x4f1aff1aUL,0xa0887888UL,0x518e7a8eUL,0x068a8f8aUL,0xb213f813UL,0x129b809bUL,0x34391739UL,0xca75da75UL,0xb5533153UL,0x1351c651UL,0xbbd3b8d3UL,0x1f5ec35eUL,0x52cbb0cbUL,0xb4997799UL,0x3c331133UL,0xf646cb46UL,0x4b1ffc1fUL,0xda61d661UL,0x584e3a4eUL,
0xf4a5f432UL,0x9784976fUL,0xb099b05eUL,0x8c8d8c7aUL,0x170d17e8UL,0xdcbddc0aUL,0xc8b1c816UL,0xfc54fc6dUL,0xf050f090UL,0x05030507UL,0xe0a9e02eUL,0x877d87d1UL,0x2b192bccUL,0xa662a613UL,0x31e6317cUL,0xb59ab559UL,0xcf45cf40UL,0xbc9dbca3UL,0xc040c049UL,0x92879268UL,0x3f153fd0UL,0x26eb2694UL,0x40c940ceUL,0x1d0b1de6UL,0x2fec2f6eUL,0xa967a91aUL,0x1cfd1c43UL,0x25ea2560UL,0xdabfdaf9UL,0x02f70251UL,0xa196a145UL,0xed5bed76UL,0x5dc25d28UL,0x241c24c5UL,0xe9aee9d4UL,0xbe6abef2UL,0xee5aee82UL,0xc341c3bdUL,0x060206f3UL,0xd14fd152UL,0xe45ce48cUL,0x07f40756UL,0x5c345c8dUL,0x180818e1UL,0xae93ae4cUL,0x9573953eUL,0xf553f597UL,0x413f416bUL,0x140c141cUL,0xf652f663UL,0xaf65afe9UL,0xe25ee27fUL,0x78287848UL,0xf8a1f8cfUL,0x110f111bUL,0xc4b5c4ebUL,0x1b091b15UL,0x5a365a7eUL,0xb69bb6adUL,0x473d4798UL,0x6a266aa7UL,0xbb69bbf5UL,0x4ccd4c33UL,0xba9fba50UL,0x2d1b2d3fUL,0xb99eb9a4UL,0x9c749cc4UL,0x722e7246UL,0x772d7741UL,0xcdb2cd11UL,0x29ee299dUL,0x16fb164dUL,0x01f601a5UL,0xd74dd7a1UL,0xa361a314UL,0x49ce4934UL,0x8d7b8ddfUL,0x423e429fUL,0x937193cdUL,0xa297a2b1UL,0x04f504a2UL,0xb868b801UL,0x00000000UL,0x742c74b5UL,0xa060a0e0UL,0x211f21c2UL,0x43c8433aUL,0x2ced2c9aUL,0xd9bed90dUL,0xca46ca47UL,0x70d97017UL,0xdd4bddafUL,0x79de79edUL,0x67d467ffUL,0x23e82393UL,0xde4ade5bUL,0xbd6bbd06UL,0x7e2a7ebbUL,0x34e5347bUL,0x3a163ad7UL,0x54c554d2UL,0x62d762f8UL,0xff55ff99UL,0xa794a7b6UL,0x4acf4ac0UL,0x301030d9UL,0x0a060a0eUL,0x98819866UL,0x0bf00babUL,0xcc44ccb4UL,0xd5bad5f0UL,0x3ee33e75UL,0x0ef30eacUL,0x19fe1944UL,0x5bc05bdbUL,0x858a8580UL,0xecadecd3UL,0xdfbcdffeUL,0xd848d8a8UL,0x0c040cfdUL,0x7adf7a19UL,0x58c1582fUL,0x9f759f30UL,0xa563a5e7UL,0x50305070UL,0x2e1a2ecbUL,0x120e12efUL,0xb76db708UL,0xd44cd455UL,0x3c143c24UL,0x5f355f79UL,0x712f71b2UL,0x38e13886UL,0xfda2fdc8UL,0x4fcc4fc7UL,0x4b394b65UL,0xf957f96aUL,0x0df20d58UL,0x9d829d61UL,0xc947c9b3UL,0xefacef27UL,0x32e73288UL,0x7d2b7d4fUL,0xa495a442UL,0xfba0fb3bUL,0xb398b3aaUL,0x68d168f6UL,0x817f8122UL,0xaa66aaeeUL,0x827e82d6UL,0xe6abe6ddUL,0x9e839e95UL,0x45ca45c9UL,0x7b297bbcUL,0x6ed36e05UL,0x443c446cUL,0x8b798b2cUL,0x3de23d81UL,0x271d2731UL,0x9a769a37UL,0x4d3b4d96UL,0xfa56fa9eUL,0xd24ed2a6UL,0x221e2236UL,0x76db76e4UL,0x1e0a1e12UL,0xb46cb4fcUL,0x37e4378fUL,0xe75de778UL,0xb26eb20fUL,0x2aef2a69UL,0xf1a6f135UL,0xe3a8e3daUL,0xf7a4f7c6UL,0x5937598aUL,0x868b8674UL,0x56325683UL,0xc543c54eUL,0xeb59eb85UL,0xc2b7c218UL,0x8f8c8f8eUL,0xac64ac1dUL,0x6dd26df1UL,0x3be03b72UL,0xc7b4c71fUL,0x15fa15b9UL,0x090709faUL,0x6f256fa0UL,0xeaafea20UL,0x898e897dUL,0x20e92067UL,0x28182838UL,0x64d5640bUL,0x83888373UL,0xb16fb1fbUL,0x967296caUL,0x6c246c54UL,0x08f1085fUL,0x52c75221UL,0xf351f364UL,0x652365aeUL,0x847c8425UL,0xbf9cbf57UL,0x6321635dUL,0x7cdd7ceaUL,0x7fdc7f1eUL,0x9186919cUL,0x9485949bUL,0xab90ab4bUL,0xc642c6baUL,0x57c45726UL,0xe5aae529UL,0x73d873e3UL,0x0f050f09UL,0x030103f4UL,0x3612362aUL,0xfea3fe3cUL,0xe15fe18bUL,0x10f910beUL,0x6bd06b02UL,0xa891a8bfUL,0xe858e871UL,0x69276953UL,0xd0b9d0f7UL,0x48384891UL,0x351335deUL,0xceb3cee5UL,0x55335577UL,0xd6bbd604UL,0x90709039UL,0x80898087UL,0xf2a7f2c1UL,0xc1b6c1ecUL,0x6622665aUL,0xad92adb8UL,0x602060a9UL,0xdb49db5cUL,0x1aff1ab0UL,0x887888d8UL,0x8e7a8e2bUL,0x8a8f8a89UL,0x13f8134aUL,0x9b809b92UL,0x39173923UL,0x75da7510UL,0x53315384UL,0x51c651d5UL,0xd3b8d303UL,0x5ec35edcUL,0xcbb0cbe2UL,0x997799c3UL,0x3311332dUL,0x46cb463dUL,0x1ffc1fb7UL,0x61d6610cUL,0x4e3a4e62UL
};

LOCAL UINT32 groestl_T_local[256*8];
const UINT32 LOCAL *groestl_T0 = &groestl_T_local[0 * 256];
const UINT32 LOCAL *groestl_T1 = &groestl_T_local[1 * 256];
const UINT32 LOCAL *groestl_T2 = &groestl_T_local[2 * 256];
const UINT32 LOCAL *groestl_T3 = &groestl_T_local[3 * 256];
const UINT32 LOCAL *groestl_T4 = &groestl_T_local[4 * 256];
const UINT32 LOCAL *groestl_T5 = &groestl_T_local[5 * 256];
const UINT32 LOCAL *groestl_T6 = &groestl_T_local[6 * 256];
const UINT32 LOCAL *groestl_T7 = &groestl_T_local[7 * 256];

UINT32 nLocalId = LOCALID;
{
for(i = 0; i < 256 * 8; i += WORKSIZE)
groestl_T_local[i + nLocalId ] = groestl_T_init[i + nLocalId];
}

// body
groestl_BuffC[16] = hash[16] = 0x80;
groestl_BuffC[17] = hash[17] = 0;
groestl_BuffC[18] = hash[18] = 0;
groestl_BuffC[19] = hash[19] = 0;
groestl_BuffC[20] = hash[20] = 0;
groestl_BuffC[21] = hash[21] = 0;
groestl_BuffC[22] = hash[22] = 0;
groestl_BuffC[23] = hash[23] = 0;
groestl_BuffC[24] = hash[24] = 0;
groestl_BuffC[25] = hash[25] = 0;
groestl_BuffC[26] = hash[26] = 0;
groestl_BuffC[27] = hash[27] = 0;
groestl_BuffC[28] = hash[28] = 0;
groestl_BuffC[29] = hash[29] = 0;
groestl_BuffC[30] = hash[30] = 0;
hash[31] = 0x01000000;
groestl_BuffC[31] = 0x01020000L;

#pragma unroll 16
for (groestl_i = 0; groestl_i < 16; groestl_i++)
{
groestl_BuffC[groestl_i] = hash[groestl_i];
}

for(groestl_i=0; groestl_i < 0x0d000000u; groestl_i+=0x01000000u)
{
groestl_QMIX(hash, groestl_BuffB, groestl_i)
groestl_i+=0x01000000u;
groestl_QMIX(groestl_BuffB, hash, groestl_i)
}

for(groestl_i=0; groestl_i<13; ++groestl_i)
{
groestl_PMIX(groestl_BuffC, groestl_BuffB, groestl_i)
++groestl_i;
groestl_PMIX(groestl_BuffB, groestl_BuffC, groestl_i)
}

#pragma unroll 32
for(groestl_i = 0; groestl_i < 32-1; groestl_i++)
{
hash[groestl_i] ^= groestl_BuffC[groestl_i];
groestl_BuffB[groestl_i] = hash[groestl_i];
}
hash[31] ^= 0x00020000UL ^ groestl_BuffC[31];
groestl_BuffB[31] = hash[31];

for(groestl_i = 0; groestl_i < 14;)
{
groestl_PMIX(groestl_BuffB, groestl_BuffC, groestl_i)
++groestl_i;
groestl_PMIX(groestl_BuffC, groestl_BuffB, groestl_i)
++groestl_i;
}

#pragma unroll 16
for(groestl_i = 0; groestl_i < 16; ++groestl_i)
{
hash[groestl_i] = groestl_BuffB[16+groestl_i] ^ hash[16+groestl_i];
}



Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:42:53 AM
 #304

skein
Code:
	skein_p[0] = hash64[0];
skein_p[1] = hash64[1];
skein_p[2] = hash64[2];
skein_p[3] = hash64[3];
skein_p[4] = hash64[4];
skein_p[5] = hash64[5];
skein_p[6] = hash64[6];
skein_p[7] = hash64[7];

skein_p[0] += 0x4903ADFF749C51CEULL;
skein_p[1] += 0x0D95DE399746DF03ULL;
skein_p[2] += 0x8FD1934127C79BCEULL;
skein_p[3] += 0x9A255629FF352CB1ULL;
skein_p[4] += 0x5DB62599DF6CA7B0ULL;
skein_p[5] += 0xEABE394CA9D5C434ULL;
skein_p[6] += 0x891112C71A75B523ULL;
skein_p[7] += 0xAE18A40B660FCC33ULL;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x0D95DE399746DF03ULL;
skein_p[1] += 0x8FD1934127C79BCEULL;
skein_p[2] += 0x9A255629FF352CB1ULL;
skein_p[3] += 0x5DB62599DF6CA7B0ULL;
skein_p[4] += 0xEABE394CA9D5C3F4ULL;
skein_p[5] += 0x891112C71A75B523ULL;
skein_p[6] += 0x9E18A40B660FCC73ULL;
skein_p[7] += 0xcab2076d98173ec4ULL + (UINT64) 1;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x8FD1934127C79BCEULL;
skein_p[1] += 0x9A255629FF352CB1ULL;
skein_p[2] += 0x5DB62599DF6CA7B0ULL;
skein_p[3] += 0xEABE394CA9D5C3F4ULL;
skein_p[4] += 0x991112C71A75B523ULL;
skein_p[5] += 0x9E18A40B660FCC73ULL;
skein_p[6] += 0xCAB2076D98173F04ULL;
skein_p[7] += 0x4903ADFF749C51D0ULL;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x9A255629FF352CB1ULL;
skein_p[1] += 0x5DB62599DF6CA7B0ULL;
skein_p[2] += 0xEABE394CA9D5C3F4ULL;
skein_p[3] += 0x991112C71A75B523ULL;
skein_p[4] += 0xAE18A40B660FCC33ULL;
skein_p[5] += 0xcab2076d98173f04ULL;
skein_p[6] += 0x3903ADFF749C51CEULL;
skein_p[7] += 0x0D95DE399746DF03ULL + (UINT64) 3;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x5DB62599DF6CA7B0ULL;
skein_p[1] += 0xEABE394CA9D5C3F4ULL;
skein_p[2] += 0x991112C71A75B523ULL;
skein_p[3] += 0xAE18A40B660FCC33ULL;
skein_p[4] += 0xcab2076d98173ec4ULL;
skein_p[5] += 0x3903ADFF749C51CEULL;
skein_p[6] += 0xFD95DE399746DF43ULL;
skein_p[7] += 0x8FD1934127C79BD2ULL;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0xEABE394CA9D5C3F4ULL;
skein_p[1] += 0x991112C71A75B523ULL;
skein_p[2] += 0xAE18A40B660FCC33ULL;
skein_p[3] += 0xcab2076d98173ec4ULL;
skein_p[4] += 0x4903ADFF749C51CEULL;
skein_p[5] += 0x0D95DE399746DF03ULL + 0xf000000000000040ULL;
skein_p[6] += 0x8FD1934127C79BCEULL + 0x0000000000000040ULL;
skein_p[7] += 0x9A255629FF352CB1ULL + (UINT64) 5;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x991112C71A75B523ULL;
skein_p[1] += 0xAE18A40B660FCC33ULL;
skein_p[2] += 0xcab2076d98173ec4ULL;
skein_p[3] += 0x4903ADFF749C51CEULL;
skein_p[4] += 0x0D95DE399746DF03ULL;
skein_p[5] += 0x8FD1934127C79BCEULL + 0x0000000000000040ULL;
skein_p[6] += 0x8A255629FF352CB1ULL;
skein_p[7] += 0x5DB62599DF6CA7B0ULL + (UINT64) 6;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0xAE18A40B660FCC33ULL;
skein_p[1] += 0xcab2076d98173ec4ULL;
skein_p[2] += 0x4903ADFF749C51CEULL;
skein_p[3] += 0x0D95DE399746DF03ULL;
skein_p[4] += 0x8FD1934127C79BCEULL;
skein_p[5] += 0x8A255629FF352CB1ULL;
skein_p[6] += 0x4DB62599DF6CA7F0ULL;
skein_p[7] += 0xEABE394CA9D5C3F4ULL + (UINT64) 7;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0xcab2076d98173ec4ULL;
skein_p[1] += 0x4903ADFF749C51CEULL;
skein_p[2] += 0x0D95DE399746DF03ULL;
skein_p[3] += 0x8FD1934127C79BCEULL;
skein_p[4] += 0x9A255629FF352CB1ULL;
skein_p[5] += 0x4DB62599DF6CA7F0ULL;
skein_p[6] += 0xEABE394CA9D5C434ULL;
skein_p[7] += 0x991112C71A75B52BULL;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x4903ADFF749C51CEULL;
skein_p[1] += 0x0D95DE399746DF03ULL;
skein_p[2] += 0x8FD1934127C79BCEULL;
skein_p[3] += 0x9A255629FF352CB1ULL;
skein_p[4] += 0x5DB62599DF6CA7B0ULL;
skein_p[5] += 0xEABE394CA9D5C434ULL;
skein_p[6] += 0x891112C71A75B523ULL;
skein_p[7] += 0xAE18A40B660FCC33ULL + (UINT64) 9;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x0D95DE399746DF03ULL;
skein_p[1] += 0x8FD1934127C79BCEULL;
skein_p[2] += 0x9A255629FF352CB1ULL;
skein_p[3] += 0x5DB62599DF6CA7B0ULL;
skein_p[4] += 0xEABE394CA9D5C3F4ULL;
skein_p[5] += 0x891112C71A75B523ULL;
skein_p[6] += 0x9E18A40B660FCC73ULL;
skein_p[7] += 0xcab2076d98173eceULL;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x8FD1934127C79BCEULL;
skein_p[1] += 0x9A255629FF352CB1ULL;
skein_p[2] += 0x5DB62599DF6CA7B0ULL;
skein_p[3] += 0xEABE394CA9D5C3F4ULL;
skein_p[4] += 0x991112C71A75B523ULL;
skein_p[5] += 0x9E18A40B660FCC73ULL;
skein_p[6] += 0xcab2076d98173ec4ULL + 0x0000000000000040ULL;
skein_p[7] += 0x4903ADFF749C51CEULL + (UINT64)11;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x9A255629FF352CB1ULL;
skein_p[1] += 0x5DB62599DF6CA7B0ULL;
skein_p[2] += 0xEABE394CA9D5C3F4ULL;
skein_p[3] += 0x991112C71A75B523ULL;
skein_p[4] += 0xAE18A40B660FCC33ULL;
skein_p[5] += 0xcab2076d98173ec4ULL + 0x0000000000000040ULL;
skein_p[6] += 0x3903ADFF749C51CEULL;
skein_p[7] += 0x0D95DE399746DF03ULL + (UINT64)12;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x5DB62599DF6CA7B0ULL;
skein_p[1] += 0xEABE394CA9D5C3F4ULL;
skein_p[2] += 0x991112C71A75B523ULL;
skein_p[3] += 0xAE18A40B660FCC33ULL;
skein_p[4] += 0xcab2076d98173ec4ULL;
skein_p[5] += 0x3903ADFF749C51CEULL;
skein_p[6] += 0x0D95DE399746DF03ULL + 0xf000000000000040ULL;
skein_p[7] += 0x8FD1934127C79BCEULL + (UINT64)13;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0xEABE394CA9D5C3F4ULL;
skein_p[1] += 0x991112C71A75B523ULL;
skein_p[2] += 0xAE18A40B660FCC33ULL;
skein_p[3] += 0xcab2076d98173ec4ULL;
skein_p[4] += 0x4903ADFF749C51CEULL;
skein_p[5] += 0x0D95DE399746DF03ULL + 0xf000000000000040ULL;
skein_p[6] += 0x8FD1934127C79BCEULL + 0x0000000000000040ULL;
skein_p[7] += 0x9A255629FF352CB1ULL + (UINT64)14;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0x991112C71A75B523ULL;
skein_p[1] += 0xAE18A40B660FCC33ULL;
skein_p[2] += 0xcab2076d98173ec4ULL;
skein_p[3] += 0x4903ADFF749C51CEULL;
skein_p[4] += 0x0D95DE399746DF03ULL;
skein_p[5] += 0x8FD1934127C79BCEULL + 0x0000000000000040ULL;
skein_p[6] += 0x8A255629FF352CB1ULL;
skein_p[7] += 0x5DB62599DF6CA7B0ULL + (UINT64)15;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0xAE18A40B660FCC33ULL;
skein_p[1] += 0xcab2076d98173ec4ULL;
skein_p[2] += 0x4903ADFF749C51CEULL;
skein_p[3] += 0x0D95DE399746DF03ULL;
skein_p[4] += 0x8FD1934127C79BCEULL;
skein_p[5] += 0x8A255629FF352CB1ULL;
skein_p[6] += 0x4DB62599DF6CA7F0ULL;
skein_p[7] += 0xEABE394CA9D5C3F4ULL + (UINT64)16;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 46) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 36) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 19) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 37) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 33) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 27) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 14) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 42) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 17) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 49) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 36) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 39) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 44) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7],  9) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 54) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 56) ^ skein_p[4];
skein_p[0] += 0xcab2076d98173ec4ULL;
skein_p[1] += 0x4903ADFF749C51CEULL;
skein_p[2] += 0x0D95DE399746DF03ULL;
skein_p[3] += 0x8FD1934127C79BCEULL;
skein_p[4] += 0x9A255629FF352CB1ULL;
skein_p[5] += 0x4DB62599DF6CA7F0ULL;
skein_p[6] += 0xEABE394CA9D5C3F4ULL + 0x0000000000000040ULL;
skein_p[7] += 0x991112C71A75B523ULL + (UINT64)17;
skein_p[0] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 39) ^ skein_p[0];
skein_p[2] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 30) ^ skein_p[2];
skein_p[4] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 34) ^ skein_p[4];
skein_p[6] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 24) ^ skein_p[6];
skein_p[2] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 13) ^ skein_p[2];
skein_p[4] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 50) ^ skein_p[4];
skein_p[6] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 10) ^ skein_p[6];
skein_p[0] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 17) ^ skein_p[0];
skein_p[4] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1], 25) ^ skein_p[4];
skein_p[6] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 29) ^ skein_p[6];
skein_p[0] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 39) ^ skein_p[0];
skein_p[2] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 43) ^ skein_p[2];
skein_p[6] += skein_p[1];
skein_p[1] = ROTL64(skein_p[1],  8) ^ skein_p[6];
skein_p[0] += skein_p[7];
skein_p[7] = ROTL64(skein_p[7], 35) ^ skein_p[0];
skein_p[2] += skein_p[5];
skein_p[5] = ROTL64(skein_p[5], 56) ^ skein_p[2];
skein_p[4] += skein_p[3];
skein_p[3] = ROTL64(skein_p[3], 22) ^ skein_p[4];
skein_p[0] += 0x4903ADFF749C51CEULL;
skein_p[1] += 0x0D95DE399746DF03ULL;
skein_p[2] += 0x8FD1934127C79BCEULL;
skein_p[3] += 0x9A255629FF352CB1ULL;
skein_p[4] += 0x5DB62599DF6CA7B0ULL;
skein_p[5] += 0xEABE394CA9D5C3F4ULL + 0x0000000000000040ULL;
skein_p[6] += 0x891112C71A75B523ULL;
skein_p[7] += 0xAE18A40B660FCC33ULL + (UINT64)18;

#define h0 skein_p[0]
#define h1 skein_p[1]
#define h2 skein_p[2]
#define h3 skein_p[3]
#define h4 skein_p[4]
#define h5 skein_p[5]
#define h6 skein_p[6]
#define h7 skein_p[7]
h0 ^= hash64[0];
h1 ^= hash64[1];
h2 ^= hash64[2];
h3 ^= hash64[3];
h4 ^= hash64[4];
h5 ^= hash64[5];
h6 ^= hash64[6];
h7 ^= hash64[7];

hash64[0] = 0;
hash64[1] = 0;
hash64[2] = 0;
hash64[3] = 0;
hash64[4] = 0;
hash64[5] = 0;
hash64[6] = 0;
hash64[7] = 0;

skein_h8 = h0 ^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^ h7 ^ 0x1BD11BDAA9FC1A22ULL;

hash64[0] = (hash64[0] + h0);
hash64[1] = (hash64[1] + h1);
hash64[2] = (hash64[2] + h2);
hash64[3] = (hash64[3] + h3);
hash64[4] = (hash64[4] + h4);
hash64[5] = (hash64[5] + h5 + 8ULL);
hash64[6] = (hash64[6] + h6 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h7 + (UINT64)0);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h1);
hash64[1] = (hash64[1] + h2);
hash64[2] = (hash64[2] + h3);
hash64[3] = (hash64[3] + h4);
hash64[4] = (hash64[4] + h5);
hash64[5] = (hash64[5] + h6 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h7 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + skein_h8 + (UINT64)1);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h2);
hash64[1] = (hash64[1] + h3);
hash64[2] = (hash64[2] + h4);
hash64[3] = (hash64[3] + h5);
hash64[4] = (hash64[4] + h6);
hash64[5] = (hash64[5] + h7 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + skein_h8 + 8ULL);
hash64[7] = (hash64[7] + h0 + (UINT64)2);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h3);
hash64[1] = (hash64[1] + h4);
hash64[2] = (hash64[2] + h5);
hash64[3] = (hash64[3] + h6);
hash64[4] = (hash64[4] + h7);
hash64[5] = (hash64[5] + skein_h8 + 8ULL);
hash64[6] = (hash64[6] + h0 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h1 + (UINT64)3);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h4);
hash64[1] = (hash64[1] + h5);
hash64[2] = (hash64[2] + h6);
hash64[3] = (hash64[3] + h7);
hash64[4] = (hash64[4] + skein_h8);
hash64[5] = (hash64[5] + h0 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h1 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + h2 + (UINT64)4);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h5);
hash64[1] = (hash64[1] + h6);
hash64[2] = (hash64[2] + h7);
hash64[3] = (hash64[3] + skein_h8);
hash64[4] = (hash64[4] + h0);
hash64[5] = (hash64[5] + h1 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + h2 + 8ULL);
hash64[7] = (hash64[7] + h3 + (UINT64)5);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h6);
hash64[1] = (hash64[1] + h7);
hash64[2] = (hash64[2] + skein_h8);
hash64[3] = (hash64[3] + h0);
hash64[4] = (hash64[4] + h1);
hash64[5] = (hash64[5] + h2 + 8ULL);
hash64[6] = (hash64[6] + h3 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h4 + (UINT64)6);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h7);
hash64[1] = (hash64[1] + skein_h8);
hash64[2] = (hash64[2] + h0);
hash64[3] = (hash64[3] + h1);
hash64[4] = (hash64[4] + h2);
hash64[5] = (hash64[5] + h3 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h4 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + h5 + (UINT64)7);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + skein_h8);
hash64[1] = (hash64[1] + h0);
hash64[2] = (hash64[2] + h1);
hash64[3] = (hash64[3] + h2);
hash64[4] = (hash64[4] + h3);
hash64[5] = (hash64[5] + h4 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + h5 + 8ULL);
hash64[7] = (hash64[7] + h6 + (UINT64)8);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h0);
hash64[1] = (hash64[1] + h1);
hash64[2] = (hash64[2] + h2);
hash64[3] = (hash64[3] + h3);
hash64[4] = (hash64[4] + h4);
hash64[5] = (hash64[5] + h5 + 8ULL);
hash64[6] = (hash64[6] + h6 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h7 + (UINT64)9);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];

hash64[0] = (hash64[0] + h1);
hash64[1] = (hash64[1] + h2);
hash64[2] = (hash64[2] + h3);
hash64[3] = (hash64[3] + h4);
hash64[4] = (hash64[4] + h5);
hash64[5] = (hash64[5] + h6 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h7 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + skein_h8 + (UINT64)10);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h2);
hash64[1] = (hash64[1] + h3);
hash64[2] = (hash64[2] + h4);
hash64[3] = (hash64[3] + h5);
hash64[4] = (hash64[4] + h6);
hash64[5] = (hash64[5] + h7 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + skein_h8 + 8ULL);
hash64[7] = (hash64[7] + h0 + (UINT64)11);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h3);
hash64[1] = (hash64[1] + h4);
hash64[2] = (hash64[2] + h5);
hash64[3] = (hash64[3] + h6);
hash64[4] = (hash64[4] + h7);
hash64[5] = (hash64[5] + skein_h8 + 8ULL);
hash64[6] = (hash64[6] + h0 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h1 + (UINT64)12);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h4);
hash64[1] = (hash64[1] + h5);
hash64[2] = (hash64[2] + h6);
hash64[3] = (hash64[3] + h7);
hash64[4] = (hash64[4] + skein_h8);
hash64[5] = (hash64[5] + h0 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h1 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + h2 + (UINT64)13);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h5);
hash64[1] = (hash64[1] + h6);
hash64[2] = (hash64[2] + h7);
hash64[3] = (hash64[3] + skein_h8);
hash64[4] = (hash64[4] + h0);
hash64[5] = (hash64[5] + h1 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + h2 + 8ULL);
hash64[7] = (hash64[7] + h3 + (UINT64)14);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + h6);
hash64[1] = (hash64[1] + h7);
hash64[2] = (hash64[2] + skein_h8);
hash64[3] = (hash64[3] + h0);
hash64[4] = (hash64[4] + h1);
hash64[5] = (hash64[5] + h2 + 8ULL);
hash64[6] = (hash64[6] + h3 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h4 + (UINT64)15);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];
hash64[0] = (hash64[0] + h7);
hash64[1] = (hash64[1] + skein_h8);
hash64[2] = (hash64[2] + h0);
hash64[3] = (hash64[3] + h1);
hash64[4] = (hash64[4] + h2);
hash64[5] = (hash64[5] + h3 + 0xff00000000000000ULL);
hash64[6] = (hash64[6] + h4 + 0xff00000000000008ULL);
hash64[7] = (hash64[7] + h5 + (UINT64)16);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 46) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 36) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 19) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 37) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 33) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 27) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 14) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 42) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 17) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 49) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 36) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 39) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 44) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 9) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 54) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 56) ^ hash64[4];
hash64[0] = (hash64[0] + skein_h8);
hash64[1] = (hash64[1] + h0);
hash64[2] = (hash64[2] + h1);
hash64[3] = (hash64[3] + h2);
hash64[4] = (hash64[4] + h3);
hash64[5] = (hash64[5] + h4 + 0xff00000000000008ULL);
hash64[6] = (hash64[6] + h5 + 8ULL);
hash64[7] = (hash64[7] + h6 + (UINT64)17);
hash64[0] += hash64[1];
hash64[1] = ROTL64(hash64[1], 39) ^ hash64[0];
hash64[2] += hash64[3];
hash64[3] = ROTL64(hash64[3], 30) ^ hash64[2];
hash64[4] += hash64[5];
hash64[5] = ROTL64(hash64[5], 34) ^ hash64[4];
hash64[6] += hash64[7];
hash64[7] = ROTL64(hash64[7], 24) ^ hash64[6];
hash64[2] += hash64[1];
hash64[1] = ROTL64(hash64[1], 13) ^ hash64[2];
hash64[4] += hash64[7];
hash64[7] = ROTL64(hash64[7], 50) ^ hash64[4];
hash64[6] += hash64[5];
hash64[5] = ROTL64(hash64[5], 10) ^ hash64[6];
hash64[0] += hash64[3];
hash64[3] = ROTL64(hash64[3], 17) ^ hash64[0];
hash64[4] += hash64[1];
hash64[1] = ROTL64(hash64[1], 25) ^ hash64[4];
hash64[6] += hash64[3];
hash64[3] = ROTL64(hash64[3], 29) ^ hash64[6];
hash64[0] += hash64[5];
hash64[5] = ROTL64(hash64[5], 39) ^ hash64[0];
hash64[2] += hash64[7];
hash64[7] = ROTL64(hash64[7], 43) ^ hash64[2];
hash64[6] += hash64[1];
hash64[1] = ROTL64(hash64[1], 8) ^ hash64[6];
hash64[0] += hash64[7];
hash64[7] = ROTL64(hash64[7], 35) ^ hash64[0];
hash64[2] += hash64[5];
hash64[5] = ROTL64(hash64[5], 56) ^ hash64[2];
hash64[4] += hash64[3];
hash64[3] = ROTL64(hash64[3], 22) ^ hash64[4];

hash64[0] = (hash64[0] + h0);
hash64[1] = (hash64[1] + h1);
hash64[2] = (hash64[2] + h2);
hash64[3] = (hash64[3] + h3);
hash64[4] = (hash64[4] + h4);
hash64[5] = (hash64[5] + h5 + 8ULL);
hash64[6] = (hash64[6] + h6 + 0xff00000000000000ULL);
hash64[7] = (hash64[7] + h7 + (UINT64)18);

#undef h0
#undef h1
#undef h2
#undef h3
#undef h4
#undef h5
#undef h6
#undef h7

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:47:45 AM
 #305

keccak

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
October 22, 2014, 01:53:30 AM
 #306

JH
part 1
part 2
part 3

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 12, 2015, 04:58:34 AM
 #307

Archiving old announcement
I finally got rid from the last pieces of GPL'ed code in my own miner and can now release it to the public. This miner is not free, a royalty of 1/8 (12.5%) is deducted from every mined block. (Coinbase transaction have 2 outputs, so I get my fee at exactly the same moment you'll get your coins).

Download link:https://mega.co.nz/#!QMMEFBYY!AgH4OGrKaRHkRjiVfVXXzxBHbTIlgdD5o3ak2VFuU78

Edit quarkcoin.conf (or Offering.conf, or securecoin.conf) file of your wallet to enable solo-mining, put your own username and password there:
listen=1
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
rpcport=8772
server=1

Edit sm.cmd from downloaded archive, put your own username, password and wallet address there:
smelter -o http://127.0.0.1:8772 -u username -p password -a QNiGvoYctyMwzV1ZjNbjhEoKdQVzFKsmVw

This is pre-alpha software, expect all kinds of bugs to be found, don't hesitate to report it here!
NVidia and old/rare AMD cards are not supported. Please, give me some time to iron out bugs Smiley

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 12, 2015, 05:08:53 AM
 #308

New public version, now it's Smelter for WhirlpoolX. Closed-sourced, buggy as hell, Windows-only, Tahiti (R9 280x) only, Stratum-only - but free.

Of course I gave you bad advice. Good one is way out of your price range.
grizscom
Sr. Member
****
Offline Offline

Activity: 245
Merit: 256


View Profile WWW
April 12, 2015, 05:14:23 AM
 #309

And what is about  linux version?

http://ethereumpool.co/ - Stable, fair & transparent Ethereum mining pool
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 12, 2015, 05:17:27 AM
 #310

And what is about  linux version?
I'm going to release it, but later. Paranoid about "modified build process" clause in one of licenses in the toolchain, so it's time to try LLVM.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 14, 2015, 10:50:58 AM
Last edit: April 14, 2015, 11:09:42 AM by smolen
 #311

Getting Stratum work. Nicehash changes work and rises difficulty from 1/256 to 10.24, couple of stale shares slip to the server. The right thing to do is to follow protocol specification and start enforcing new work and difficulty only after mining.notify, but at such rates server may ban miner.

Code:
1:0 A:1464 R:22 HW:0 Speed: 519.26MH/s 5s: 519.67MH/s
STRATUM: mining.set_extranonce: new ExtraNonce1=48001aa4eb new size of ExtraNonce2=3
STRATUM: mining.set_difficulty: 0.003906
STRATUM: mining.notify
1:0 A:1566 R:22 HW:0 Speed: 519.26MH/s 5s: 520.09MH/s
1:0 A:1734 R:22 HW:0 Speed: 519.27MH/s 5s: 520.30MH/s
STRATUM: mining.set_extranonce: new ExtraNonce1=77ff7c94a8 new size of ExtraNonce2=3
STRATUM: mining.set_difficulty: 10.24
STRATUM: mining.notify
STRATUM: Share rejected (Error code 21, Job not found.)
STRATUM: Share rejected (Error code 21, Job not found.)
STRATUM: Share rejected (Error code 21, Job not found.)
1:0 A:1735 R:25 HW:0 Speed: 519.27MH/s 5s: 519.88MH/s

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 14, 2015, 08:55:30 PM
 #312

You were enforcing it immediately? I'm storing the new difficulty in another variable, then setting a flag if the current diff is outdated - the mining.notify handler checks the flag, and if it's set, copies the new diff from its storage space to the main diff variable, then clears the flag. I also only enforce a miner thread restart if the pool server tells me to clear the jobs.
I did postponed diff/job update, as spec says, then tried instant job change, without waiting for mining.notify, now it's time to revert back, do the build and let everyone meet the bugs Smiley
Another issue with Nicehash - sometime response to mining.submit is delayed, sometime (rarely) there is no response at all. Every request has to be stored and checked for timeouts.

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 15, 2015, 01:05:37 AM
 #313

Next build is out, with more work on Stratum.
Tested only with single 280x, but those cards should work:
   Juniper (6770, 6750, 5750, 5770)
   Pitcairn (7850, 7870, Curacao: 265, 270, 270X)
   Tahiti (7870, 7950, 7970, 280, 290X)
   Tonga (285)

Of course I gave you bad advice. Good one is way out of your price range.
JuanHungLo
Hero Member
*****
Offline Offline

Activity: 935
Merit: 1001


I don't always drink...


View Profile
April 15, 2015, 01:28:18 PM
 #314

Next build is out, with more work on Stratum.
Tested only with single 280x, but those cards should work:
   Juniper (6770, 6750, 5750, 5770)
   Pitcairn (7850, 7870, Curacao: 265, 270, 270X)
   Tahiti (7870, 7950, 7970, 280, 290X)
   Tonga (285)


Thanks for your efforts.  What command line settings work for 280x please?

Bull markets are born on pessimism, grow on skepticism, mature on optimism, and die on euphoria. - John Templeton
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 15, 2015, 05:03:52 PM
 #315

Thanks for your efforts.  What command line settings work for 280x please?
Oh, yes, detailed announcement and readme are missing, mea culpa

There isn't much to be configured. User can play with worksize (64, 128 and 256) and number of threads. To flood the screen with tons of diagnostics use --debug. Before claiming that I violated GPL, take a look at 'smelter --copyrights' output. To exit, use control-C or type any letter and then ENTER.
Intensity options is missing, it was removed to protect users from one obscure driver bug, with too high value PC is dead hang. There is no way yet to select GPU to run or set clock, those options are in my TODO list.

Typical command line looks like this, just change pool address, user name and password. 280x runs well with 4 threads and worksize 64, I hope users will share best settings for other cards.
Code:
smelter -o stratum+tcp://vnl.suprnova.cc:1111 -u user -p pass -g 4 -W 64

Full list of options:
Code:
Program options:
  -? [ --help ]           This help message
  --copyrights            Print libraries copyright message(s)
  -o [ --url ] arg        pool url (ex: -o http://pool:port )
  -u [ --user ] arg       Pool username
  -p [ --pass ] arg       Pool password
  -w [ --worksize ] arg   Worksize
  -g [ --gputhreads ] arg Threads per GPU
  -D [ --debug ]          Enable debug output

Of course I gave you bad advice. Good one is way out of your price range.
Bombadil
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500



View Profile
April 16, 2015, 07:13:14 AM
 #316

Intensity options is missing, it was removed to protect users from one obscure driver bug, with too high value PC is dead hang. There is no way yet to select GPU to run or set clock, those options are in my TODO list.

You aren't used to cudamining, I guess Tongue It's regular beef here that the system needs a complete reboot if you're playing with intensities and overclock Cheesy
Part of the fun, isn't it? ^^" (Sucks too, my bitcoin blockchain gets corrupted that way if I'm running it)
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 16, 2015, 07:25:52 AM
 #317

Intensity options is missing, it was removed to protect users from one obscure driver bug, with too high value PC is dead hang. There is no way yet to select GPU to run or set clock, those options are in my TODO list.

You aren't used to cudamining, I guess Tongue It's regular beef here that the system needs a complete reboot if you're playing with intensities and overclock Cheesy
Part of the fun, isn't it? ^^" (Sucks too, my bitcoin blockchain gets corrupted that way if I'm running it)
Looks like driver can't handle more than 2^32 scheduled workitems at once - no matter how splitted between threads and kernels. Not a pleasure to play with it on work PC, have I backups or not Smiley

Of course I gave you bad advice. Good one is way out of your price range.
elpis
Member
**
Offline Offline

Activity: 64
Merit: 10


View Profile
April 16, 2015, 08:01:33 AM
 #318

smolen
Why is the speed falls with time from 1.17 Gh under 400 Mh? Huh
AMD 3x7950 1000/625.

On the other rig 4x7970 1000/625--freezes.
Why is the CPU load to 100% and freezes.
CPU Celeron 1620.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 16, 2015, 08:12:45 AM
 #319

smolen
Why is the speed falls with time from 1.17 Gh under 400 Mh? Huh
AMD 3x7950 1000/625
Smelter is still too basic, there is no per-GPU data, nor mining thread monitoring, nor logging. Right now I can only guess that 2 of 3 your GPUs are hung. Wait a bit, I'm going to do better status reporting in next versions.

Of course I gave you bad advice. Good one is way out of your price range.
elpis
Member
**
Offline Offline

Activity: 64
Merit: 10


View Profile
April 16, 2015, 09:20:16 AM
 #320

Why is the CPU load to 100%? Can be corrected in newer versions GPU miner?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 16, 2015, 12:02:57 PM
 #321

Why is the CPU load to 100%? Can be corrected in newer versions GPU miner?
1) Because of some bug, may be on Smelter side, may be in AMD driver
2) Probably

Try to add this in cmd file as the first line
setx GPU_USE_SYNC_OBJECTS 1

Of course I gave you bad advice. Good one is way out of your price range.
fenomenhaa
Sr. Member
****
Offline Offline

Activity: 248
Merit: 250



View Profile
April 16, 2015, 02:31:20 PM
 #322

Is there a bug on 15.3 driver?(280x+7950) İ cannot reduce my mem clock ++ and cannot change coreclock of 7950 's . Thst's couse of smelter or driver ?


           ▄▀▀▀▄
   ▄▀▀▀▄   █   █   ▄▀▀▀▄
   █   █    ▀█▀    █   █
    ▀▀▀▀▄    ▀    ▄▀▀▀▀
DE]   ██▀▀▀█▄   ▀▀█   █
 ▀▀▀      ██▄▄▄█▀      ▀▀▀
        ▄   ▀ ▀   ▄
   ▄▀▀▀█     █     █▀▀▀▄
   █   █   ▄▀▀▀▄   █   █
    ▀▀▀    █   █    ▀▀▀
            ▀▀▀
          ▄▄█▄█▄[/color]
▄▀▀▀▄     ██   ██     ▄▀▀▀▄
█   █▀▀[color=#2C97
██████
██████
██████
██████
██████  ██████
██████  ██████
██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
✓  SUPER FAST TRANSACTION
✓  USER-FRIENDLY INTERFACE
✓  FAST & EASY REGISTRATION
▄██████
███▀▀▀▀
███
███
███
███
███
███
███
███
███
███▄▄▄▄
▀██████
JOIN AFFILIATE PROGRAM
UP TO 50% COMMISSIONS
██████▄
▀▀▀▀███
███
███
███
███
███
███
███
███
███
▄▄▄▄███
██████▀
z0n0
Legendary
*
Offline Offline

Activity: 1274
Merit: 1006



View Profile
April 16, 2015, 05:50:50 PM
 #323

smolen will there be versions for other algos too or you'll stick just with whirlpoolx?
mik_druid
Full Member
***
Offline Offline

Activity: 159
Merit: 100


View Profile
April 16, 2015, 07:23:44 PM
 #324

Any configs for r 290? What speed do you have while mining vanilla?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 17, 2015, 12:13:31 AM
 #325

Don't worry, I do read all the feedback. Right now priorities are:
- Better logging, so user could just send log file to me, without typing all needed details (OS, driver version, GPU model, pool, etc). Unless done, bugs and I have some disagreements about the idea of bughunting Smiley
- Pool monitoring, balancing and failover. Must have.
- Better printed statistics, now it's not always clear what Smelter is busy with

smolen will there be versions for other algos too or you'll stick just with whirlpoolx?
I'm stuck not with kernel, but with miner itself. Yes, expect new kernels later, but some will be paid ones, most probably with profit splitting.

Is there a bug on 15.3 driver?(280x+7950) İ cannot reduce my mem clock ++ and cannot change coreclock of 7950 's . Thst's couse of smelter or driver ?
Right now I can only guess. Wait for the next version, then I'll be able to get to it.

Any configs for r 290? What speed do you have while mining vanilla?
I have only one 280x, the best settings for other cards may differ. Right now speed is 542MH/s with 280x, 4 threads, worksize 64, core 1150, mem 500 on Linux. (Linux build will be released when I figure out how to do license-safe static build)

Of course I gave you bad advice. Good one is way out of your price range.
Bombadil
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500



View Profile
April 17, 2015, 08:32:16 AM
 #326

Don't forget an API so external tools can play with it too Wink (While you're busy doing logging, failover, etc...)
uplodex
Jr. Member
*
Offline Offline

Activity: 40
Merit: 13


View Profile
April 17, 2015, 11:56:06 AM
 #327

I intend to buy a AMD Radeon r9 280x for mining vanilla coin.
I look for a tutorial that explains how to mining vanilla and how optimized the AMD Radeon r9 280x for 400 Mh / s
fenomenhaa
Sr. Member
****
Offline Offline

Activity: 248
Merit: 250



View Profile
April 17, 2015, 04:12:32 PM
 #328

Don't worry, I do read all the feedback. Right now priorities are:
- Better logging, so user could just send log file to me, without typing all needed details (OS, driver version, GPU model, pool, etc). Unless done, bugs and I have some disagreements about the idea of bughunting Smiley
- Pool monitoring, balancing and failover. Must have.
- Better printed statistics, now it's not always clear what Smelter is busy with

smolen will there be versions for other algos too or you'll stick just with whirlpoolx?
I'm stuck not with kernel, but with miner itself. Yes, expect new kernels later, but some will be paid ones, most probably with profit splitting.

Is there a bug on 15.3 driver?(280x+7950) İ cannot reduce my mem clock ++ and cannot change coreclock of 7950 's . Thst's couse of smelter or driver ?
Right now I can only guess. Wait for the next version, then I'll be able to get to it.

Any configs for r 290? What speed do you have while mining vanilla?
I have only one 280x, the best settings for other cards may differ. Right now speed is 542MH/s with 280x, 4 threads, worksize 64, core 1150, mem 500 on Linux. (Linux build will be released when I figure out how to do license-safe static build)

Tried different drivers, nothing changed. i guess it's cus of smelter ))) .will wait your updates, Smiley)) 


           ▄▀▀▀▄
   ▄▀▀▀▄   █   █   ▄▀▀▀▄
   █   █    ▀█▀    █   █
    ▀▀▀▀▄    ▀    ▄▀▀▀▀
DE]   ██▀▀▀█▄   ▀▀█   █
 ▀▀▀      ██▄▄▄█▀      ▀▀▀
        ▄   ▀ ▀   ▄
   ▄▀▀▀█     █     █▀▀▀▄
   █   █   ▄▀▀▀▄   █   █
    ▀▀▀    █   █    ▀▀▀
            ▀▀▀
          ▄▄█▄█▄[/color]
▄▀▀▀▄     ██   ██     ▄▀▀▀▄
█   █▀▀[color=#2C97
██████
██████
██████
██████
██████  ██████
██████  ██████
██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
✓  SUPER FAST TRANSACTION
✓  USER-FRIENDLY INTERFACE
✓  FAST & EASY REGISTRATION
▄██████
███▀▀▀▀
███
███
███
███
███
███
███
███
███
███▄▄▄▄
▀██████
JOIN AFFILIATE PROGRAM
UP TO 50% COMMISSIONS
██████▄
▀▀▀▀███
███
███
███
███
███
███
███
███
███
▄▄▄▄███
██████▀
M1ST3R
Member
**
Offline Offline

Activity: 89
Merit: 10


View Profile
April 17, 2015, 08:14:59 PM
 #329

Smolen, thanks for sharing but I cannot get both version .6 and .7 to work on 4 GPUs (2 r9 290 + 2 r9 290x) rig. Doesn't matter what setting was used - max hashrate was 5+MHS for the rig. BTW, this is on Windows 8.1 pro x64 with CAT 14.6 RC3
groggin
Legendary
*
Offline Offline

Activity: 1894
Merit: 1001



View Profile
April 17, 2015, 09:01:38 PM
 #330


 yes! thank you for sharing   Cheesy

loose the sword that is your pen or tongue [or bittorrent enabled computer] and help fight the so-called new world order   it is the enemy of humanity[/b][/url]  |  Sign-up @ Aurovine to get FREE HD music ... and coins!| |
Vampire_sumy
Member
**
Offline Offline

Activity: 110
Merit: 10


View Profile
April 21, 2015, 10:41:18 PM
 #331

Smolen, thanks for sharing but I cannot get both version .6 and .7 to work on 4 GPUs (2 r9 290 + 2 r9 290x) rig. Doesn't matter what setting was used - max hashrate was 5+MHS for the rig. BTW, this is on Windows 8.1 pro x64 with CAT 14.6 RC3
You must place amd_opencl64.dll , amd_opencl32.dll , amdocl64.dll and amdocl.dll files into smelter miners folder. (This files you can find in amd drivers)
cinnamon_carter
Legendary
*
Offline Offline

Activity: 1148
Merit: 1018


It's about time -- All merrit accepted !!!


View Profile WWW
April 28, 2015, 06:01:30 AM
 #332

Smolen do you have a github with source for anything you 'released' open , maybe others could contribute things and also end up solving other issues you may be running into.... if not , i understand , this is your 'business' and choice to release or not relase the source..... to anyone who complains be glad someone is working on a gpu miner for your algo....  gpu with fee is better than cpu without one.... mining like that is like having a ruber band slingshot while other miners have ak's lol

Check out my coin Photon
Merge Mine 5 other Blake 256 coins - 6x your hash power  https://www.blakecoin.org/

The obvious choice is not always the best choice.

LOOK DEEPER - Look into the Blake 256 Family -- CC
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 29, 2015, 06:34:44 PM
 #333

Don't forget an API so external tools can play with it too Wink (While you're busy doing logging, failover, etc...)
I'm probably aiming too high here - good algo/pool switching code must be able to catch and exploit short spikes in prices and difficulties. For example, when current Vanillacoin block has low difficulty, miner should be able to temporarily switch to solo and then back to the pool. My code is not ready for it yet, not sure about standalone mining managers.

I intend to buy a AMD Radeon r9 280x for mining vanilla coin.
I look for a tutorial that explains how to mining vanilla and how optimized the AMD Radeon r9 280x for 400 Mh / s
Oh, no, you'd better to try water with more mature software like sgminer.

yes! thank you for sharing   Cheesy
My profit here is user feedback - never know what way to break the software will find in the wild Smiley

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
April 29, 2015, 07:35:17 PM
 #334

Smolen do you have a github with source for anything you 'released' open , maybe others could contribute things and also end up solving other issues you may be running into.... if not , i understand , this is your 'business' and choice to release or not relase the source..... to anyone who complains be glad someone is working on a gpu miner for your algo....  gpu with fee is better than cpu without one.... mining like that is like having a ruber band slingshot while other miners have ak's lol
Actually my second post on this forum was about releasing Copperlark miner - with sources on github. I've sent almost all OpenCL sources (except Groestl) to someone who just asked via PM. Then all the OpenCL code from Quark kernel was published right here, in this thread - and Skein implementation found new home in sp_'s Ccminer. All but one nuances about WhirlpoolX kernel were talked about openly, everybody is welcome to use this tricks. You see, I'm reasonably open about ideas, share old code, but greedy with hot new toys Smiley

I'm working on my own closed GPU miner that I plan to release, as well - from his standpoint, I don't see why he would. Should be far more flexible than the current miners and have a sane structure, as well; currently mines successfully at pools! :3
Good miner under BSD/X11 license will raise the share of all mining kernel developers. But working miner for PoS coins would be even better Smiley

Of course I gave you bad advice. Good one is way out of your price range.
BogdanEraser
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
May 04, 2015, 02:48:57 PM
Last edit: May 05, 2015, 06:45:14 AM by BogdanEraser
 #335

With worksize 256 and 4 threads  R9 270x on 1100/1400 gives 267Mh/s. Many thanx. Waiting for clocks and temp control within Smelter.
malickie
Member
**
Offline Offline

Activity: 92
Merit: 10


View Profile
May 07, 2015, 08:13:57 PM
Last edit: May 07, 2015, 08:40:29 PM by malickie
 #336

So, not sure why people are getting low rates but my R9 290x is sitting comfortably at 600+ MH/s.  I did notice trying to use anything other than the most up to date driver for AMD does seem to drop the Hash rate down dramatically.  Also this is on Windows 8.1 at Stock speeds, no OC.  OC seems to heat the Card up way too much for my tastes.  This is a HIS R9 290x base speed is 1040/1350 for this card 87c is what the temp is at and the voltage draw looks to max out at 1080ish according to MSI Afterburner.

Edit:  Forgot to add, this is my settings in the .cmd file,
smelter -o stratum+tcp://stratum.westhash.com:3343 -u user.name -p password -g 4 -W 64
Going up in Worksize seems to bring the hash rate down just an FYI

This software does desperately need control over Fan Speed.  Auto-Fan, Gpu Over Heat/Target Temp/Temp Cutoff.

I have an old 6850 that I would like to get to work with this software.  Any possibilities of seeing that card added?

bitspill
Legendary
*
Offline Offline

Activity: 2058
Merit: 1015



View Profile
May 07, 2015, 10:33:05 PM
 #337

Heads up to any miners who may be watching this thread but not the official vanilla coin thread, PoW mining is going to be paused for 20,000 blocks starting at block 117,833

https://talk.vanillacoin.net/topic/143/temporary-proof-of-work-pause-at-block-117833/3

The pause is to allow testing of mobile staking and fpga development without only a few developers raping the coin.

{ BitSpill }
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
May 08, 2015, 12:57:14 AM
 #338

Heads up to any miners who may be watching this thread but not the official vanilla coin thread, PoW mining is going to be paused for 20,000 blocks starting at block 117,833
Thank you for warning. Not sure I will release new version before this pause Sad

Waiting for clocks and temp control within Smelter.
Yes, it's in work.

This software does desperately need control over Fan Speed.  Auto-Fan, Gpu Over Heat/Target Temp/Temp Cutoff.
Oops, sorry, not going to be implemented in the nearest releases. I cannot just copy control algorithm from cgminer and friends, getting it done from scratch will take time.

I have an old 6850 that I would like to get to work with this software.  Any possibilities of seeing that card added?
Yes, still possible while my code is OpenCL.

Of course I gave you bad advice. Good one is way out of your price range.
malickie
Member
**
Offline Offline

Activity: 92
Merit: 10


View Profile
May 08, 2015, 08:56:44 PM
Last edit: May 08, 2015, 11:22:28 PM by malickie
 #339

Why not release new Versions, you can still use it to mine say WestHash/NiceHash Pools and whatever other pools offer WhirlPoolx Algo.

Edit: Found a trick with Smelter at least on my R9 290x.  IT by default does GPU Clock Dynamic so it doesn't fully utilize the Overclock there.  What I did was open Sgminer so it would pin GPU Clock to max and instead of using q to quit just click x on the window so your GPU Clock stays locked into whatever OC it is.  Than open Smelter.  Mining at 700.59 MH/s.  Granted at this speed and OC 1100/1500 My card is pretty darn toasty so I wouldn't recommend it unless you have Liquid or really good Fans and Airflow for the GPU 90c with fans at 100% and 67f with fan blowing into PC.

Edit: I also just noticed that it seems the speed has way more to do with GPU Clock than Mem Clock.  Sweetspot on my GPU Clock seems to be 1125, 1150 gave artifacting, so it would be 1125/1350, speed seems to be around 715 MH/s I think, although it is still climbing slowly. Still runs very toasty though at 90c. 

bitspill
Legendary
*
Offline Offline

Activity: 2058
Merit: 1015



View Profile
May 09, 2015, 03:50:40 AM
 #340

Why not release new Versions, you can still use it to mine say WestHash/NiceHash Pools and whatever other pools offer WhirlPoolx Algo.

Pointing your miner at a pool won't do anything if the coins network won't accept the blocks.

{ BitSpill }
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
May 09, 2015, 12:45:58 PM
 #341

Edit: Found a trick with Smelter at least on my R9 290x.  IT by default does GPU Clock Dynamic so it doesn't fully utilize the Overclock there.  What I did was open Sgminer so it would pin GPU Clock to max and instead of using q to quit just click x on the window so your GPU Clock stays locked into whatever OC it is.  Than open Smelter.  Mining at 700.59 MH/s.  Granted at this speed and OC 1100/1500 My card is pretty darn toasty so I wouldn't recommend it unless you have Liquid or really good Fans and Airflow for the GPU 90c with fans at 100% and 67f with fan blowing into PC.

Edit: I also just noticed that it seems the speed has way more to do with GPU Clock than Mem Clock.  Sweetspot on my GPU Clock seems to be 1125, 1150 gave artifacting, so it would be 1125/1350, speed seems to be around 715 MH/s I think, although it is still climbing slowly. Still runs very toasty though at 90c. 
Cool tricks, cool speeds!
Core/mem clock control is in the work but not ready yet Sad

Why not release new Versions, you can still use it to mine say WestHash/NiceHash Pools and whatever other pools offer WhirlPoolx Algo.

Pointing your miner at a pool won't do anything if the coins network won't accept the blocks.
Yes, no point in releasing miner that is fast but cannot be used. So I'm working on new kernel for another algorithm, if it will be slow enough, the release will be public Smiley

Of course I gave you bad advice. Good one is way out of your price range.
malickie
Member
**
Offline Offline

Activity: 92
Merit: 10


View Profile
May 11, 2015, 03:50:37 PM
 #342

Why not release new Versions, you can still use it to mine say WestHash/NiceHash Pools and whatever other pools offer WhirlPoolx Algo.

Pointing your miner at a pool won't do anything if the coins network won't accept the blocks.

Yea I just noticed that it does nothing on the Pools I was talking about Sad  Oh well, will have to wait until the block is back to PoW.

malickie
Member
**
Offline Offline

Activity: 92
Merit: 10


View Profile
May 13, 2015, 01:59:46 PM
 #343

Edit: Found a trick with Smelter at least on my R9 290x.  IT by default does GPU Clock Dynamic so it doesn't fully utilize the Overclock there.  What I did was open Sgminer so it would pin GPU Clock to max and instead of using q to quit just click x on the window so your GPU Clock stays locked into whatever OC it is.  Than open Smelter.  Mining at 700.59 MH/s.  Granted at this speed and OC 1100/1500 My card is pretty darn toasty so I wouldn't recommend it unless you have Liquid or really good Fans and Airflow for the GPU 90c with fans at 100% and 67f with fan blowing into PC.

Edit: I also just noticed that it seems the speed has way more to do with GPU Clock than Mem Clock.  Sweetspot on my GPU Clock seems to be 1125, 1150 gave artifacting, so it would be 1125/1350, speed seems to be around 715 MH/s I think, although it is still climbing slowly. Still runs very toasty though at 90c. 
Cool tricks, cool speeds!
Core/mem clock control is in the work but not ready yet Sad

Why not release new Versions, you can still use it to mine say WestHash/NiceHash Pools and whatever other pools offer WhirlPoolx Algo.

Pointing your miner at a pool won't do anything if the coins network won't accept the blocks.
Yes, no point in releasing miner that is fast but cannot be used. So I'm working on new kernel for another algorithm, if it will be slow enough, the release will be public Smiley

My miner supports three algos, full-custom stratum implementation. But it needs multiple pool support, getblocktemplate support, GPU ADL controls (fan/clocks/other shit). Also need a pool-specific mutex on the socket... I don't use cURL (because fucking ewww), but when mining at extreme low diff, stratum can die, probably cause of the socket being used by multiple threads.

Well, I look forward to seeing your Miner Wolf0.  I must say you do some good work, your Bin file for X11 Algo. for my R9 290x has me at darn near 9 MH/s.  Granted I am also using AMD Opencl files within SGMiner to help it a bit, I think it's 14.9 or maybe 14.6 RC2.  Either way with Just OpenCL it will run at around 6 MH/s.  So yea your bin def. helped.

smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
May 13, 2015, 05:25:58 PM
 #344

My miner supports three algos, full-custom stratum implementation. But it needs multiple pool support, getblocktemplate support, GPU ADL controls (fan/clocks/other shit). Also need a pool-specific mutex on the socket... I don't use cURL (because fucking ewww), but when mining at extreme low diff, stratum can die, probably cause of the socket being used by multiple threads.
At very low difficulties it's possible to accidentally submit too many stale shares and get banned, may be the problem is on the pool's end. For Stratum networking I switched from curl to boost::asio, curl is still here for getwork/getwork2/getblocktemplate.

Anyways, the ADL SDK is a pain in the ass, but initializing, cleaning up, and getting/setting fan speed works!
Is your CL<->ADL code done in cgminer way or in the right way? Smiley

Of course I gave you bad advice. Good one is way out of your price range.
_javi_
Hero Member
*****
Offline Offline

Activity: 968
Merit: 624


Still a manic miner


View Profile
August 02, 2015, 10:53:46 PM
 #345

i have problems with a rig with 4 GPUs (working fine in sgminer).

This rig hashes the same as a 3 GPU rig.

what should i check?  Huh

(Win 7 64, catalyst 14.4, proper DLLs in smelter dir, Gigabytes 280x, -g 4 -w64.)
gaalx
Sr. Member
****
Offline Offline

Activity: 411
Merit: 250



View Profile
August 04, 2015, 04:14:21 AM
 #346

Warm algorithm, how to adjust settings fan?

z0n0
Legendary
*
Offline Offline

Activity: 1274
Merit: 1006



View Profile
August 04, 2015, 04:18:27 AM
 #347

Warm algorithm, how to adjust settings fan?

I don't think its possible with this version  Undecided
lowhashminer
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
August 04, 2015, 08:40:33 PM
 #348

Warm algorithm, how to adjust settings fan?

You can download TRIXX app from Sapphire website. Should work on any AMD card.
splootch
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile WWW
August 05, 2015, 09:18:37 AM
 #349

why is that smelter last official miner only get me 5-6 mh on nicehash?
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
August 07, 2015, 10:27:40 AM
 #350

I'm very sorry, new version with bugfixes and better diagnostics was almost done when I was distracted by other, non-crypto things Sad

i have problems with a rig with 4 GPUs (working fine in sgminer).

This rig hashes the same as a 3 GPU rig.

what should i check?  Huh

(Win 7 64, catalyst 14.4, proper DLLs in smelter dir, Gigabytes 280x, -g 4 -w64.)

Probably one of GPUs overheated and does not work. Try to lower clock speed for all cards, then raise it back card-by-card. There is no speed settings in the released version, use external tool (Afterburner or something) for overclocking.

Warm algorithm, how to adjust settings fan?

I don't think its possible with this version  Undecided
Yes, not yet

why is that smelter last official miner only get me 5-6 mh on nicehash?
First of all wait a bit, pool calculates speed by accepted shares, give it some time (~ 5-10 min) to catch up. Look at miner window, may be there are some diagnostic messages about rejected shares and h/w errors, if yes, post it here. Lower GPU clocks with Afterburner and see if the speed raises to expected for your card.
If nothing will help - take my apologies, I'm very sorry for abandoning the project, and wait for new version Sad

Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 15, 2016, 05:30:16 AM
 #351

Smelter is again abandoned and I'm again publishing kernel source - this time for Vanillacoin WhirlpoolX algorithm

Code:
static UINT64 arrPrecalc[8*256] =
{

0xD83078C018601818ULL, 0x2646AF05238C2323ULL, 0xB891F97EC63FC6C6ULL, 0xFBCD6F13E887E8E8ULL, 0xCB13A14C87268787ULL, 0x116D62A9B8DAB8B8ULL, 0x0902050801040101ULL, 0x0D9E6E424F214F4FULL, 0x9B6CEEAD36D83636ULL, 0xFF510459A6A2A6A6ULL, 0x0CB9BDDED26FD2D2ULL, 0x0EF706FBF5F3F5F5ULL, 0x96F280EF79F97979ULL, 0x30DECE5F6FA16F6FULL, 0x6D3FEFFC917E9191ULL, 0xF8A407AA52555252ULL, 0x47C0FD27609D6060ULL, 0x35657689BCCABCBCULL, 0x372BCDAC9B569B9BULL, 0x8A018C048E028E8EULL, 0xD25B1571A3B6A3A3ULL, 0x6C183C600C300C0CULL, 0x84F68AFF7BF17B7BULL, 0x806AE1B535D43535ULL, 0xF53A69E81D741D1DULL, 0xB3DD4753E0A7E0E0ULL, 0x21B3ACF6D77BD7D7ULL, 0x9C99ED5EC22FC2C2ULL, 0x435C966D2EB82E2EULL, 0x29967A624B314B4BULL, 0x5DE121A3FEDFFEFEULL, 0xD5AE168257415757ULL, 0xBD2A41A815541515ULL, 0xE8EEB69F77C17777ULL, 0x926EEBA537DC3737ULL, 0x9ED7567BE5B3E5E5ULL, 0x1323D98C9F469F9FULL, 0x23FD17D3F0E7F0F0ULL, 0x20947F6A4A354A4AULL, 0x44A9959EDA4FDADAULL, 0xA2B025FA587D5858ULL, 0xCF8FCA06C903C9C9ULL, 0x7C528D5529A42929ULL, 0x5A1422500A280A0AULL, 0x507F4FE1B1FEB1B1ULL, 0xC95D1A69A0BAA0A0ULL, 0x14D6DA7F6BB16B6BULL, 0xD917AB5C852E8585ULL, 0x3C677381BDCEBDBDULL, 0x8FBA34D25D695D5DULL, 0x9020508010401010ULL, 0x07F503F3F4F7F4F4ULL, 0xDD8BC016CB0BCBCBULL, 0xD37CC6ED3EF83E3EULL, 0x2D0A112805140505ULL, 0x78CEE61F67816767ULL, 0x97D55373E4B7E4E4ULL, 0x024EBB25279C2727ULL, 0x7382583241194141ULL, 0xA70B9D2C8B168B8BULL, 0xF6530151A7A6A7A7ULL, 0xB2FA94CF7DE97D7DULL, 0x4937FBDC956E9595ULL, 0x56AD9F8ED847D8D8ULL, 0x70EB308BFBCBFBFBULL, 0xCDC17123EE9FEEEEULL, 0xBBF891C77CED7C7CULL, 0x71CCE31766856666ULL, 0x7BA78EA6DD53DDDDULL, 0xAF2E4BB8175C1717ULL, 0x458E460247014747ULL, 0x1A21DC849E429E9EULL, 0xD489C51ECA0FCACAULL, 0x585A99752DB42D2DULL, 0x2E637991BFC6BFBFULL, 0x3F0E1B38071C0707ULL, 0xAC472301AD8EADADULL, 0xB0B42FEA5A755A5AULL, 0xEF1BB56C83368383ULL, 0xB666FF8533CC3333ULL, 0x5CC6F23F63916363ULL, 0x12040A1002080202ULL, 0x93493839AA92AAAAULL, 0xDEE2A8AF71D97171ULL, 0xC68DCF0EC807C8C8ULL, 0xD1327DC819641919ULL, 0x3B92707249394949ULL, 0x5FAF9A86D943D9D9ULL, 0x31F91DC3F2EFF2F2ULL, 0xA8DB484BE3ABE3E3ULL, 0xB9B62AE25B715B5BULL, 0xBC0D9234881A8888ULL, 0x3E29C8A49A529A9AULL, 0x0B4CBE2D26982626ULL, 0xBF64FA8D32C83232ULL, 0x597D4AE9B0FAB0B0ULL, 0xF2CF6A1BE983E9E9ULL, 0x771E33780F3C0F0FULL, 0x33B7A6E6D573D5D5ULL, 0xF41DBA74803A8080ULL, 0x27617C99BEC2BEBEULL, 0xEB87DE26CD13CDCDULL, 0x8968E4BD34D03434ULL, 0x3290757A483D4848ULL, 0x54E324ABFFDBFFFFULL, 0x8DF48FF77AF57A7AULL, 0x643DEAF4907A9090ULL, 0x9DBE3EC25F615F5FULL, 0x3D40A01D20802020ULL, 0x0FD0D56768BD6868ULL, 0xCA3472D01A681A1AULL, 0xB7412C19AE82AEAEULL, 0x7D755EC9B4EAB4B4ULL, 0xCEA8199A544D5454ULL, 0x7F3BE5EC93769393ULL, 0x2F44AA0D22882222ULL, 0x63C8E907648D6464ULL, 0x2AFF12DBF1E3F1F1ULL, 0xCCE6A2BF73D17373ULL, 0x82245A9012481212ULL, 0x7A805D3A401D4040ULL, 0x4810284008200808ULL, 0x959BE856C32BC3C3ULL, 0xDFC57B33EC97ECECULL, 0x4DAB9096DB4BDBDBULL, 0xC05F1F61A1BEA1A1ULL, 0x9107831C8D0E8D8DULL, 0xC87AC9F53DF43D3DULL, 0x5B33F1CC97669797ULL, 0x0000000000000000ULL, 0xF983D436CF1BCFCFULL, 0x6E5687452BAC2B2BULL, 0xE1ECB39776C57676ULL, 0xE619B06482328282ULL, 0x28B1A9FED67FD6D6ULL, 0xC33677D81B6C1B1BULL, 0x74775BC1B5EEB5B5ULL, 0xBE432911AF86AFAFULL, 0x1DD4DF776AB56A6AULL, 0xEAA00DBA505D5050ULL, 0x578A4C1245094545ULL, 0x38FB18CBF3EBF3F3ULL, 0xAD60F09D30C03030ULL, 0xC4C3742BEF9BEFEFULL, 0xDA7EC3E53FFC3F3FULL, 0xC7AA1C9255495555ULL, 0xDB591079A2B2A2A2ULL, 0xE9C96503EA8FEAEAULL, 0x6ACAEC0F65896565ULL, 0x036968B9BAD2BABAULL, 0x4A5E93652FBC2F2FULL, 0x8E9DE74EC027C0C0ULL, 0x60A181BEDE5FDEDEULL, 0xFC386CE01C701C1CULL, 0x46E72EBBFDD3FDFDULL, 0x1F9A64524D294D4DULL, 0x7639E0E492729292ULL, 0xFAEABC8F75C97575ULL, 0x360C1E3006180606ULL, 0xAE0998248A128A8AULL, 0x4B7940F9B2F2B2B2ULL, 0x85D15963E6BFE6E6ULL, 0x7E1C36700E380E0EULL, 0xE73E63F81F7C1F1FULL, 0x55C4F73762956262ULL, 0x3AB5A3EED477D4D4ULL, 0x814D3229A89AA8A8ULL, 0x5231F4C496629696ULL, 0x62EF3A9BF9C3F9F9ULL, 0xA397F666C533C5C5ULL, 0x104AB13525942525ULL, 0xABB220F259795959ULL, 0xD015AE54842A8484ULL, 0xC5E4A7B772D57272ULL, 0xEC72DDD539E43939ULL, 0x1698615A4C2D4C4CULL, 0x94BC3BCA5E655E5EULL, 0x9FF085E778FD7878ULL, 0xE570D8DD38E03838ULL, 0x980586148C0A8C8CULL, 0x17BFB2C6D163D1D1ULL, 0xE4570B41A5AEA5A5ULL, 0xA1D94D43E2AFE2E2ULL, 0x4EC2F82F61996161ULL, 0x427B45F1B3F6B3B3ULL, 0x3442A51521842121ULL, 0x0825D6949C4A9C9CULL, 0xEE3C66F01E781E1EULL, 0x6186522243114343ULL, 0xB193FC76C73BC7C7ULL, 0x4FE52BB3FCD7FCFCULL, 0x2408142004100404ULL, 0xE3A208B251595151ULL, 0x252FC7BC995E9999ULL, 0x22DAC44F6DA96D6DULL, 0x651A39680D340D0DULL, 0x79E93583FACFFAFAULL, 0x69A384B6DF5BDFDFULL, 0xA9FC9BD77EE57E7EULL, 0x1948B43D24902424ULL, 0xFE76D7C53BEC3B3BULL, 0x9A4B3D31AB96ABABULL, 0xF081D13ECE1FCECEULL, 0x9922558811441111ULL, 0x8303890C8F068F8FULL, 0x049C6B4A4E254E4EULL, 0x667351D1B7E6B7B7ULL, 0xE0CB600BEB8BEBEBULL, 0xC178CCFD3CF03C3CULL, 0xFD1FBF7C813E8181ULL, 0x4035FED4946A9494ULL, 0x1CF30CEBF7FBF7F7ULL, 0x186F67A1B9DEB9B9ULL, 0x8B265F98134C1313ULL, 0x51589C7D2CB02C2CULL, 0x05BBB8D6D36BD3D3ULL, 0x8CD35C6BE7BBE7E7ULL, 0x39DCCB576EA56E6EULL, 0xAA95F36EC437C4C4ULL, 0x1B060F18030C0303ULL, 0xDCAC138A56455656ULL, 0x5E88491A440D4444ULL, 0xA0FE9EDF7FE17F7FULL, 0x884F3721A99EA9A9ULL, 0x6754824D2AA82A2AULL, 0x0A6B6DB1BBD6BBBBULL, 0x879FE246C123C1C1ULL, 0xF1A602A253515353ULL, 0x72A58BAEDC57DCDCULL, 0x531627580B2C0B0BULL, 0x0127D39C9D4E9D9DULL, 0x2BD8C1476CAD6C6CULL, 0xA462F59531C43131ULL, 0xF3E8B98774CD7474ULL, 0x15F109E3F6FFF6F6ULL, 0x4C8C430A46054646ULL, 0xA5452609AC8AACACULL, 0xB50F973C891E8989ULL, 0xB42844A014501414ULL, 0xBADF425BE1A3E1E1ULL, 0xA62C4EB016581616ULL, 0xF774D2CD3AE83A3AULL, 0x06D2D06F69B96969ULL, 0x41122D4809240909ULL, 0xD7E0ADA770DD7070ULL, 0x6F7154D9B6E2B6B6ULL, 0x1EBDB7CED067D0D0ULL, 0xD6C77E3BED93EDEDULL, 0xE285DB2ECC17CCCCULL, 0x6884572A42154242ULL, 0x2C2DC2B4985A9898ULL, 0xED550E49A4AAA4A4ULL, 0x7550885D28A02828ULL, 0x86B831DA5C6D5C5CULL, 0x6BED3F93F8C7F8F8ULL, 0xC211A44486228686ULL,

0x3078C018601818D8ULL, 0x46AF05238C232326ULL, 0x91F97EC63FC6C6B8ULL, 0xCD6F13E887E8E8FBULL, 0x13A14C87268787CBULL, 0x6D62A9B8DAB8B811ULL, 0x0205080104010109ULL, 0x9E6E424F214F4F0DULL, 0x6CEEAD36D836369BULL, 0x510459A6A2A6A6FFULL, 0xB9BDDED26FD2D20CULL, 0xF706FBF5F3F5F50EULL, 0xF280EF79F9797996ULL, 0xDECE5F6FA16F6F30ULL, 0x3FEFFC917E91916DULL, 0xA407AA52555252F8ULL, 0xC0FD27609D606047ULL, 0x657689BCCABCBC35ULL, 0x2BCDAC9B569B9B37ULL, 0x018C048E028E8E8AULL, 0x5B1571A3B6A3A3D2ULL, 0x183C600C300C0C6CULL, 0xF68AFF7BF17B7B84ULL, 0x6AE1B535D4353580ULL, 0x3A69E81D741D1DF5ULL, 0xDD4753E0A7E0E0B3ULL, 0xB3ACF6D77BD7D721ULL, 0x99ED5EC22FC2C29CULL, 0x5C966D2EB82E2E43ULL, 0x967A624B314B4B29ULL, 0xE121A3FEDFFEFE5DULL, 0xAE168257415757D5ULL, 0x2A41A815541515BDULL, 0xEEB69F77C17777E8ULL, 0x6EEBA537DC373792ULL, 0xD7567BE5B3E5E59EULL, 0x23D98C9F469F9F13ULL, 0xFD17D3F0E7F0F023ULL, 0x947F6A4A354A4A20ULL, 0xA9959EDA4FDADA44ULL, 0xB025FA587D5858A2ULL, 0x8FCA06C903C9C9CFULL, 0x528D5529A429297CULL, 0x1422500A280A0A5AULL, 0x7F4FE1B1FEB1B150ULL, 0x5D1A69A0BAA0A0C9ULL, 0xD6DA7F6BB16B6B14ULL, 0x17AB5C852E8585D9ULL, 0x677381BDCEBDBD3CULL, 0xBA34D25D695D5D8FULL, 0x2050801040101090ULL, 0xF503F3F4F7F4F407ULL, 0x8BC016CB0BCBCBDDULL, 0x7CC6ED3EF83E3ED3ULL, 0x0A1128051405052DULL, 0xCEE61F6781676778ULL, 0xD55373E4B7E4E497ULL, 0x4EBB25279C272702ULL, 0x8258324119414173ULL, 0x0B9D2C8B168B8BA7ULL, 0x530151A7A6A7A7F6ULL, 0xFA94CF7DE97D7DB2ULL, 0x37FBDC956E959549ULL, 0xAD9F8ED847D8D856ULL, 0xEB308BFBCBFBFB70ULL, 0xC17123EE9FEEEECDULL, 0xF891C77CED7C7CBBULL, 0xCCE3176685666671ULL, 0xA78EA6DD53DDDD7BULL, 0x2E4BB8175C1717AFULL, 0x8E46024701474745ULL, 0x21DC849E429E9E1AULL, 0x89C51ECA0FCACAD4ULL, 0x5A99752DB42D2D58ULL, 0x637991BFC6BFBF2EULL, 0x0E1B38071C07073FULL, 0x472301AD8EADADACULL, 0xB42FEA5A755A5AB0ULL, 0x1BB56C83368383EFULL, 0x66FF8533CC3333B6ULL, 0xC6F23F639163635CULL, 0x040A100208020212ULL, 0x493839AA92AAAA93ULL, 0xE2A8AF71D97171DEULL, 0x8DCF0EC807C8C8C6ULL, 0x327DC819641919D1ULL, 0x927072493949493BULL, 0xAF9A86D943D9D95FULL, 0xF91DC3F2EFF2F231ULL, 0xDB484BE3ABE3E3A8ULL, 0xB62AE25B715B5BB9ULL, 0x0D9234881A8888BCULL, 0x29C8A49A529A9A3EULL, 0x4CBE2D269826260BULL, 0x64FA8D32C83232BFULL, 0x7D4AE9B0FAB0B059ULL, 0xCF6A1BE983E9E9F2ULL, 0x1E33780F3C0F0F77ULL, 0xB7A6E6D573D5D533ULL, 0x1DBA74803A8080F4ULL, 0x617C99BEC2BEBE27ULL, 0x87DE26CD13CDCDEBULL, 0x68E4BD34D0343489ULL, 0x90757A483D484832ULL, 0xE324ABFFDBFFFF54ULL, 0xF48FF77AF57A7A8DULL, 0x3DEAF4907A909064ULL, 0xBE3EC25F615F5F9DULL, 0x40A01D208020203DULL, 0xD0D56768BD68680FULL, 0x3472D01A681A1ACAULL, 0x412C19AE82AEAEB7ULL, 0x755EC9B4EAB4B47DULL, 0xA8199A544D5454CEULL, 0x3BE5EC937693937FULL, 0x44AA0D228822222FULL, 0xC8E907648D646463ULL, 0xFF12DBF1E3F1F12AULL, 0xE6A2BF73D17373CCULL, 0x245A901248121282ULL, 0x805D3A401D40407AULL, 0x1028400820080848ULL, 0x9BE856C32BC3C395ULL, 0xC57B33EC97ECECDFULL, 0xAB9096DB4BDBDB4DULL, 0x5F1F61A1BEA1A1C0ULL, 0x07831C8D0E8D8D91ULL, 0x7AC9F53DF43D3DC8ULL, 0x33F1CC976697975BULL, 0x0000000000000000ULL, 0x83D436CF1BCFCFF9ULL, 0x5687452BAC2B2B6EULL, 0xECB39776C57676E1ULL, 0x19B06482328282E6ULL, 0xB1A9FED67FD6D628ULL, 0x3677D81B6C1B1BC3ULL, 0x775BC1B5EEB5B574ULL, 0x432911AF86AFAFBEULL, 0xD4DF776AB56A6A1DULL, 0xA00DBA505D5050EAULL, 0x8A4C124509454557ULL, 0xFB18CBF3EBF3F338ULL, 0x60F09D30C03030ADULL, 0xC3742BEF9BEFEFC4ULL, 0x7EC3E53FFC3F3FDAULL, 0xAA1C9255495555C7ULL, 0x591079A2B2A2A2DBULL, 0xC96503EA8FEAEAE9ULL, 0xCAEC0F658965656AULL, 0x6968B9BAD2BABA03ULL, 0x5E93652FBC2F2F4AULL, 0x9DE74EC027C0C08EULL, 0xA181BEDE5FDEDE60ULL, 0x386CE01C701C1CFCULL, 0xE72EBBFDD3FDFD46ULL, 0x9A64524D294D4D1FULL, 0x39E0E49272929276ULL, 0xEABC8F75C97575FAULL, 0x0C1E300618060636ULL, 0x0998248A128A8AAEULL, 0x7940F9B2F2B2B24BULL, 0xD15963E6BFE6E685ULL, 0x1C36700E380E0E7EULL, 0x3E63F81F7C1F1FE7ULL, 0xC4F7376295626255ULL, 0xB5A3EED477D4D43AULL, 0x4D3229A89AA8A881ULL, 0x31F4C49662969652ULL, 0xEF3A9BF9C3F9F962ULL, 0x97F666C533C5C5A3ULL, 0x4AB1352594252510ULL, 0xB220F259795959ABULL, 0x15AE54842A8484D0ULL, 0xE4A7B772D57272C5ULL, 0x72DDD539E43939ECULL, 0x98615A4C2D4C4C16ULL, 0xBC3BCA5E655E5E94ULL, 0xF085E778FD78789FULL, 0x70D8DD38E03838E5ULL, 0x0586148C0A8C8C98ULL, 0xBFB2C6D163D1D117ULL, 0x570B41A5AEA5A5E4ULL, 0xD94D43E2AFE2E2A1ULL, 0xC2F82F619961614EULL, 0x7B45F1B3F6B3B342ULL, 0x42A5152184212134ULL, 0x25D6949C4A9C9C08ULL, 0x3C66F01E781E1EEEULL, 0x8652224311434361ULL, 0x93FC76C73BC7C7B1ULL, 0xE52BB3FCD7FCFC4FULL, 0x0814200410040424ULL, 0xA208B251595151E3ULL, 0x2FC7BC995E999925ULL, 0xDAC44F6DA96D6D22ULL, 0x1A39680D340D0D65ULL, 0xE93583FACFFAFA79ULL, 0xA384B6DF5BDFDF69ULL, 0xFC9BD77EE57E7EA9ULL, 0x48B43D2490242419ULL, 0x76D7C53BEC3B3BFEULL, 0x4B3D31AB96ABAB9AULL, 0x81D13ECE1FCECEF0ULL, 0x2255881144111199ULL, 0x03890C8F068F8F83ULL, 0x9C6B4A4E254E4E04ULL, 0x7351D1B7E6B7B766ULL, 0xCB600BEB8BEBEBE0ULL, 0x78CCFD3CF03C3CC1ULL, 0x1FBF7C813E8181FDULL, 0x35FED4946A949440ULL, 0xF30CEBF7FBF7F71CULL, 0x6F67A1B9DEB9B918ULL, 0x265F98134C13138BULL, 0x589C7D2CB02C2C51ULL, 0xBBB8D6D36BD3D305ULL, 0xD35C6BE7BBE7E78CULL, 0xDCCB576EA56E6E39ULL, 0x95F36EC437C4C4AAULL, 0x060F18030C03031BULL, 0xAC138A56455656DCULL, 0x88491A440D44445EULL, 0xFE9EDF7FE17F7FA0ULL, 0x4F3721A99EA9A988ULL, 0x54824D2AA82A2A67ULL, 0x6B6DB1BBD6BBBB0AULL, 0x9FE246C123C1C187ULL, 0xA602A253515353F1ULL, 0xA58BAEDC57DCDC72ULL, 0x1627580B2C0B0B53ULL, 0x27D39C9D4E9D9D01ULL, 0xD8C1476CAD6C6C2BULL, 0x62F59531C43131A4ULL, 0xE8B98774CD7474F3ULL, 0xF109E3F6FFF6F615ULL, 0x8C430A460546464CULL, 0x452609AC8AACACA5ULL, 0x0F973C891E8989B5ULL, 0x2844A014501414B4ULL, 0xDF425BE1A3E1E1BAULL, 0x2C4EB016581616A6ULL, 0x74D2CD3AE83A3AF7ULL, 0xD2D06F69B9696906ULL, 0x122D480924090941ULL, 0xE0ADA770DD7070D7ULL, 0x7154D9B6E2B6B66FULL, 0xBDB7CED067D0D01EULL, 0xC77E3BED93EDEDD6ULL, 0x85DB2ECC17CCCCE2ULL, 0x84572A4215424268ULL, 0x2DC2B4985A98982CULL, 0x550E49A4AAA4A4EDULL, 0x50885D28A0282875ULL, 0xB831DA5C6D5C5C86ULL, 0xED3F93F8C7F8F86BULL, 0x11A44486228686C2ULL,

0x78C018601818D830ULL, 0xAF05238C23232646ULL, 0xF97EC63FC6C6B891ULL, 0x6F13E887E8E8FBCDULL, 0xA14C87268787CB13ULL, 0x62A9B8DAB8B8116DULL, 0x0508010401010902ULL, 0x6E424F214F4F0D9EULL, 0xEEAD36D836369B6CULL, 0x0459A6A2A6A6FF51ULL, 0xBDDED26FD2D20CB9ULL, 0x06FBF5F3F5F50EF7ULL, 0x80EF79F9797996F2ULL, 0xCE5F6FA16F6F30DEULL, 0xEFFC917E91916D3FULL, 0x07AA52555252F8A4ULL, 0xFD27609D606047C0ULL, 0x7689BCCABCBC3565ULL, 0xCDAC9B569B9B372BULL, 0x8C048E028E8E8A01ULL, 0x1571A3B6A3A3D25BULL, 0x3C600C300C0C6C18ULL, 0x8AFF7BF17B7B84F6ULL, 0xE1B535D43535806AULL, 0x69E81D741D1DF53AULL, 0x4753E0A7E0E0B3DDULL, 0xACF6D77BD7D721B3ULL, 0xED5EC22FC2C29C99ULL, 0x966D2EB82E2E435CULL, 0x7A624B314B4B2996ULL, 0x21A3FEDFFEFE5DE1ULL, 0x168257415757D5AEULL, 0x41A815541515BD2AULL, 0xB69F77C17777E8EEULL, 0xEBA537DC3737926EULL, 0x567BE5B3E5E59ED7ULL, 0xD98C9F469F9F1323ULL, 0x17D3F0E7F0F023FDULL, 0x7F6A4A354A4A2094ULL, 0x959EDA4FDADA44A9ULL, 0x25FA587D5858A2B0ULL, 0xCA06C903C9C9CF8FULL, 0x8D5529A429297C52ULL, 0x22500A280A0A5A14ULL, 0x4FE1B1FEB1B1507FULL, 0x1A69A0BAA0A0C95DULL, 0xDA7F6BB16B6B14D6ULL, 0xAB5C852E8585D917ULL, 0x7381BDCEBDBD3C67ULL, 0x34D25D695D5D8FBAULL, 0x5080104010109020ULL, 0x03F3F4F7F4F407F5ULL, 0xC016CB0BCBCBDD8BULL, 0xC6ED3EF83E3ED37CULL, 0x1128051405052D0AULL, 0xE61F6781676778CEULL, 0x5373E4B7E4E497D5ULL, 0xBB25279C2727024EULL, 0x5832411941417382ULL, 0x9D2C8B168B8BA70BULL, 0x0151A7A6A7A7F653ULL, 0x94CF7DE97D7DB2FAULL, 0xFBDC956E95954937ULL, 0x9F8ED847D8D856ADULL, 0x308BFBCBFBFB70EBULL, 0x7123EE9FEEEECDC1ULL, 0x91C77CED7C7CBBF8ULL, 0xE3176685666671CCULL, 0x8EA6DD53DDDD7BA7ULL, 0x4BB8175C1717AF2EULL, 0x460247014747458EULL, 0xDC849E429E9E1A21ULL, 0xC51ECA0FCACAD489ULL, 0x99752DB42D2D585AULL, 0x7991BFC6BFBF2E63ULL, 0x1B38071C07073F0EULL, 0x2301AD8EADADAC47ULL, 0x2FEA5A755A5AB0B4ULL, 0xB56C83368383EF1BULL, 0xFF8533CC3333B666ULL, 0xF23F639163635CC6ULL, 0x0A10020802021204ULL, 0x3839AA92AAAA9349ULL, 0xA8AF71D97171DEE2ULL, 0xCF0EC807C8C8C68DULL, 0x7DC819641919D132ULL, 0x7072493949493B92ULL, 0x9A86D943D9D95FAFULL, 0x1DC3F2EFF2F231F9ULL, 0x484BE3ABE3E3A8DBULL, 0x2AE25B715B5BB9B6ULL, 0x9234881A8888BC0DULL, 0xC8A49A529A9A3E29ULL, 0xBE2D269826260B4CULL, 0xFA8D32C83232BF64ULL, 0x4AE9B0FAB0B0597DULL, 0x6A1BE983E9E9F2CFULL, 0x33780F3C0F0F771EULL, 0xA6E6D573D5D533B7ULL, 0xBA74803A8080F41DULL, 0x7C99BEC2BEBE2761ULL, 0xDE26CD13CDCDEB87ULL, 0xE4BD34D034348968ULL, 0x757A483D48483290ULL, 0x24ABFFDBFFFF54E3ULL, 0x8FF77AF57A7A8DF4ULL, 0xEAF4907A9090643DULL, 0x3EC25F615F5F9DBEULL, 0xA01D208020203D40ULL, 0xD56768BD68680FD0ULL, 0x72D01A681A1ACA34ULL, 0x2C19AE82AEAEB741ULL, 0x5EC9B4EAB4B47D75ULL, 0x199A544D5454CEA8ULL, 0xE5EC937693937F3BULL, 0xAA0D228822222F44ULL, 0xE907648D646463C8ULL, 0x12DBF1E3F1F12AFFULL, 0xA2BF73D17373CCE6ULL, 0x5A90124812128224ULL, 0x5D3A401D40407A80ULL, 0x2840082008084810ULL, 0xE856C32BC3C3959BULL, 0x7B33EC97ECECDFC5ULL, 0x9096DB4BDBDB4DABULL, 0x1F61A1BEA1A1C05FULL, 0x831C8D0E8D8D9107ULL, 0xC9F53DF43D3DC87AULL, 0xF1CC976697975B33ULL, 0x0000000000000000ULL, 0xD436CF1BCFCFF983ULL, 0x87452BAC2B2B6E56ULL, 0xB39776C57676E1ECULL, 0xB06482328282E619ULL, 0xA9FED67FD6D628B1ULL, 0x77D81B6C1B1BC336ULL, 0x5BC1B5EEB5B57477ULL, 0x2911AF86AFAFBE43ULL, 0xDF776AB56A6A1DD4ULL, 0x0DBA505D5050EAA0ULL, 0x4C1245094545578AULL, 0x18CBF3EBF3F338FBULL, 0xF09D30C03030AD60ULL, 0x742BEF9BEFEFC4C3ULL, 0xC3E53FFC3F3FDA7EULL, 0x1C9255495555C7AAULL, 0x1079A2B2A2A2DB59ULL, 0x6503EA8FEAEAE9C9ULL, 0xEC0F658965656ACAULL, 0x68B9BAD2BABA0369ULL, 0x93652FBC2F2F4A5EULL, 0xE74EC027C0C08E9DULL, 0x81BEDE5FDEDE60A1ULL, 0x6CE01C701C1CFC38ULL, 0x2EBBFDD3FDFD46E7ULL, 0x64524D294D4D1F9AULL, 0xE0E4927292927639ULL, 0xBC8F75C97575FAEAULL, 0x1E3006180606360CULL, 0x98248A128A8AAE09ULL, 0x40F9B2F2B2B24B79ULL, 0x5963E6BFE6E685D1ULL, 0x36700E380E0E7E1CULL, 0x63F81F7C1F1FE73EULL, 0xF7376295626255C4ULL, 0xA3EED477D4D43AB5ULL, 0x3229A89AA8A8814DULL, 0xF4C4966296965231ULL, 0x3A9BF9C3F9F962EFULL, 0xF666C533C5C5A397ULL, 0xB13525942525104AULL, 0x20F259795959ABB2ULL, 0xAE54842A8484D015ULL, 0xA7B772D57272C5E4ULL, 0xDDD539E43939EC72ULL, 0x615A4C2D4C4C1698ULL, 0x3BCA5E655E5E94BCULL, 0x85E778FD78789FF0ULL, 0xD8DD38E03838E570ULL, 0x86148C0A8C8C9805ULL, 0xB2C6D163D1D117BFULL, 0x0B41A5AEA5A5E457ULL, 0x4D43E2AFE2E2A1D9ULL, 0xF82F619961614EC2ULL, 0x45F1B3F6B3B3427BULL, 0xA515218421213442ULL, 0xD6949C4A9C9C0825ULL, 0x66F01E781E1EEE3CULL, 0x5222431143436186ULL, 0xFC76C73BC7C7B193ULL, 0x2BB3FCD7FCFC4FE5ULL, 0x1420041004042408ULL, 0x08B251595151E3A2ULL, 0xC7BC995E9999252FULL, 0xC44F6DA96D6D22DAULL, 0x39680D340D0D651AULL, 0x3583FACFFAFA79E9ULL, 0x84B6DF5BDFDF69A3ULL, 0x9BD77EE57E7EA9FCULL, 0xB43D249024241948ULL, 0xD7C53BEC3B3BFE76ULL, 0x3D31AB96ABAB9A4BULL, 0xD13ECE1FCECEF081ULL, 0x5588114411119922ULL, 0x890C8F068F8F8303ULL, 0x6B4A4E254E4E049CULL, 0x51D1B7E6B7B76673ULL, 0x600BEB8BEBEBE0CBULL, 0xCCFD3CF03C3CC178ULL, 0xBF7C813E8181FD1FULL, 0xFED4946A94944035ULL, 0x0CEBF7FBF7F71CF3ULL, 0x67A1B9DEB9B9186FULL, 0x5F98134C13138B26ULL, 0x9C7D2CB02C2C5158ULL, 0xB8D6D36BD3D305BBULL, 0x5C6BE7BBE7E78CD3ULL, 0xCB576EA56E6E39DCULL, 0xF36EC437C4C4AA95ULL, 0x0F18030C03031B06ULL, 0x138A56455656DCACULL, 0x491A440D44445E88ULL, 0x9EDF7FE17F7FA0FEULL, 0x3721A99EA9A9884FULL, 0x824D2AA82A2A6754ULL, 0x6DB1BBD6BBBB0A6BULL, 0xE246C123C1C1879FULL, 0x02A253515353F1A6ULL, 0x8BAEDC57DCDC72A5ULL, 0x27580B2C0B0B5316ULL, 0xD39C9D4E9D9D0127ULL, 0xC1476CAD6C6C2BD8ULL, 0xF59531C43131A462ULL, 0xB98774CD7474F3E8ULL, 0x09E3F6FFF6F615F1ULL, 0x430A460546464C8CULL, 0x2609AC8AACACA545ULL, 0x973C891E8989B50FULL, 0x44A014501414B428ULL, 0x425BE1A3E1E1BADFULL, 0x4EB016581616A62CULL, 0xD2CD3AE83A3AF774ULL, 0xD06F69B9696906D2ULL, 0x2D48092409094112ULL, 0xADA770DD7070D7E0ULL, 0x54D9B6E2B6B66F71ULL, 0xB7CED067D0D01EBDULL, 0x7E3BED93EDEDD6C7ULL, 0xDB2ECC17CCCCE285ULL, 0x572A421542426884ULL, 0xC2B4985A98982C2DULL, 0x0E49A4AAA4A4ED55ULL, 0x885D28A028287550ULL, 0x31DA5C6D5C5C86B8ULL, 0x3F93F8C7F8F86BEDULL, 0xA44486228686C211ULL,

0xC018601818D83078ULL, 0x05238C23232646AFULL, 0x7EC63FC6C6B891F9ULL, 0x13E887E8E8FBCD6FULL, 0x4C87268787CB13A1ULL, 0xA9B8DAB8B8116D62ULL, 0x0801040101090205ULL, 0x424F214F4F0D9E6EULL, 0xAD36D836369B6CEEULL, 0x59A6A2A6A6FF5104ULL, 0xDED26FD2D20CB9BDULL, 0xFBF5F3F5F50EF706ULL, 0xEF79F9797996F280ULL, 0x5F6FA16F6F30DECEULL, 0xFC917E91916D3FEFULL, 0xAA52555252F8A407ULL, 0x27609D606047C0FDULL, 0x89BCCABCBC356576ULL, 0xAC9B569B9B372BCDULL, 0x048E028E8E8A018CULL, 0x71A3B6A3A3D25B15ULL, 0x600C300C0C6C183CULL, 0xFF7BF17B7B84F68AULL, 0xB535D43535806AE1ULL, 0xE81D741D1DF53A69ULL, 0x53E0A7E0E0B3DD47ULL, 0xF6D77BD7D721B3ACULL, 0x5EC22FC2C29C99EDULL, 0x6D2EB82E2E435C96ULL, 0x624B314B4B29967AULL, 0xA3FEDFFEFE5DE121ULL, 0x8257415757D5AE16ULL, 0xA815541515BD2A41ULL, 0x9F77C17777E8EEB6ULL, 0xA537DC3737926EEBULL, 0x7BE5B3E5E59ED756ULL, 0x8C9F469F9F1323D9ULL, 0xD3F0E7F0F023FD17ULL, 0x6A4A354A4A20947FULL, 0x9EDA4FDADA44A995ULL, 0xFA587D5858A2B025ULL, 0x06C903C9C9CF8FCAULL, 0x5529A429297C528DULL, 0x500A280A0A5A1422ULL, 0xE1B1FEB1B1507F4FULL, 0x69A0BAA0A0C95D1AULL, 0x7F6BB16B6B14D6DAULL, 0x5C852E8585D917ABULL, 0x81BDCEBDBD3C6773ULL, 0xD25D695D5D8FBA34ULL, 0x8010401010902050ULL, 0xF3F4F7F4F407F503ULL, 0x16CB0BCBCBDD8BC0ULL, 0xED3EF83E3ED37CC6ULL, 0x28051405052D0A11ULL, 0x1F6781676778CEE6ULL, 0x73E4B7E4E497D553ULL, 0x25279C2727024EBBULL, 0x3241194141738258ULL, 0x2C8B168B8BA70B9DULL, 0x51A7A6A7A7F65301ULL, 0xCF7DE97D7DB2FA94ULL, 0xDC956E95954937FBULL, 0x8ED847D8D856AD9FULL, 0x8BFBCBFBFB70EB30ULL, 0x23EE9FEEEECDC171ULL, 0xC77CED7C7CBBF891ULL, 0x176685666671CCE3ULL, 0xA6DD53DDDD7BA78EULL, 0xB8175C1717AF2E4BULL, 0x0247014747458E46ULL, 0x849E429E9E1A21DCULL, 0x1ECA0FCACAD489C5ULL, 0x752DB42D2D585A99ULL, 0x91BFC6BFBF2E6379ULL, 0x38071C07073F0E1BULL, 0x01AD8EADADAC4723ULL, 0xEA5A755A5AB0B42FULL, 0x6C83368383EF1BB5ULL, 0x8533CC3333B666FFULL, 0x3F639163635CC6F2ULL, 0x100208020212040AULL, 0x39AA92AAAA934938ULL, 0xAF71D97171DEE2A8ULL, 0x0EC807C8C8C68DCFULL, 0xC819641919D1327DULL, 0x72493949493B9270ULL, 0x86D943D9D95FAF9AULL, 0xC3F2EFF2F231F91DULL, 0x4BE3ABE3E3A8DB48ULL, 0xE25B715B5BB9B62AULL, 0x34881A8888BC0D92ULL, 0xA49A529A9A3E29C8ULL, 0x2D269826260B4CBEULL, 0x8D32C83232BF64FAULL, 0xE9B0FAB0B0597D4AULL, 0x1BE983E9E9F2CF6AULL, 0x780F3C0F0F771E33ULL, 0xE6D573D5D533B7A6ULL, 0x74803A8080F41DBAULL, 0x99BEC2BEBE27617CULL, 0x26CD13CDCDEB87DEULL, 0xBD34D034348968E4ULL, 0x7A483D4848329075ULL, 0xABFFDBFFFF54E324ULL, 0xF77AF57A7A8DF48FULL, 0xF4907A9090643DEAULL, 0xC25F615F5F9DBE3EULL, 0x1D208020203D40A0ULL, 0x6768BD68680FD0D5ULL, 0xD01A681A1ACA3472ULL, 0x19AE82AEAEB7412CULL, 0xC9B4EAB4B47D755EULL, 0x9A544D5454CEA819ULL, 0xEC937693937F3BE5ULL, 0x0D228822222F44AAULL, 0x07648D646463C8E9ULL, 0xDBF1E3F1F12AFF12ULL, 0xBF73D17373CCE6A2ULL, 0x901248121282245AULL, 0x3A401D40407A805DULL, 0x4008200808481028ULL, 0x56C32BC3C3959BE8ULL, 0x33EC97ECECDFC57BULL, 0x96DB4BDBDB4DAB90ULL, 0x61A1BEA1A1C05F1FULL, 0x1C8D0E8D8D910783ULL, 0xF53DF43D3DC87AC9ULL, 0xCC976697975B33F1ULL, 0x0000000000000000ULL, 0x36CF1BCFCFF983D4ULL, 0x452BAC2B2B6E5687ULL, 0x9776C57676E1ECB3ULL, 0x6482328282E619B0ULL, 0xFED67FD6D628B1A9ULL, 0xD81B6C1B1BC33677ULL, 0xC1B5EEB5B574775BULL, 0x11AF86AFAFBE4329ULL, 0x776AB56A6A1DD4DFULL, 0xBA505D5050EAA00DULL, 0x1245094545578A4CULL, 0xCBF3EBF3F338FB18ULL, 0x9D30C03030AD60F0ULL, 0x2BEF9BEFEFC4C374ULL, 0xE53FFC3F3FDA7EC3ULL, 0x9255495555C7AA1CULL, 0x79A2B2A2A2DB5910ULL, 0x03EA8FEAEAE9C965ULL, 0x0F658965656ACAECULL, 0xB9BAD2BABA036968ULL, 0x652FBC2F2F4A5E93ULL, 0x4EC027C0C08E9DE7ULL, 0xBEDE5FDEDE60A181ULL, 0xE01C701C1CFC386CULL, 0xBBFDD3FDFD46E72EULL, 0x524D294D4D1F9A64ULL, 0xE4927292927639E0ULL, 0x8F75C97575FAEABCULL, 0x3006180606360C1EULL, 0x248A128A8AAE0998ULL, 0xF9B2F2B2B24B7940ULL, 0x63E6BFE6E685D159ULL, 0x700E380E0E7E1C36ULL, 0xF81F7C1F1FE73E63ULL, 0x376295626255C4F7ULL, 0xEED477D4D43AB5A3ULL, 0x29A89AA8A8814D32ULL, 0xC4966296965231F4ULL, 0x9BF9C3F9F962EF3AULL, 0x66C533C5C5A397F6ULL, 0x3525942525104AB1ULL, 0xF259795959ABB220ULL, 0x54842A8484D015AEULL, 0xB772D57272C5E4A7ULL, 0xD539E43939EC72DDULL, 0x5A4C2D4C4C169861ULL, 0xCA5E655E5E94BC3BULL, 0xE778FD78789FF085ULL, 0xDD38E03838E570D8ULL, 0x148C0A8C8C980586ULL, 0xC6D163D1D117BFB2ULL, 0x41A5AEA5A5E4570BULL, 0x43E2AFE2E2A1D94DULL, 0x2F619961614EC2F8ULL, 0xF1B3F6B3B3427B45ULL, 0x15218421213442A5ULL, 0x949C4A9C9C0825D6ULL, 0xF01E781E1EEE3C66ULL, 0x2243114343618652ULL, 0x76C73BC7C7B193FCULL, 0xB3FCD7FCFC4FE52BULL, 0x2004100404240814ULL, 0xB251595151E3A208ULL, 0xBC995E9999252FC7ULL, 0x4F6DA96D6D22DAC4ULL, 0x680D340D0D651A39ULL, 0x83FACFFAFA79E935ULL, 0xB6DF5BDFDF69A384ULL, 0xD77EE57E7EA9FC9BULL, 0x3D249024241948B4ULL, 0xC53BEC3B3BFE76D7ULL, 0x31AB96ABAB9A4B3DULL, 0x3ECE1FCECEF081D1ULL, 0x8811441111992255ULL, 0x0C8F068F8F830389ULL, 0x4A4E254E4E049C6BULL, 0xD1B7E6B7B7667351ULL, 0x0BEB8BEBEBE0CB60ULL, 0xFD3CF03C3CC178CCULL, 0x7C813E8181FD1FBFULL, 0xD4946A94944035FEULL, 0xEBF7FBF7F71CF30CULL, 0xA1B9DEB9B9186F67ULL, 0x98134C13138B265FULL, 0x7D2CB02C2C51589CULL, 0xD6D36BD3D305BBB8ULL, 0x6BE7BBE7E78CD35CULL, 0x576EA56E6E39DCCBULL, 0x6EC437C4C4AA95F3ULL, 0x18030C03031B060FULL, 0x8A56455656DCAC13ULL, 0x1A440D44445E8849ULL, 0xDF7FE17F7FA0FE9EULL, 0x21A99EA9A9884F37ULL, 0x4D2AA82A2A675482ULL, 0xB1BBD6BBBB0A6B6DULL, 0x46C123C1C1879FE2ULL, 0xA253515353F1A602ULL, 0xAEDC57DCDC72A58BULL, 0x580B2C0B0B531627ULL, 0x9C9D4E9D9D0127D3ULL, 0x476CAD6C6C2BD8C1ULL, 0x9531C43131A462F5ULL, 0x8774CD7474F3E8B9ULL, 0xE3F6FFF6F615F109ULL, 0x0A460546464C8C43ULL, 0x09AC8AACACA54526ULL, 0x3C891E8989B50F97ULL, 0xA014501414B42844ULL, 0x5BE1A3E1E1BADF42ULL, 0xB016581616A62C4EULL, 0xCD3AE83A3AF774D2ULL, 0x6F69B9696906D2D0ULL, 0x480924090941122DULL, 0xA770DD7070D7E0ADULL, 0xD9B6E2B6B66F7154ULL, 0xCED067D0D01EBDB7ULL, 0x3BED93EDEDD6C77EULL, 0x2ECC17CCCCE285DBULL, 0x2A42154242688457ULL, 0xB4985A98982C2DC2ULL, 0x49A4AAA4A4ED550EULL, 0x5D28A02828755088ULL, 0xDA5C6D5C5C86B831ULL, 0x93F8C7F8F86BED3FULL, 0x4486228686C211A4ULL,

0x18601818D83078C0ULL, 0x238C23232646AF05ULL, 0xC63FC6C6B891F97EULL, 0xE887E8E8FBCD6F13ULL, 0x87268787CB13A14CULL, 0xB8DAB8B8116D62A9ULL, 0x0104010109020508ULL, 0x4F214F4F0D9E6E42ULL, 0x36D836369B6CEEADULL, 0xA6A2A6A6FF510459ULL, 0xD26FD2D20CB9BDDEULL, 0xF5F3F5F50EF706FBULL, 0x79F9797996F280EFULL, 0x6FA16F6F30DECE5FULL, 0x917E91916D3FEFFCULL, 0x52555252F8A407AAULL, 0x609D606047C0FD27ULL, 0xBCCABCBC35657689ULL, 0x9B569B9B372BCDACULL, 0x8E028E8E8A018C04ULL, 0xA3B6A3A3D25B1571ULL, 0x0C300C0C6C183C60ULL, 0x7BF17B7B84F68AFFULL, 0x35D43535806AE1B5ULL, 0x1D741D1DF53A69E8ULL, 0xE0A7E0E0B3DD4753ULL, 0xD77BD7D721B3ACF6ULL, 0xC22FC2C29C99ED5EULL, 0x2EB82E2E435C966DULL, 0x4B314B4B29967A62ULL, 0xFEDFFEFE5DE121A3ULL, 0x57415757D5AE1682ULL, 0x15541515BD2A41A8ULL, 0x77C17777E8EEB69FULL, 0x37DC3737926EEBA5ULL, 0xE5B3E5E59ED7567BULL, 0x9F469F9F1323D98CULL, 0xF0E7F0F023FD17D3ULL, 0x4A354A4A20947F6AULL, 0xDA4FDADA44A9959EULL, 0x587D5858A2B025FAULL, 0xC903C9C9CF8FCA06ULL, 0x29A429297C528D55ULL, 0x0A280A0A5A142250ULL, 0xB1FEB1B1507F4FE1ULL, 0xA0BAA0A0C95D1A69ULL, 0x6BB16B6B14D6DA7FULL, 0x852E8585D917AB5CULL, 0xBDCEBDBD3C677381ULL, 0x5D695D5D8FBA34D2ULL, 0x1040101090205080ULL, 0xF4F7F4F407F503F3ULL, 0xCB0BCBCBDD8BC016ULL, 0x3EF83E3ED37CC6EDULL, 0x051405052D0A1128ULL, 0x6781676778CEE61FULL, 0xE4B7E4E497D55373ULL, 0x279C2727024EBB25ULL, 0x4119414173825832ULL, 0x8B168B8BA70B9D2CULL, 0xA7A6A7A7F6530151ULL, 0x7DE97D7DB2FA94CFULL, 0x956E95954937FBDCULL, 0xD847D8D856AD9F8EULL, 0xFBCBFBFB70EB308BULL, 0xEE9FEEEECDC17123ULL, 0x7CED7C7CBBF891C7ULL, 0x6685666671CCE317ULL, 0xDD53DDDD7BA78EA6ULL, 0x175C1717AF2E4BB8ULL, 0x47014747458E4602ULL, 0x9E429E9E1A21DC84ULL, 0xCA0FCACAD489C51EULL, 0x2DB42D2D585A9975ULL, 0xBFC6BFBF2E637991ULL, 0x071C07073F0E1B38ULL, 0xAD8EADADAC472301ULL, 0x5A755A5AB0B42FEAULL, 0x83368383EF1BB56CULL, 0x33CC3333B666FF85ULL, 0x639163635CC6F23FULL, 0x0208020212040A10ULL, 0xAA92AAAA93493839ULL, 0x71D97171DEE2A8AFULL, 0xC807C8C8C68DCF0EULL, 0x19641919D1327DC8ULL, 0x493949493B927072ULL, 0xD943D9D95FAF9A86ULL, 0xF2EFF2F231F91DC3ULL, 0xE3ABE3E3A8DB484BULL, 0x5B715B5BB9B62AE2ULL, 0x881A8888BC0D9234ULL, 0x9A529A9A3E29C8A4ULL, 0x269826260B4CBE2DULL, 0x32C83232BF64FA8DULL, 0xB0FAB0B0597D4AE9ULL, 0xE983E9E9F2CF6A1BULL, 0x0F3C0F0F771E3378ULL, 0xD573D5D533B7A6E6ULL, 0x803A8080F41DBA74ULL, 0xBEC2BEBE27617C99ULL, 0xCD13CDCDEB87DE26ULL, 0x34D034348968E4BDULL, 0x483D48483290757AULL, 0xFFDBFFFF54E324ABULL, 0x7AF57A7A8DF48FF7ULL, 0x907A9090643DEAF4ULL, 0x5F615F5F9DBE3EC2ULL, 0x208020203D40A01DULL, 0x68BD68680FD0D567ULL, 0x1A681A1ACA3472D0ULL, 0xAE82AEAEB7412C19ULL, 0xB4EAB4B47D755EC9ULL, 0x544D5454CEA8199AULL, 0x937693937F3BE5ECULL, 0x228822222F44AA0DULL, 0x648D646463C8E907ULL, 0xF1E3F1F12AFF12DBULL, 0x73D17373CCE6A2BFULL, 0x1248121282245A90ULL, 0x401D40407A805D3AULL, 0x0820080848102840ULL, 0xC32BC3C3959BE856ULL, 0xEC97ECECDFC57B33ULL, 0xDB4BDBDB4DAB9096ULL, 0xA1BEA1A1C05F1F61ULL, 0x8D0E8D8D9107831CULL, 0x3DF43D3DC87AC9F5ULL, 0x976697975B33F1CCULL, 0x0000000000000000ULL, 0xCF1BCFCFF983D436ULL, 0x2BAC2B2B6E568745ULL, 0x76C57676E1ECB397ULL, 0x82328282E619B064ULL, 0xD67FD6D628B1A9FEULL, 0x1B6C1B1BC33677D8ULL, 0xB5EEB5B574775BC1ULL, 0xAF86AFAFBE432911ULL, 0x6AB56A6A1DD4DF77ULL, 0x505D5050EAA00DBAULL, 0x45094545578A4C12ULL, 0xF3EBF3F338FB18CBULL, 0x30C03030AD60F09DULL, 0xEF9BEFEFC4C3742BULL, 0x3FFC3F3FDA7EC3E5ULL, 0x55495555C7AA1C92ULL, 0xA2B2A2A2DB591079ULL, 0xEA8FEAEAE9C96503ULL, 0x658965656ACAEC0FULL, 0xBAD2BABA036968B9ULL, 0x2FBC2F2F4A5E9365ULL, 0xC027C0C08E9DE74EULL, 0xDE5FDEDE60A181BEULL, 0x1C701C1CFC386CE0ULL, 0xFDD3FDFD46E72EBBULL, 0x4D294D4D1F9A6452ULL, 0x927292927639E0E4ULL, 0x75C97575FAEABC8FULL, 0x06180606360C1E30ULL, 0x8A128A8AAE099824ULL, 0xB2F2B2B24B7940F9ULL, 0xE6BFE6E685D15963ULL, 0x0E380E0E7E1C3670ULL, 0x1F7C1F1FE73E63F8ULL, 0x6295626255C4F737ULL, 0xD477D4D43AB5A3EEULL, 0xA89AA8A8814D3229ULL, 0x966296965231F4C4ULL, 0xF9C3F9F962EF3A9BULL, 0xC533C5C5A397F666ULL, 0x25942525104AB135ULL, 0x59795959ABB220F2ULL, 0x842A8484D015AE54ULL, 0x72D57272C5E4A7B7ULL, 0x39E43939EC72DDD5ULL, 0x4C2D4C4C1698615AULL, 0x5E655E5E94BC3BCAULL, 0x78FD78789FF085E7ULL, 0x38E03838E570D8DDULL, 0x8C0A8C8C98058614ULL, 0xD163D1D117BFB2C6ULL, 0xA5AEA5A5E4570B41ULL, 0xE2AFE2E2A1D94D43ULL, 0x619961614EC2F82FULL, 0xB3F6B3B3427B45F1ULL, 0x218421213442A515ULL, 0x9C4A9C9C0825D694ULL, 0x1E781E1EEE3C66F0ULL, 0x4311434361865222ULL, 0xC73BC7C7B193FC76ULL, 0xFCD7FCFC4FE52BB3ULL, 0x0410040424081420ULL, 0x51595151E3A208B2ULL, 0x995E9999252FC7BCULL, 0x6DA96D6D22DAC44FULL, 0x0D340D0D651A3968ULL, 0xFACFFAFA79E93583ULL, 0xDF5BDFDF69A384B6ULL, 0x7EE57E7EA9FC9BD7ULL, 0x249024241948B43DULL, 0x3BEC3B3BFE76D7C5ULL, 0xAB96ABAB9A4B3D31ULL, 0xCE1FCECEF081D13EULL, 0x1144111199225588ULL, 0x8F068F8F8303890CULL, 0x4E254E4E049C6B4AULL, 0xB7E6B7B7667351D1ULL, 0xEB8BEBEBE0CB600BULL, 0x3CF03C3CC178CCFDULL, 0x813E8181FD1FBF7CULL, 0x946A94944035FED4ULL, 0xF7FBF7F71CF30CEBULL, 0xB9DEB9B9186F67A1ULL, 0x134C13138B265F98ULL, 0x2CB02C2C51589C7DULL, 0xD36BD3D305BBB8D6ULL, 0xE7BBE7E78CD35C6BULL, 0x6EA56E6E39DCCB57ULL, 0xC437C4C4AA95F36EULL, 0x030C03031B060F18ULL, 0x56455656DCAC138AULL, 0x440D44445E88491AULL, 0x7FE17F7FA0FE9EDFULL, 0xA99EA9A9884F3721ULL, 0x2AA82A2A6754824DULL, 0xBBD6BBBB0A6B6DB1ULL, 0xC123C1C1879FE246ULL, 0x53515353F1A602A2ULL, 0xDC57DCDC72A58BAEULL, 0x0B2C0B0B53162758ULL, 0x9D4E9D9D0127D39CULL, 0x6CAD6C6C2BD8C147ULL, 0x31C43131A462F595ULL, 0x74CD7474F3E8B987ULL, 0xF6FFF6F615F109E3ULL, 0x460546464C8C430AULL, 0xAC8AACACA5452609ULL, 0x891E8989B50F973CULL, 0x14501414B42844A0ULL, 0xE1A3E1E1BADF425BULL, 0x16581616A62C4EB0ULL, 0x3AE83A3AF774D2CDULL, 0x69B9696906D2D06FULL, 0x0924090941122D48ULL, 0x70DD7070D7E0ADA7ULL, 0xB6E2B6B66F7154D9ULL, 0xD067D0D01EBDB7CEULL, 0xED93EDEDD6C77E3BULL, 0xCC17CCCCE285DB2EULL, 0x421542426884572AULL, 0x985A98982C2DC2B4ULL, 0xA4AAA4A4ED550E49ULL, 0x28A028287550885DULL, 0x5C6D5C5C86B831DAULL, 0xF8C7F8F86BED3F93ULL, 0x86228686C211A444ULL,

0x601818D83078C018ULL, 0x8C23232646AF0523ULL, 0x3FC6C6B891F97EC6ULL, 0x87E8E8FBCD6F13E8ULL, 0x268787CB13A14C87ULL, 0xDAB8B8116D62A9B8ULL, 0x0401010902050801ULL, 0x214F4F0D9E6E424FULL, 0xD836369B6CEEAD36ULL, 0xA2A6A6FF510459A6ULL, 0x6FD2D20CB9BDDED2ULL, 0xF3F5F50EF706FBF5ULL, 0xF9797996F280EF79ULL, 0xA16F6F30DECE5F6FULL, 0x7E91916D3FEFFC91ULL, 0x555252F8A407AA52ULL, 0x9D606047C0FD2760ULL, 0xCABCBC35657689BCULL, 0x569B9B372BCDAC9BULL, 0x028E8E8A018C048EULL, 0xB6A3A3D25B1571A3ULL, 0x300C0C6C183C600CULL, 0xF17B7B84F68AFF7BULL, 0xD43535806AE1B535ULL, 0x741D1DF53A69E81DULL, 0xA7E0E0B3DD4753E0ULL, 0x7BD7D721B3ACF6D7ULL, 0x2FC2C29C99ED5EC2ULL, 0xB82E2E435C966D2EULL, 0x314B4B29967A624BULL, 0xDFFEFE5DE121A3FEULL, 0x415757D5AE168257ULL, 0x541515BD2A41A815ULL, 0xC17777E8EEB69F77ULL, 0xDC3737926EEBA537ULL, 0xB3E5E59ED7567BE5ULL, 0x469F9F1323D98C9FULL, 0xE7F0F023FD17D3F0ULL, 0x354A4A20947F6A4AULL, 0x4FDADA44A9959EDAULL, 0x7D5858A2B025FA58ULL, 0x03C9C9CF8FCA06C9ULL, 0xA429297C528D5529ULL, 0x280A0A5A1422500AULL, 0xFEB1B1507F4FE1B1ULL, 0xBAA0A0C95D1A69A0ULL, 0xB16B6B14D6DA7F6BULL, 0x2E8585D917AB5C85ULL, 0xCEBDBD3C677381BDULL, 0x695D5D8FBA34D25DULL, 0x4010109020508010ULL, 0xF7F4F407F503F3F4ULL, 0x0BCBCBDD8BC016CBULL, 0xF83E3ED37CC6ED3EULL, 0x1405052D0A112805ULL, 0x81676778CEE61F67ULL, 0xB7E4E497D55373E4ULL, 0x9C2727024EBB2527ULL, 0x1941417382583241ULL, 0x168B8BA70B9D2C8BULL, 0xA6A7A7F6530151A7ULL, 0xE97D7DB2FA94CF7DULL, 0x6E95954937FBDC95ULL, 0x47D8D856AD9F8ED8ULL, 0xCBFBFB70EB308BFBULL, 0x9FEEEECDC17123EEULL, 0xED7C7CBBF891C77CULL, 0x85666671CCE31766ULL, 0x53DDDD7BA78EA6DDULL, 0x5C1717AF2E4BB817ULL, 0x014747458E460247ULL, 0x429E9E1A21DC849EULL, 0x0FCACAD489C51ECAULL, 0xB42D2D585A99752DULL, 0xC6BFBF2E637991BFULL, 0x1C07073F0E1B3807ULL, 0x8EADADAC472301ADULL, 0x755A5AB0B42FEA5AULL, 0x368383EF1BB56C83ULL, 0xCC3333B666FF8533ULL, 0x9163635CC6F23F63ULL, 0x08020212040A1002ULL, 0x92AAAA93493839AAULL, 0xD97171DEE2A8AF71ULL, 0x07C8C8C68DCF0EC8ULL, 0x641919D1327DC819ULL, 0x3949493B92707249ULL, 0x43D9D95FAF9A86D9ULL, 0xEFF2F231F91DC3F2ULL, 0xABE3E3A8DB484BE3ULL, 0x715B5BB9B62AE25BULL, 0x1A8888BC0D923488ULL, 0x529A9A3E29C8A49AULL, 0x9826260B4CBE2D26ULL, 0xC83232BF64FA8D32ULL, 0xFAB0B0597D4AE9B0ULL, 0x83E9E9F2CF6A1BE9ULL, 0x3C0F0F771E33780FULL, 0x73D5D533B7A6E6D5ULL, 0x3A8080F41DBA7480ULL, 0xC2BEBE27617C99BEULL, 0x13CDCDEB87DE26CDULL, 0xD034348968E4BD34ULL, 0x3D48483290757A48ULL, 0xDBFFFF54E324ABFFULL, 0xF57A7A8DF48FF77AULL, 0x7A9090643DEAF490ULL, 0x615F5F9DBE3EC25FULL, 0x8020203D40A01D20ULL, 0xBD68680FD0D56768ULL, 0x681A1ACA3472D01AULL, 0x82AEAEB7412C19AEULL, 0xEAB4B47D755EC9B4ULL, 0x4D5454CEA8199A54ULL, 0x7693937F3BE5EC93ULL, 0x8822222F44AA0D22ULL, 0x8D646463C8E90764ULL, 0xE3F1F12AFF12DBF1ULL, 0xD17373CCE6A2BF73ULL, 0x48121282245A9012ULL, 0x1D40407A805D3A40ULL, 0x2008084810284008ULL, 0x2BC3C3959BE856C3ULL, 0x97ECECDFC57B33ECULL, 0x4BDBDB4DAB9096DBULL, 0xBEA1A1C05F1F61A1ULL, 0x0E8D8D9107831C8DULL, 0xF43D3DC87AC9F53DULL, 0x6697975B33F1CC97ULL, 0x0000000000000000ULL, 0x1BCFCFF983D436CFULL, 0xAC2B2B6E5687452BULL, 0xC57676E1ECB39776ULL, 0x328282E619B06482ULL, 0x7FD6D628B1A9FED6ULL, 0x6C1B1BC33677D81BULL, 0xEEB5B574775BC1B5ULL, 0x86AFAFBE432911AFULL, 0xB56A6A1DD4DF776AULL, 0x5D5050EAA00DBA50ULL, 0x094545578A4C1245ULL, 0xEBF3F338FB18CBF3ULL, 0xC03030AD60F09D30ULL, 0x9BEFEFC4C3742BEFULL, 0xFC3F3FDA7EC3E53FULL, 0x495555C7AA1C9255ULL, 0xB2A2A2DB591079A2ULL, 0x8FEAEAE9C96503EAULL, 0x8965656ACAEC0F65ULL, 0xD2BABA036968B9BAULL, 0xBC2F2F4A5E93652FULL, 0x27C0C08E9DE74EC0ULL, 0x5FDEDE60A181BEDEULL, 0x701C1CFC386CE01CULL, 0xD3FDFD46E72EBBFDULL, 0x294D4D1F9A64524DULL, 0x7292927639E0E492ULL, 0xC97575FAEABC8F75ULL, 0x180606360C1E3006ULL, 0x128A8AAE0998248AULL, 0xF2B2B24B7940F9B2ULL, 0xBFE6E685D15963E6ULL, 0x380E0E7E1C36700EULL, 0x7C1F1FE73E63F81FULL, 0x95626255C4F73762ULL, 0x77D4D43AB5A3EED4ULL, 0x9AA8A8814D3229A8ULL, 0x6296965231F4C496ULL, 0xC3F9F962EF3A9BF9ULL, 0x33C5C5A397F666C5ULL, 0x942525104AB13525ULL, 0x795959ABB220F259ULL, 0x2A8484D015AE5484ULL, 0xD57272C5E4A7B772ULL, 0xE43939EC72DDD539ULL, 0x2D4C4C1698615A4CULL, 0x655E5E94BC3BCA5EULL, 0xFD78789FF085E778ULL, 0xE03838E570D8DD38ULL, 0x0A8C8C980586148CULL, 0x63D1D117BFB2C6D1ULL, 0xAEA5A5E4570B41A5ULL, 0xAFE2E2A1D94D43E2ULL, 0x9961614EC2F82F61ULL, 0xF6B3B3427B45F1B3ULL, 0x8421213442A51521ULL, 0x4A9C9C0825D6949CULL, 0x781E1EEE3C66F01EULL, 0x1143436186522243ULL, 0x3BC7C7B193FC76C7ULL, 0xD7FCFC4FE52BB3FCULL, 0x1004042408142004ULL, 0x595151E3A208B251ULL, 0x5E9999252FC7BC99ULL, 0xA96D6D22DAC44F6DULL, 0x340D0D651A39680DULL, 0xCFFAFA79E93583FAULL, 0x5BDFDF69A384B6DFULL, 0xE57E7EA9FC9BD77EULL, 0x9024241948B43D24ULL, 0xEC3B3BFE76D7C53BULL, 0x96ABAB9A4B3D31ABULL, 0x1FCECEF081D13ECEULL, 0x4411119922558811ULL, 0x068F8F8303890C8FULL, 0x254E4E049C6B4A4EULL, 0xE6B7B7667351D1B7ULL, 0x8BEBEBE0CB600BEBULL, 0xF03C3CC178CCFD3CULL, 0x3E8181FD1FBF7C81ULL, 0x6A94944035FED494ULL, 0xFBF7F71CF30CEBF7ULL, 0xDEB9B9186F67A1B9ULL, 0x4C13138B265F9813ULL, 0xB02C2C51589C7D2CULL, 0x6BD3D305BBB8D6D3ULL, 0xBBE7E78CD35C6BE7ULL, 0xA56E6E39DCCB576EULL, 0x37C4C4AA95F36EC4ULL, 0x0C03031B060F1803ULL, 0x455656DCAC138A56ULL, 0x0D44445E88491A44ULL, 0xE17F7FA0FE9EDF7FULL, 0x9EA9A9884F3721A9ULL, 0xA82A2A6754824D2AULL, 0xD6BBBB0A6B6DB1BBULL, 0x23C1C1879FE246C1ULL, 0x515353F1A602A253ULL, 0x57DCDC72A58BAEDCULL, 0x2C0B0B531627580BULL, 0x4E9D9D0127D39C9DULL, 0xAD6C6C2BD8C1476CULL, 0xC43131A462F59531ULL, 0xCD7474F3E8B98774ULL, 0xFFF6F615F109E3F6ULL, 0x0546464C8C430A46ULL, 0x8AACACA5452609ACULL, 0x1E8989B50F973C89ULL, 0x501414B42844A014ULL, 0xA3E1E1BADF425BE1ULL, 0x581616A62C4EB016ULL, 0xE83A3AF774D2CD3AULL, 0xB9696906D2D06F69ULL, 0x24090941122D4809ULL, 0xDD7070D7E0ADA770ULL, 0xE2B6B66F7154D9B6ULL, 0x67D0D01EBDB7CED0ULL, 0x93EDEDD6C77E3BEDULL, 0x17CCCCE285DB2ECCULL, 0x1542426884572A42ULL, 0x5A98982C2DC2B498ULL, 0xAAA4A4ED550E49A4ULL, 0xA028287550885D28ULL, 0x6D5C5C86B831DA5CULL, 0xC7F8F86BED3F93F8ULL, 0x228686C211A44486ULL,

0x1818D83078C01860ULL, 0x23232646AF05238CULL, 0xC6C6B891F97EC63FULL, 0xE8E8FBCD6F13E887ULL, 0x8787CB13A14C8726ULL, 0xB8B8116D62A9B8DAULL, 0x0101090205080104ULL, 0x4F4F0D9E6E424F21ULL, 0x36369B6CEEAD36D8ULL, 0xA6A6FF510459A6A2ULL, 0xD2D20CB9BDDED26FULL, 0xF5F50EF706FBF5F3ULL, 0x797996F280EF79F9ULL, 0x6F6F30DECE5F6FA1ULL, 0x91916D3FEFFC917EULL, 0x5252F8A407AA5255ULL, 0x606047C0FD27609DULL, 0xBCBC35657689BCCAULL, 0x9B9B372BCDAC9B56ULL, 0x8E8E8A018C048E02ULL, 0xA3A3D25B1571A3B6ULL, 0x0C0C6C183C600C30ULL, 0x7B7B84F68AFF7BF1ULL, 0x3535806AE1B535D4ULL, 0x1D1DF53A69E81D74ULL, 0xE0E0B3DD4753E0A7ULL, 0xD7D721B3ACF6D77BULL, 0xC2C29C99ED5EC22FULL, 0x2E2E435C966D2EB8ULL, 0x4B4B29967A624B31ULL, 0xFEFE5DE121A3FEDFULL, 0x5757D5AE16825741ULL, 0x1515BD2A41A81554ULL, 0x7777E8EEB69F77C1ULL, 0x3737926EEBA537DCULL, 0xE5E59ED7567BE5B3ULL, 0x9F9F1323D98C9F46ULL, 0xF0F023FD17D3F0E7ULL, 0x4A4A20947F6A4A35ULL, 0xDADA44A9959EDA4FULL, 0x5858A2B025FA587DULL, 0xC9C9CF8FCA06C903ULL, 0x29297C528D5529A4ULL, 0x0A0A5A1422500A28ULL, 0xB1B1507F4FE1B1FEULL, 0xA0A0C95D1A69A0BAULL, 0x6B6B14D6DA7F6BB1ULL, 0x8585D917AB5C852EULL, 0xBDBD3C677381BDCEULL, 0x5D5D8FBA34D25D69ULL, 0x1010902050801040ULL, 0xF4F407F503F3F4F7ULL, 0xCBCBDD8BC016CB0BULL, 0x3E3ED37CC6ED3EF8ULL, 0x05052D0A11280514ULL, 0x676778CEE61F6781ULL, 0xE4E497D55373E4B7ULL, 0x2727024EBB25279CULL, 0x4141738258324119ULL, 0x8B8BA70B9D2C8B16ULL, 0xA7A7F6530151A7A6ULL, 0x7D7DB2FA94CF7DE9ULL, 0x95954937FBDC956EULL, 0xD8D856AD9F8ED847ULL, 0xFBFB70EB308BFBCBULL, 0xEEEECDC17123EE9FULL, 0x7C7CBBF891C77CEDULL, 0x666671CCE3176685ULL, 0xDDDD7BA78EA6DD53ULL, 0x1717AF2E4BB8175CULL, 0x4747458E46024701ULL, 0x9E9E1A21DC849E42ULL, 0xCACAD489C51ECA0FULL, 0x2D2D585A99752DB4ULL, 0xBFBF2E637991BFC6ULL, 0x07073F0E1B38071CULL, 0xADADAC472301AD8EULL, 0x5A5AB0B42FEA5A75ULL, 0x8383EF1BB56C8336ULL, 0x3333B666FF8533CCULL, 0x63635CC6F23F6391ULL, 0x020212040A100208ULL, 0xAAAA93493839AA92ULL, 0x7171DEE2A8AF71D9ULL, 0xC8C8C68DCF0EC807ULL, 0x1919D1327DC81964ULL, 0x49493B9270724939ULL, 0xD9D95FAF9A86D943ULL, 0xF2F231F91DC3F2EFULL, 0xE3E3A8DB484BE3ABULL, 0x5B5BB9B62AE25B71ULL, 0x8888BC0D9234881AULL, 0x9A9A3E29C8A49A52ULL, 0x26260B4CBE2D2698ULL, 0x3232BF64FA8D32C8ULL, 0xB0B0597D4AE9B0FAULL, 0xE9E9F2CF6A1BE983ULL, 0x0F0F771E33780F3CULL, 0xD5D533B7A6E6D573ULL, 0x8080F41DBA74803AULL, 0xBEBE27617C99BEC2ULL, 0xCDCDEB87DE26CD13ULL, 0x34348968E4BD34D0ULL, 0x48483290757A483DULL, 0xFFFF54E324ABFFDBULL, 0x7A7A8DF48FF77AF5ULL, 0x9090643DEAF4907AULL, 0x5F5F9DBE3EC25F61ULL, 0x20203D40A01D2080ULL, 0x68680FD0D56768BDULL, 0x1A1ACA3472D01A68ULL, 0xAEAEB7412C19AE82ULL, 0xB4B47D755EC9B4EAULL, 0x5454CEA8199A544DULL, 0x93937F3BE5EC9376ULL, 0x22222F44AA0D2288ULL, 0x646463C8E907648DULL, 0xF1F12AFF12DBF1E3ULL, 0x7373CCE6A2BF73D1ULL, 0x121282245A901248ULL, 0x40407A805D3A401DULL, 0x0808481028400820ULL, 0xC3C3959BE856C32BULL, 0xECECDFC57B33EC97ULL, 0xDBDB4DAB9096DB4BULL, 0xA1A1C05F1F61A1BEULL, 0x8D8D9107831C8D0EULL, 0x3D3DC87AC9F53DF4ULL, 0x97975B33F1CC9766ULL, 0x0000000000000000ULL, 0xCFCFF983D436CF1BULL, 0x2B2B6E5687452BACULL, 0x7676E1ECB39776C5ULL, 0x8282E619B0648232ULL, 0xD6D628B1A9FED67FULL, 0x1B1BC33677D81B6CULL, 0xB5B574775BC1B5EEULL, 0xAFAFBE432911AF86ULL, 0x6A6A1DD4DF776AB5ULL, 0x5050EAA00DBA505DULL, 0x4545578A4C124509ULL, 0xF3F338FB18CBF3EBULL, 0x3030AD60F09D30C0ULL, 0xEFEFC4C3742BEF9BULL, 0x3F3FDA7EC3E53FFCULL, 0x5555C7AA1C925549ULL, 0xA2A2DB591079A2B2ULL, 0xEAEAE9C96503EA8FULL, 0x65656ACAEC0F6589ULL, 0xBABA036968B9BAD2ULL, 0x2F2F4A5E93652FBCULL, 0xC0C08E9DE74EC027ULL, 0xDEDE60A181BEDE5FULL, 0x1C1CFC386CE01C70ULL, 0xFDFD46E72EBBFDD3ULL, 0x4D4D1F9A64524D29ULL, 0x92927639E0E49272ULL, 0x7575FAEABC8F75C9ULL, 0x0606360C1E300618ULL, 0x8A8AAE0998248A12ULL, 0xB2B24B7940F9B2F2ULL, 0xE6E685D15963E6BFULL, 0x0E0E7E1C36700E38ULL, 0x1F1FE73E63F81F7CULL, 0x626255C4F7376295ULL, 0xD4D43AB5A3EED477ULL, 0xA8A8814D3229A89AULL, 0x96965231F4C49662ULL, 0xF9F962EF3A9BF9C3ULL, 0xC5C5A397F666C533ULL, 0x2525104AB1352594ULL, 0x5959ABB220F25979ULL, 0x8484D015AE54842AULL, 0x7272C5E4A7B772D5ULL, 0x3939EC72DDD539E4ULL, 0x4C4C1698615A4C2DULL, 0x5E5E94BC3BCA5E65ULL, 0x78789FF085E778FDULL, 0x3838E570D8DD38E0ULL, 0x8C8C980586148C0AULL, 0xD1D117BFB2C6D163ULL, 0xA5A5E4570B41A5AEULL, 0xE2E2A1D94D43E2AFULL, 0x61614EC2F82F6199ULL, 0xB3B3427B45F1B3F6ULL, 0x21213442A5152184ULL, 0x9C9C0825D6949C4AULL, 0x1E1EEE3C66F01E78ULL, 0x4343618652224311ULL, 0xC7C7B193FC76C73BULL, 0xFCFC4FE52BB3FCD7ULL, 0x0404240814200410ULL, 0x5151E3A208B25159ULL, 0x9999252FC7BC995EULL, 0x6D6D22DAC44F6DA9ULL, 0x0D0D651A39680D34ULL, 0xFAFA79E93583FACFULL, 0xDFDF69A384B6DF5BULL, 0x7E7EA9FC9BD77EE5ULL, 0x24241948B43D2490ULL, 0x3B3BFE76D7C53BECULL, 0xABAB9A4B3D31AB96ULL, 0xCECEF081D13ECE1FULL, 0x1111992255881144ULL, 0x8F8F8303890C8F06ULL, 0x4E4E049C6B4A4E25ULL, 0xB7B7667351D1B7E6ULL, 0xEBEBE0CB600BEB8BULL, 0x3C3CC178CCFD3CF0ULL, 0x8181FD1FBF7C813EULL, 0x94944035FED4946AULL, 0xF7F71CF30CEBF7FBULL, 0xB9B9186F67A1B9DEULL, 0x13138B265F98134CULL, 0x2C2C51589C7D2CB0ULL, 0xD3D305BBB8D6D36BULL, 0xE7E78CD35C6BE7BBULL, 0x6E6E39DCCB576EA5ULL, 0xC4C4AA95F36EC437ULL, 0x03031B060F18030CULL, 0x5656DCAC138A5645ULL, 0x44445E88491A440DULL, 0x7F7FA0FE9EDF7FE1ULL, 0xA9A9884F3721A99EULL, 0x2A2A6754824D2AA8ULL, 0xBBBB0A6B6DB1BBD6ULL, 0xC1C1879FE246C123ULL, 0x5353F1A602A25351ULL, 0xDCDC72A58BAEDC57ULL, 0x0B0B531627580B2CULL, 0x9D9D0127D39C9D4EULL, 0x6C6C2BD8C1476CADULL, 0x3131A462F59531C4ULL, 0x7474F3E8B98774CDULL, 0xF6F615F109E3F6FFULL, 0x46464C8C430A4605ULL, 0xACACA5452609AC8AULL, 0x8989B50F973C891EULL, 0x1414B42844A01450ULL, 0xE1E1BADF425BE1A3ULL, 0x1616A62C4EB01658ULL, 0x3A3AF774D2CD3AE8ULL, 0x696906D2D06F69B9ULL, 0x090941122D480924ULL, 0x7070D7E0ADA770DDULL, 0xB6B66F7154D9B6E2ULL, 0xD0D01EBDB7CED067ULL, 0xEDEDD6C77E3BED93ULL, 0xCCCCE285DB2ECC17ULL, 0x42426884572A4215ULL, 0x98982C2DC2B4985AULL, 0xA4A4ED550E49A4AAULL, 0x28287550885D28A0ULL, 0x5C5C86B831DA5C6DULL, 0xF8F86BED3F93F8C7ULL, 0x8686C211A4448622ULL,

0x18D83078C0186018ULL, 0x232646AF05238C23ULL, 0xC6B891F97EC63FC6ULL, 0xE8FBCD6F13E887E8ULL, 0x87CB13A14C872687ULL, 0xB8116D62A9B8DAB8ULL, 0x0109020508010401ULL, 0x4F0D9E6E424F214FULL, 0x369B6CEEAD36D836ULL, 0xA6FF510459A6A2A6ULL, 0xD20CB9BDDED26FD2ULL, 0xF50EF706FBF5F3F5ULL, 0x7996F280EF79F979ULL, 0x6F30DECE5F6FA16FULL, 0x916D3FEFFC917E91ULL, 0x52F8A407AA525552ULL, 0x6047C0FD27609D60ULL, 0xBC35657689BCCABCULL, 0x9B372BCDAC9B569BULL, 0x8E8A018C048E028EULL, 0xA3D25B1571A3B6A3ULL, 0x0C6C183C600C300CULL, 0x7B84F68AFF7BF17BULL, 0x35806AE1B535D435ULL, 0x1DF53A69E81D741DULL, 0xE0B3DD4753E0A7E0ULL, 0xD721B3ACF6D77BD7ULL, 0xC29C99ED5EC22FC2ULL, 0x2E435C966D2EB82EULL, 0x4B29967A624B314BULL, 0xFE5DE121A3FEDFFEULL, 0x57D5AE1682574157ULL, 0x15BD2A41A8155415ULL, 0x77E8EEB69F77C177ULL, 0x37926EEBA537DC37ULL, 0xE59ED7567BE5B3E5ULL, 0x9F1323D98C9F469FULL, 0xF023FD17D3F0E7F0ULL, 0x4A20947F6A4A354AULL, 0xDA44A9959EDA4FDAULL, 0x58A2B025FA587D58ULL, 0xC9CF8FCA06C903C9ULL, 0x297C528D5529A429ULL, 0x0A5A1422500A280AULL, 0xB1507F4FE1B1FEB1ULL, 0xA0C95D1A69A0BAA0ULL, 0x6B14D6DA7F6BB16BULL, 0x85D917AB5C852E85ULL, 0xBD3C677381BDCEBDULL, 0x5D8FBA34D25D695DULL, 0x1090205080104010ULL, 0xF407F503F3F4F7F4ULL, 0xCBDD8BC016CB0BCBULL, 0x3ED37CC6ED3EF83EULL, 0x052D0A1128051405ULL, 0x6778CEE61F678167ULL, 0xE497D55373E4B7E4ULL, 0x27024EBB25279C27ULL, 0x4173825832411941ULL, 0x8BA70B9D2C8B168BULL, 0xA7F6530151A7A6A7ULL, 0x7DB2FA94CF7DE97DULL, 0x954937FBDC956E95ULL, 0xD856AD9F8ED847D8ULL, 0xFB70EB308BFBCBFBULL, 0xEECDC17123EE9FEEULL, 0x7CBBF891C77CED7CULL, 0x6671CCE317668566ULL, 0xDD7BA78EA6DD53DDULL, 0x17AF2E4BB8175C17ULL, 0x47458E4602470147ULL, 0x9E1A21DC849E429EULL, 0xCAD489C51ECA0FCAULL, 0x2D585A99752DB42DULL, 0xBF2E637991BFC6BFULL, 0x073F0E1B38071C07ULL, 0xADAC472301AD8EADULL, 0x5AB0B42FEA5A755AULL, 0x83EF1BB56C833683ULL, 0x33B666FF8533CC33ULL, 0x635CC6F23F639163ULL, 0x0212040A10020802ULL, 0xAA93493839AA92AAULL, 0x71DEE2A8AF71D971ULL, 0xC8C68DCF0EC807C8ULL, 0x19D1327DC8196419ULL, 0x493B927072493949ULL, 0xD95FAF9A86D943D9ULL, 0xF231F91DC3F2EFF2ULL, 0xE3A8DB484BE3ABE3ULL, 0x5BB9B62AE25B715BULL, 0x88BC0D9234881A88ULL, 0x9A3E29C8A49A529AULL, 0x260B4CBE2D269826ULL, 0x32BF64FA8D32C832ULL, 0xB0597D4AE9B0FAB0ULL, 0xE9F2CF6A1BE983E9ULL, 0x0F771E33780F3C0FULL, 0xD533B7A6E6D573D5ULL, 0x80F41DBA74803A80ULL, 0xBE27617C99BEC2BEULL, 0xCDEB87DE26CD13CDULL, 0x348968E4BD34D034ULL, 0x483290757A483D48ULL, 0xFF54E324ABFFDBFFULL, 0x7A8DF48FF77AF57AULL, 0x90643DEAF4907A90ULL, 0x5F9DBE3EC25F615FULL, 0x203D40A01D208020ULL, 0x680FD0D56768BD68ULL, 0x1ACA3472D01A681AULL, 0xAEB7412C19AE82AEULL, 0xB47D755EC9B4EAB4ULL, 0x54CEA8199A544D54ULL, 0x937F3BE5EC937693ULL, 0x222F44AA0D228822ULL, 0x6463C8E907648D64ULL, 0xF12AFF12DBF1E3F1ULL, 0x73CCE6A2BF73D173ULL, 0x1282245A90124812ULL, 0x407A805D3A401D40ULL, 0x0848102840082008ULL, 0xC3959BE856C32BC3ULL, 0xECDFC57B33EC97ECULL, 0xDB4DAB9096DB4BDBULL, 0xA1C05F1F61A1BEA1ULL, 0x8D9107831C8D0E8DULL, 0x3DC87AC9F53DF43DULL, 0x975B33F1CC976697ULL, 0x0000000000000000ULL, 0xCFF983D436CF1BCFULL, 0x2B6E5687452BAC2BULL, 0x76E1ECB39776C576ULL, 0x82E619B064823282ULL, 0xD628B1A9FED67FD6ULL, 0x1BC33677D81B6C1BULL, 0xB574775BC1B5EEB5ULL, 0xAFBE432911AF86AFULL, 0x6A1DD4DF776AB56AULL, 0x50EAA00DBA505D50ULL, 0x45578A4C12450945ULL, 0xF338FB18CBF3EBF3ULL, 0x30AD60F09D30C030ULL, 0xEFC4C3742BEF9BEFULL, 0x3FDA7EC3E53FFC3FULL, 0x55C7AA1C92554955ULL, 0xA2DB591079A2B2A2ULL, 0xEAE9C96503EA8FEAULL, 0x656ACAEC0F658965ULL, 0xBA036968B9BAD2BAULL, 0x2F4A5E93652FBC2FULL, 0xC08E9DE74EC027C0ULL, 0xDE60A181BEDE5FDEULL, 0x1CFC386CE01C701CULL, 0xFD46E72EBBFDD3FDULL, 0x4D1F9A64524D294DULL, 0x927639E0E4927292ULL, 0x75FAEABC8F75C975ULL, 0x06360C1E30061806ULL, 0x8AAE0998248A128AULL, 0xB24B7940F9B2F2B2ULL, 0xE685D15963E6BFE6ULL, 0x0E7E1C36700E380EULL, 0x1FE73E63F81F7C1FULL, 0x6255C4F737629562ULL, 0xD43AB5A3EED477D4ULL, 0xA8814D3229A89AA8ULL, 0x965231F4C4966296ULL, 0xF962EF3A9BF9C3F9ULL, 0xC5A397F666C533C5ULL, 0x25104AB135259425ULL, 0x59ABB220F2597959ULL, 0x84D015AE54842A84ULL, 0x72C5E4A7B772D572ULL, 0x39EC72DDD539E439ULL, 0x4C1698615A4C2D4CULL, 0x5E94BC3BCA5E655EULL, 0x789FF085E778FD78ULL, 0x38E570D8DD38E038ULL, 0x8C980586148C0A8CULL, 0xD117BFB2C6D163D1ULL, 0xA5E4570B41A5AEA5ULL, 0xE2A1D94D43E2AFE2ULL, 0x614EC2F82F619961ULL, 0xB3427B45F1B3F6B3ULL, 0x213442A515218421ULL, 0x9C0825D6949C4A9CULL, 0x1EEE3C66F01E781EULL, 0x4361865222431143ULL, 0xC7B193FC76C73BC7ULL, 0xFC4FE52BB3FCD7FCULL, 0x0424081420041004ULL, 0x51E3A208B2515951ULL, 0x99252FC7BC995E99ULL, 0x6D22DAC44F6DA96DULL, 0x0D651A39680D340DULL, 0xFA79E93583FACFFAULL, 0xDF69A384B6DF5BDFULL, 0x7EA9FC9BD77EE57EULL, 0x241948B43D249024ULL, 0x3BFE76D7C53BEC3BULL, 0xAB9A4B3D31AB96ABULL, 0xCEF081D13ECE1FCEULL, 0x1199225588114411ULL, 0x8F8303890C8F068FULL, 0x4E049C6B4A4E254EULL, 0xB7667351D1B7E6B7ULL, 0xEBE0CB600BEB8BEBULL, 0x3CC178CCFD3CF03CULL, 0x81FD1FBF7C813E81ULL, 0x944035FED4946A94ULL, 0xF71CF30CEBF7FBF7ULL, 0xB9186F67A1B9DEB9ULL, 0x138B265F98134C13ULL, 0x2C51589C7D2CB02CULL, 0xD305BBB8D6D36BD3ULL, 0xE78CD35C6BE7BBE7ULL, 0x6E39DCCB576EA56EULL, 0xC4AA95F36EC437C4ULL, 0x031B060F18030C03ULL, 0x56DCAC138A564556ULL, 0x445E88491A440D44ULL, 0x7FA0FE9EDF7FE17FULL, 0xA9884F3721A99EA9ULL, 0x2A6754824D2AA82AULL, 0xBB0A6B6DB1BBD6BBULL, 0xC1879FE246C123C1ULL, 0x53F1A602A2535153ULL, 0xDC72A58BAEDC57DCULL, 0x0B531627580B2C0BULL, 0x9D0127D39C9D4E9DULL, 0x6C2BD8C1476CAD6CULL, 0x31A462F59531C431ULL, 0x74F3E8B98774CD74ULL, 0xF615F109E3F6FFF6ULL, 0x464C8C430A460546ULL, 0xACA5452609AC8AACULL, 0x89B50F973C891E89ULL, 0x14B42844A0145014ULL, 0xE1BADF425BE1A3E1ULL, 0x16A62C4EB0165816ULL, 0x3AF774D2CD3AE83AULL, 0x6906D2D06F69B969ULL, 0x0941122D48092409ULL, 0x70D7E0ADA770DD70ULL, 0xB66F7154D9B6E2B6ULL, 0xD01EBDB7CED067D0ULL, 0xEDD6C77E3BED93EDULL, 0xCCE285DB2ECC17CCULL, 0x426884572A421542ULL, 0x982C2DC2B4985A98ULL, 0xA4ED550E49A4AAA4ULL, 0x287550885D28A028ULL, 0x5C86B831DA5C6D5CULL, 0xF86BED3F93F8C7F8ULL, 0x86C211A444862286ULL,

};



Code:

static UINT8 SBox[256] =
{

0x18, 0x23, 0xC6, 0xE8, 0x87, 0xB8, 0x01, 0x4F, 0x36, 0xA6, 0xD2, 0xF5, 0x79, 0x6F, 0x91, 0x52,

0x60, 0xBC, 0x9B, 0x8E, 0xA3, 0x0C, 0x7B, 0x35, 0x1D, 0xE0, 0xD7, 0xC2, 0x2E, 0x4B, 0xFE, 0x57,

0x15, 0x77, 0x37, 0xE5, 0x9F, 0xF0, 0x4A, 0xDA, 0x58, 0xC9, 0x29, 0x0A, 0xB1, 0xA0, 0x6B, 0x85,

0xBD, 0x5D, 0x10, 0xF4, 0xCB, 0x3E, 0x05, 0x67, 0xE4, 0x27, 0x41, 0x8B, 0xA7, 0x7D, 0x95, 0xD8,

0xFB, 0xEE, 0x7C, 0x66, 0xDD, 0x17, 0x47, 0x9E, 0xCA, 0x2D, 0xBF, 0x07, 0xAD, 0x5A, 0x83, 0x33,

0x63, 0x02, 0xAA, 0x71, 0xC8, 0x19, 0x49, 0xD9, 0xF2, 0xE3, 0x5B, 0x88, 0x9A, 0x26, 0x32, 0xB0,

0xE9, 0x0F, 0xD5, 0x80, 0xBE, 0xCD, 0x34, 0x48, 0xFF, 0x7A, 0x90, 0x5F, 0x20, 0x68, 0x1A, 0xAE,

0xB4, 0x54, 0x93, 0x22, 0x64, 0xF1, 0x73, 0x12, 0x40, 0x08, 0xC3, 0xEC, 0xDB, 0xA1, 0x8D, 0x3D,

0x97, 0x00, 0xCF, 0x2B, 0x76, 0x82, 0xD6, 0x1B, 0xB5, 0xAF, 0x6A, 0x50, 0x45, 0xF3, 0x30, 0xEF,

0x3F, 0x55, 0xA2, 0xEA, 0x65, 0xBA, 0x2F, 0xC0, 0xDE, 0x1C, 0xFD, 0x4D, 0x92, 0x75, 0x06, 0x8A,

0xB2, 0xE6, 0x0E, 0x1F, 0x62, 0xD4, 0xA8, 0x96, 0xF9, 0xC5, 0x25, 0x59, 0x84, 0x72, 0x39, 0x4C,

0x5E, 0x78, 0x38, 0x8C, 0xD1, 0xA5, 0xE2, 0x61, 0xB3, 0x21, 0x9C, 0x1E, 0x43, 0xC7, 0xFC, 0x04,

0x51, 0x99, 0x6D, 0x0D, 0xFA, 0xDF, 0x7E, 0x24, 0x3B, 0xAB, 0xCE, 0x11, 0x8F, 0x4E, 0xB7, 0xEB,

0x3C, 0x81, 0x94, 0xF7, 0xB9, 0x13, 0x2C, 0xD3, 0xE7, 0x6E, 0xC4, 0x03, 0x56, 0x44, 0x7F, 0xA9,

0x2A, 0xBB, 0xC1, 0x53, 0xDC, 0x0B, 0x9D, 0x6C, 0x31, 0x74, 0xF6, 0x46, 0xAC, 0x89, 0x14, 0xE1,

0x16, 0x3A, 0x69, 0x09, 0x70, 0xB6, 0xD0, 0xED, 0xCC, 0x42, 0x98, 0xA4, 0x28, 0x5C, 0xF8, 0x86,

};





static const UINT64 arrRoundConstants[10] =

{

0x4F01B887E8C62318ULL,

0x52916F79F5D2A636ULL,

0x357B0CA38E9BBC60ULL,

0x57FE4B2EC2D7E01DULL,

0xDA4AF09FE5377715ULL,

0x856BA0B10A29C958ULL,

0x67053ECBF4105DBDULL,

0xD8957DA78B4127E4ULL,

0x9E4717DD667CEEFBULL,

0x33835AAD07BF2DCAULL,



};



static UINT8 SBoxCalc(UINT8 u)

{

return SBox[u];

}





static void WhirlpoolRound_Table(void *pInOut)

{

const UINT8 *pIn8 = (const UINT8 *)pInOut;



UINT64 blockResult64[8] = {0};


// by source row

for(unsigned i = 0; i < 8; i++)

{

for(unsigned k = 0; k < 8; k++)

{

UINT8 bv = pIn8[(i<<3) ^ k];

blockResult64[7&(i+k)] ^= arrPrecalc[k*256 + bv];

}

}



memcpy(pInOut, blockResult64, 64);

}



static void WhirlpoolIteration_Table(UINT8 state[64], const UINT8 block[64])

{

UINT8 tempState[64];

UINT8 tempBlock[64];



memcpy(tempState, state, 64);

memcpy(tempBlock, block, 64);



for(unsigned i = 0; i < 64; i++)

{

state[i] = tempBlock[i] = tempBlock[i] ^ tempState[i];

}



for(unsigned i = 0; i < 10; i++)

{

WhirlpoolRound_Table(tempState);

WhirlpoolRound_Table(tempBlock);



for(unsigned j = 0; j < 8; j++)

tempState[j] ^= SBoxCalc((i << 3) | j);



for(unsigned j = 0; j < 64; j++)

tempBlock[j] ^= tempState[j];

}



for(unsigned i = 0; i < 64; i++)

state[i] ^= tempBlock[i];



}



void vanilla0_Precompute(

unsigned char *pDst, unsigned sizeDst,

const unsigned char *pSrc, unsigned sizeSrc)

{

const UINT32 *pIn32 = (const UINT32 *)pSrc;

UINT8 hashA[64];

memset(hashA, 0, 64);

UINT32 blockA32[16];



UINT8 blockt[64];

memcpy(blockt, pIn32, 64);



WhirlpoolIteration_Table(hashA, blockt);



blockA32[ 0] = pIn32[16 + 0];

blockA32[ 1] = pIn32[16 + 1];

blockA32[ 2] = pIn32[16 + 2];

blockA32[ 3] = 0; // nonceA

blockA32[ 4] = 0x00000080;

blockA32[ 5] = 0;

blockA32[ 6] = 0;

blockA32[ 7] = 0;

blockA32[ 8] = 0;

blockA32[ 9] = 0;

blockA32[10] = 0;

blockA32[11] = 0;

blockA32[12] = 0;

blockA32[13] = 0;

blockA32[14] = 0;

blockA32[15] = 0x80020000;



//blockA32[ 3] = nonceA;



UINT64 tempBlock64[8];

memcpy(tempBlock64, blockA32, 64);



UINT64 tempStatesPre64[10][8];

memcpy(&tempStatesPre64[0][0], hashA, 64);

// drop hashA



for(unsigned i = 0; i < 8; i++)

{

tempBlock64[i] ^= tempStatesPre64[0][i];

}



for(unsigned i = 0; i < 10; i++)

{

WhirlpoolRound_Table(&tempStatesPre64[i][0]);

*(UINT64*)&tempStatesPre64[i][0] ^= arrRoundConstants[i];

if(i < 9)

memcpy(&tempStatesPre64[i+1][0], &tempStatesPre64[i][0], 64);

}






UINT32 preHWA32 = 0;

preHWA32 ^= *(UINT32*) &(((UINT8*)&tempBlock64[0])[3*8 + 4]);

preHWA32 ^= *(UINT32*) &(((UINT8*)&tempBlock64[0])[5*8 + 4]);



preHWA32 ^= *(UINT32*) &(((UINT8*)&tempStatesPre64[9][0])[3*8 + 4]);

preHWA32 ^= *(UINT32*) &(((UINT8*)&tempStatesPre64[9][0])[5*8 + 4]);

// drop tempStatesPre64[9]



UINT32 nonceXor = tempBlock64[1] >> 32; // XXXXXX00



tempBlock64[1] &= 0x00000000FFFFFFFFULL;

tempBlock64[1] ^= 0x8181818100000000ULL;



WhirlpoolRound_Table(tempBlock64);



for(unsigned j = 0; j < 8; j++)

{

tempBlock64[j] ^= tempStatesPre64[0][j];

}



UINT64 pre5 = tempBlock64[5];

UINT64 pre6 = tempBlock64[6];

UINT64 pre7 = tempBlock64[7];

UINT64 pre0 = tempBlock64[0];



tempBlock64[5] = 0x8181818181818181ULL;

tempBlock64[6] = 0x8181818181818181ULL;

tempBlock64[7] = 0x8181818181818181ULL;

tempBlock64[0] = 0x8181818181818181ULL;



WhirlpoolRound_Table(tempBlock64);

for(unsigned j = 0; j < 8; j++)

{

tempBlock64[j] ^= tempStatesPre64[1][j];

}








#if 1

ASSERT(616 == sizeDst);

GLOBAL UINT64 *arrMidstate = (UINT64 *)pDst;

for(unsigned i = 0; i < 8; ++i)

{

for(unsigned j = 0; j < 8; ++j)

arrMidstate[i*8+j] = tempStatesPre64[i+2][j];

}

memcpy(&arrMidstate[64], tempBlock64, 64);

arrMidstate[64+8+0] = pre5;

arrMidstate[64+8+1] = pre6;

arrMidstate[64+8+2] = pre7;

arrMidstate[64+8+3] = pre0;





arrMidstate[64+8+4] = preHWA32 ^ ((UINT64)nonceXor << 32);

#endif



#if 1

// ROL 3

for(unsigned i = 0; i < 77; ++i)

{

arrMidstate[i] = ROL64(arrMidstate[i], 3);

}

#endif

}


Of course I gave you bad advice. Good one is way out of your price range.
smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 15, 2016, 05:30:52 AM
 #352

Code:
#pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable



static const CONSTANT UINT64 arrPrecalc_post_l27[4*256] =

{

0x00C300C0C6C183C6ULL, 0x291C611919323578ULL, 0xF631FE3635C48FCBULL, 0x9F443F4747DE6B78ULL, 0x6439343C3E589D0AULL, 0x4DC6D5C5C08B6B15ULL, 0x4008200808481028ULL, 0x12790A7A786CF372ULL, 0x69B6C1B1B4DB6775ULL, 0xCD35153537FA8822ULL, 0xF6937E969065CDEEULL, 0xDFAF9FAFA877B837ULL, 0x7BCFCBCBCCB79407ULL, 0xFB7D0B7B7986F672ULL, 0xE48BF48C8B69FF7FULL, 0x5292AA9297C5203DULL, 0x3B04EB03023E07E9ULL, 0x4DE655E5E1AB2BB4ULL, 0x64DAB4DCD9B95E6DULL, 0x2470147474500C60ULL, 0x8D1DB51D1E92D8ABULL, 0x006180606360C1E3ULL, 0xFBDF8BDBDC27B457ULL, 0xA9AEA1A9AC03570DULL, 0x40EBA0E8EFA9D34FULL, 0x9F053F07059EEA3AULL, 0xB6BBDEBEB90D9D67ULL, 0xF6117E1614E4CF6AULL, 0x6975C171721AE4B3ULL, 0x12598A5A594CB3D3ULL, 0x1FF6FFF7F2EF090DULL, 0x12BA0ABABEAD70B4ULL, 0x40AAA0A8ADE9520DULL, 0xFBBE0BBBBF4775B4ULL, 0x29BEE1B9BC93775DULL, 0xDF2D9F2F2CF6BAB3ULL, 0x64FA34FCF8991ECCULL, 0x9F873F87811FE8BEULL, 0x5251AA525104A3FBULL, 0xF6D27ED6D2254CACULL, 0xD2C3EAC2C515812FULL, 0x36481E4E4E7C7E50ULL, 0xA94D21494BE2946AULL, 0x8051405052D0A112ULL, 0x0D8FF58D8A83FA7FULL, 0x4D05D505064AE8D3ULL, 0xFB5D8B5B58A6B6D3ULL, 0xE429742C2EC8BD5AULL, 0x0DEE75EDE9E33B9CULL, 0x92EB4AEAEC7DD1A6ULL, 0x0082008084810284ULL, 0x9FA7BFA7A03FA81FULL, 0xB6585E5E5EEC5E00ULL, 0x69F7C1F1F69BE637ULL, 0x4028A02829685089ULL, 0xFB3C0B3B3BC67730ULL, 0x9F25BF2724BEAA9BULL, 0x293CE139381275D9ULL, 0x9208CA0A0B9C12C1ULL, 0x6458B45C5D385CE9ULL, 0x8D3D353D3FB2980AULL, 0x7BEF4BEBED97D4A6ULL, 0xE4AB74ACAA49BFDEULL, 0x76C23EC6C2B56CFCULL, 0x5FDE5FDFDB875984ULL, 0x1F74FF77766E0B89ULL, 0x3BE76BE3E5DFC48EULL, 0xBB342B33338E6718ULL, 0x36EA9EEEEBDD3C75ULL, 0xC0BAE0B8BD79725DULL, 0x12380A3A3A2C7230ULL, 0x24F214F4F0D10EE4ULL, 0xF6507E5656A44E28ULL, 0xA96DA1696AC2D4CBULL, 0x8DFE35FDF9731BCCULL, 0xC038E03839F870D9ULL, 0x0D6C756D6D623918ULL, 0x52D3AAD2D585A17FULL, 0x6419B41C1F78DDABULL, 0x299E61999DB337FCULL, 0xFB1C8B1B1AE63791ULL, 0x8010401010902050ULL, 0xCD549555549A49C1ULL, 0x7B8ECB8B8EF71545ULL, 0x76403E4646346E78ULL, 0x40CB20C8CE8993EEULL, 0x9249CA4A49DC9383ULL, 0x36CA1ECECAFD7CD4ULL, 0x1F977F97918FC8EEULL, 0x5F1D5F1F1D46DA42ULL, 0x12DB8ADADDCDB157ULL, 0xA440D44445E06C91ULL, 0x24D294D4D1F14E45ULL, 0x6934C131305A65F1ULL, 0x6996419195FB27D4ULL, 0x4D87D58582CBEA57ULL, 0xDF4C1F4F4F967B50ULL, 0xC079E0787BB8F19BULL, 0x36AB9EAEA99DBD37ULL, 0xA401D40407A0EDD3ULL, 0xCDF615F5F13B0BE4ULL, 0x36689E6E6F5C3EF1ULL, 0xE9A681A1A44B4725ULL, 0xD241EA42419483ABULL, 0x5FFEDFFFFAA71925ULL, 0xBBD7ABD3D46FA47FULL, 0xA483D4848321EF57ULL, 0x12FB0AFAFCEDF1F6ULL, 0xE904010101EA0500ULL, 0x3B45EB43407E86ABULL, 0x80D340D0D651A396ULL, 0xCD74157575BA0960ULL, 0x4DA755A5A3EBAAF6ULL, 0xD2A26AA2A67540CCULL, 0x649BB49C9BF9DF2FULL, 0x69144111117A2550ULL, 0x3B246B23231E4748ULL, 0xDF8F1F8F8957F896ULL, 0xFB9E8B9B9E673515ULL, 0x80924090941122D4ULL, 0xD200EA0203D402E9ULL, 0x0041004042408142ULL, 0xB6195E1E1CACDF42ULL, 0x9F64BF6766FE2BD9ULL, 0xB6DA5EDEDA6D5C84ULL, 0x0D0DF50D0E02F8FBULL, 0xE468746C6C883C18ULL, 0xA9EFA1E9EE43D64FULL, 0x64BB34BCBAD99F8EULL, 0x0000000000000000ULL, 0xB678DE7E7FCC1EA1ULL, 0x295D61595B72B43AULL, 0xBBB62BB3B70F659CULL, 0x241194141730CD83ULL, 0xF6B3FEB6B1458D4FULL, 0xC0DB60D8DE19B3BEULL, 0x0DAF75ADABA3BADEULL, 0x8D7C357D7DF21948ULL, 0xBB55AB5350EEA6FBULL, 0xD282EA828755006DULL, 0x92284A2A2ABC5260ULL, 0x5F9F5F9F99C7D8C6ULL, 0xE9860181856B0784ULL, 0x5F7CDF7F7E261BA1ULL, 0x29FFE1F9FED3F61FULL, 0x92AA4AAAAE3D50E4ULL, 0xCD15951516DAC883ULL, 0x1F547F57574E4B28ULL, 0x7B2C4B2B2B565760ULL, 0xCDD695D5D01B4B45ULL, 0x297DE1797A52F49BULL, 0x76013E060474EF3AULL, 0xF6F2FEF6F3050C0DULL, 0x00E380E0E7E1C367ULL, 0xDFEE9FEFEA373975ULL, 0x92694A6A68FCD322ULL, 0x2493949493B1CF07ULL, 0x7BAE4BABAFD755E4ULL, 0x8030C03031B060F1ULL, 0x2450945455704CC1ULL, 0xCD979595925BCA07ULL, 0x1F35FF37342E8ACBULL, 0x8071C07073F0E1B3ULL, 0xC0FBE0F8FF39F31FULL, 0xBB14AB1312AE27B9ULL, 0x76A3BEA6A1D5AD1FULL, 0x4D44D545440A6991ULL, 0x24B314B4B2918FA6ULL, 0xDFCE1FCFCB1779D4ULL, 0x36299E2E2D1CBFB3ULL, 0xA92CA12928825589ULL, 0x92CBCACACD5D9107ULL, 0xA42154242680AD72ULL, 0xBB96AB93962F253DULL, 0xA9CF21C9CF6396EEULL, 0xD2616A6260B4C30AULL, 0x52F32AF2F4A5E1DEULL, 0x3BC7EBC3C4FF842FULL, 0xE9C701C1C72B86C6ULL, 0xA460546464C02C30ULL, 0x368B1E8E88BDFD96ULL, 0x0D2D752D2F22B85AULL, 0x1F157F17150ECA6AULL, 0x7B0CCB0B0A7617C1ULL, 0x8D9FB59D9A13DA2FULL, 0xA90C210909A21528ULL, 0xA4E254E4E0412EB4ULL, 0x80F3C0F0F771E337ULL, 0x12188A1A1B0C3291ULL, 0xB639DE3E3D8C9FE3ULL, 0x9FE6BFE7E27F295DULL, 0x00208020212040A1ULL, 0x928ACA8A8F1D1045ULL, 0xE4CAF4CCC9297E3DULL, 0x7B6D4B6B6916D622ULL, 0x4069A0686B28D1CBULL, 0x1FD67FD7D3CF49ACULL, 0xB6FADEFEFB4D1C25ULL, 0xBBF72BF3F54FE4DEULL, 0xE924812120CA45A1ULL, 0x29DF61D9DFF3B6BEULL, 0x8D5CB55D5CD259E9ULL, 0xF670FE7677840E89ULL, 0x408A20888CC912ACULL, 0x6478347C7C181C48ULL, 0x52712A727024E35AULL, 0x8DBF35BDBB339A8EULL, 0x5F5C5F5F5F065B00ULL, 0xE9E781E1E60BC667ULL, 0xE409F40C0FE8FDFBULL, 0xA4A354A4A201AFF6ULL, 0x5FBFDFBFB8E79867ULL, 0x0DCEF5CDC8C37B3DULL, 0xC09A60989C5932FCULL, 0xE9658161628AC4E3ULL, 0xB69B5E9E982DDDC6ULL, 0x5F3DDF3F3C669AE3ULL, 0xBB752B7371CEE65AULL, 0x7621BE262554AF9BULL, 0xC018601818D83078ULL, 0x52B22AB2B6E5609CULL, 0xD2206A2222F44248ULL, 0xFBFF0BFBFD07F4F6ULL, 0x0D4CF54D4C4279B9ULL, 0x69554151533AA412ULL, 0x8DDEB5DDD8535B6DULL, 0x36091E0E0C3CFF12ULL, 0x129A8A9A9F8D3015ULL, 0x76E2BEE6E3952C5DULL, 0xC05960585A98B13AULL, 0xE4EA74ECE8093E9CULL, 0x3B656B63615EC60AULL, 0xA98E21898D2317ACULL, 0x3BA66BA3A79F45CCULL, 0x1FB7FFB7B0AF884FULL, 0x52302A3232646218ULL, 0x4D645565652A2930ULL, 0xE448F44C4DA87CB9ULL, 0x00A280A0A5A14225ULL, 0xDF0D1F0F0DD6FA12ULL, 0x80B2C0B0B5316275ULL, 0x69D741D1D7BBA696ULL, 0x7B4DCB4B48369683ULL, 0x404920484A08916AULL, 0x3B86EB8386BF056DULL, 0xCDB715B5B37B8AA6ULL, 0x76833E8680F5EDBEULL, 0xDF6C9F6F6EB63BF1ULL, 0x7660BE6667142ED9ULL, 0x5210AA12134422B9ULL, 0xA4C2D4C4C1616E15ULL, 0x4D255525276AA872ULL, 0xE945014143AA8442ULL, 0xD2E36AE2E435C18EULL, 0x9FC63FC7C35F69FCULL, 0x2431143436108D22ULL,

};



static const CONSTANT UINT64 arrPrecalc_post_r3[4*256] =

{

0xC183C600C300C0C6ULL, 0x323578291C611919ULL, 0xC48FCBF631FE3635ULL, 0xDE6B789F443F4747ULL, 0x589D0A6439343C3EULL, 0x8B6B154DC6D5C5C0ULL, 0x4810284008200808ULL, 0x6CF37212790A7A78ULL, 0xDB677569B6C1B1B4ULL, 0xFA8822CD35153537ULL, 0x65CDEEF6937E9690ULL, 0x77B837DFAF9FAFA8ULL, 0xB794077BCFCBCBCCULL, 0x86F672FB7D0B7B79ULL, 0x69FF7FE48BF48C8BULL, 0xC5203D5292AA9297ULL, 0x3E07E93B04EB0302ULL, 0xAB2BB44DE655E5E1ULL, 0xB95E6D64DAB4DCD9ULL, 0x500C602470147474ULL, 0x92D8AB8D1DB51D1EULL, 0x60C1E30061806063ULL, 0x27B457FBDF8BDBDCULL, 0x03570DA9AEA1A9ACULL, 0xA9D34F40EBA0E8EFULL, 0x9EEA3A9F053F0705ULL, 0x0D9D67B6BBDEBEB9ULL, 0xE4CF6AF6117E1614ULL, 0x1AE4B36975C17172ULL, 0x4CB3D312598A5A59ULL, 0xEF090D1FF6FFF7F2ULL, 0xAD70B412BA0ABABEULL, 0xE9520D40AAA0A8ADULL, 0x4775B4FBBE0BBBBFULL, 0x93775D29BEE1B9BCULL, 0xF6BAB3DF2D9F2F2CULL, 0x991ECC64FA34FCF8ULL, 0x1FE8BE9F873F8781ULL, 0x04A3FB5251AA5251ULL, 0x254CACF6D27ED6D2ULL, 0x15812FD2C3EAC2C5ULL, 0x7C7E5036481E4E4EULL, 0xE2946AA94D21494BULL, 0xD0A1128051405052ULL, 0x83FA7F0D8FF58D8AULL, 0x4AE8D34D05D50506ULL, 0xA6B6D3FB5D8B5B58ULL, 0xC8BD5AE429742C2EULL, 0xE33B9C0DEE75EDE9ULL, 0x7DD1A692EB4AEAECULL, 0x8102840082008084ULL, 0x3FA81F9FA7BFA7A0ULL, 0xEC5E00B6585E5E5EULL, 0x9BE63769F7C1F1F6ULL, 0x6850894028A02829ULL, 0xC67730FB3C0B3B3BULL, 0xBEAA9B9F25BF2724ULL, 0x1275D9293CE13938ULL, 0x9C12C19208CA0A0BULL, 0x385CE96458B45C5DULL, 0xB2980A8D3D353D3FULL, 0x97D4A67BEF4BEBEDULL, 0x49BFDEE4AB74ACAAULL, 0xB56CFC76C23EC6C2ULL, 0x8759845FDE5FDFDBULL, 0x6E0B891F74FF7776ULL, 0xDFC48E3BE76BE3E5ULL, 0x8E6718BB342B3333ULL, 0xDD3C7536EA9EEEEBULL, 0x79725DC0BAE0B8BDULL, 0x2C723012380A3A3AULL, 0xD10EE424F214F4F0ULL, 0xA44E28F6507E5656ULL, 0xC2D4CBA96DA1696AULL, 0x731BCC8DFE35FDF9ULL, 0xF870D9C038E03839ULL, 0x6239180D6C756D6DULL, 0x85A17F52D3AAD2D5ULL, 0x78DDAB6419B41C1FULL, 0xB337FC299E61999DULL, 0xE63791FB1C8B1B1AULL, 0x9020508010401010ULL, 0x9A49C1CD54955554ULL, 0xF715457B8ECB8B8EULL, 0x346E7876403E4646ULL, 0x8993EE40CB20C8CEULL, 0xDC93839249CA4A49ULL, 0xFD7CD436CA1ECECAULL, 0x8FC8EE1F977F9791ULL, 0x46DA425F1D5F1F1DULL, 0xCDB15712DB8ADADDULL, 0xE06C91A440D44445ULL, 0xF14E4524D294D4D1ULL, 0x5A65F16934C13130ULL, 0xFB27D46996419195ULL, 0xCBEA574D87D58582ULL, 0x967B50DF4C1F4F4FULL, 0xB8F19BC079E0787BULL, 0x9DBD3736AB9EAEA9ULL, 0xA0EDD3A401D40407ULL, 0x3B0BE4CDF615F5F1ULL, 0x5C3EF136689E6E6FULL, 0x4B4725E9A681A1A4ULL, 0x9483ABD241EA4241ULL, 0xA719255FFEDFFFFAULL, 0x6FA47FBBD7ABD3D4ULL, 0x21EF57A483D48483ULL, 0xEDF1F612FB0AFAFCULL, 0xEA0500E904010101ULL, 0x7E86AB3B45EB4340ULL, 0x51A39680D340D0D6ULL, 0xBA0960CD74157575ULL, 0xEBAAF64DA755A5A3ULL, 0x7540CCD2A26AA2A6ULL, 0xF9DF2F649BB49C9BULL, 0x7A25506914411111ULL, 0x1E47483B246B2323ULL, 0x57F896DF8F1F8F89ULL, 0x673515FB9E8B9B9EULL, 0x1122D48092409094ULL, 0xD402E9D200EA0203ULL, 0x4081420041004042ULL, 0xACDF42B6195E1E1CULL, 0xFE2BD99F64BF6766ULL, 0x6D5C84B6DA5EDEDAULL, 0x02F8FB0D0DF50D0EULL, 0x883C18E468746C6CULL, 0x43D64FA9EFA1E9EEULL, 0xD99F8E64BB34BCBAULL, 0x0000000000000000ULL, 0xCC1EA1B678DE7E7FULL, 0x72B43A295D61595BULL, 0x0F659CBBB62BB3B7ULL, 0x30CD832411941417ULL, 0x458D4FF6B3FEB6B1ULL, 0x19B3BEC0DB60D8DEULL, 0xA3BADE0DAF75ADABULL, 0xF219488D7C357D7DULL, 0xEEA6FBBB55AB5350ULL, 0x55006DD282EA8287ULL, 0xBC526092284A2A2AULL, 0xC7D8C65F9F5F9F99ULL, 0x6B0784E986018185ULL, 0x261BA15F7CDF7F7EULL, 0xD3F61F29FFE1F9FEULL, 0x3D50E492AA4AAAAEULL, 0xDAC883CD15951516ULL, 0x4E4B281F547F5757ULL, 0x5657607B2C4B2B2BULL, 0x1B4B45CDD695D5D0ULL, 0x52F49B297DE1797AULL, 0x74EF3A76013E0604ULL, 0x050C0DF6F2FEF6F3ULL, 0xE1C36700E380E0E7ULL, 0x373975DFEE9FEFEAULL, 0xFCD32292694A6A68ULL, 0xB1CF072493949493ULL, 0xD755E47BAE4BABAFULL, 0xB060F18030C03031ULL, 0x704CC12450945455ULL, 0x5BCA07CD97959592ULL, 0x2E8ACB1F35FF3734ULL, 0xF0E1B38071C07073ULL, 0x39F31FC0FBE0F8FFULL, 0xAE27B9BB14AB1312ULL, 0xD5AD1F76A3BEA6A1ULL, 0x0A69914D44D54544ULL, 0x918FA624B314B4B2ULL, 0x1779D4DFCE1FCFCBULL, 0x1CBFB336299E2E2DULL, 0x825589A92CA12928ULL, 0x5D910792CBCACACDULL, 0x80AD72A421542426ULL, 0x2F253DBB96AB9396ULL, 0x6396EEA9CF21C9CFULL, 0xB4C30AD2616A6260ULL, 0xA5E1DE52F32AF2F4ULL, 0xFF842F3BC7EBC3C4ULL, 0x2B86C6E9C701C1C7ULL, 0xC02C30A460546464ULL, 0xBDFD96368B1E8E88ULL, 0x22B85A0D2D752D2FULL, 0x0ECA6A1F157F1715ULL, 0x7617C17B0CCB0B0AULL, 0x13DA2F8D9FB59D9AULL, 0xA21528A90C210909ULL, 0x412EB4A4E254E4E0ULL, 0x71E33780F3C0F0F7ULL, 0x0C329112188A1A1BULL, 0x8C9FE3B639DE3E3DULL, 0x7F295D9FE6BFE7E2ULL, 0x2040A10020802021ULL, 0x1D1045928ACA8A8FULL, 0x297E3DE4CAF4CCC9ULL, 0x16D6227B6D4B6B69ULL, 0x28D1CB4069A0686BULL, 0xCF49AC1FD67FD7D3ULL, 0x4D1C25B6FADEFEFBULL, 0x4FE4DEBBF72BF3F5ULL, 0xCA45A1E924812120ULL, 0xF3B6BE29DF61D9DFULL, 0xD259E98D5CB55D5CULL, 0x840E89F670FE7677ULL, 0xC912AC408A20888CULL, 0x181C486478347C7CULL, 0x24E35A52712A7270ULL, 0x339A8E8DBF35BDBBULL, 0x065B005F5C5F5F5FULL, 0x0BC667E9E781E1E6ULL, 0xE8FDFBE409F40C0FULL, 0x01AFF6A4A354A4A2ULL, 0xE798675FBFDFBFB8ULL, 0xC37B3D0DCEF5CDC8ULL, 0x5932FCC09A60989CULL, 0x8AC4E3E965816162ULL, 0x2DDDC6B69B5E9E98ULL, 0x669AE35F3DDF3F3CULL, 0xCEE65ABB752B7371ULL, 0x54AF9B7621BE2625ULL, 0xD83078C018601818ULL, 0xE5609C52B22AB2B6ULL, 0xF44248D2206A2222ULL, 0x07F4F6FBFF0BFBFDULL, 0x4279B90D4CF54D4CULL, 0x3AA4126955415153ULL, 0x535B6D8DDEB5DDD8ULL, 0x3CFF1236091E0E0CULL, 0x8D3015129A8A9A9FULL, 0x952C5D76E2BEE6E3ULL, 0x98B13AC05960585AULL, 0x093E9CE4EA74ECE8ULL, 0x5EC60A3B656B6361ULL, 0x2317ACA98E21898DULL, 0x9F45CC3BA66BA3A7ULL, 0xAF884F1FB7FFB7B0ULL, 0x64621852302A3232ULL, 0x2A29304D64556565ULL, 0xA87CB9E448F44C4DULL, 0xA1422500A280A0A5ULL, 0xD6FA12DF0D1F0F0DULL, 0x31627580B2C0B0B5ULL, 0xBBA69669D741D1D7ULL, 0x3696837B4DCB4B48ULL, 0x08916A404920484AULL, 0xBF056D3B86EB8386ULL, 0x7B8AA6CDB715B5B3ULL, 0xF5EDBE76833E8680ULL, 0xB63BF1DF6C9F6F6EULL, 0x142ED97660BE6667ULL, 0x4422B95210AA1213ULL, 0x616E15A4C2D4C4C1ULL, 0x6AA8724D25552527ULL, 0xAA8442E945014143ULL, 0x35C18ED2E36AE2E4ULL, 0x5F69FC9FC63FC7C3ULL, 0x108D222431143436ULL,

};









#ifdef __OPENCL_VERSION__

#define X64 uint2

#define ASX64(v) (as_uint2(v))

#else

#define X64 UINT64

#define ASX64(v) (v)

#endif



#define Toff8(off8) (*(const LOCAL UINT64*)&(((const LOCAL UINT8*)TAll_local)[off8]))

#define TCoff8(off8) (*(const CONSTANT UINT64*)&(((const CONSTANT UINT8*)arrPrecalc_post)[off8]))






#define Toff8_r3(off8) (*(const LOCAL UINT64*)&(((const LOCAL UINT8*)TAll_local_r3)[off8]))

#define TCoff8_r3(off8) (*(const CONSTANT UINT64*)&(((const CONSTANT UINT8*)arrPrecalc_post_r3)[off8]))

#define TCoff8_l27(off8) (*(const CONSTANT UINT64*)&(((const CONSTANT UINT8*)arrPrecalc_post_l27)[off8]))


#define TC0off8_l27(off8) (*(const CONSTANT UINT64*)&(((const CONSTANT UINT8*)0)[off8]))



#ifdef __OPENCL_VERSION__



#define LUT0_r3(v) ASX64(Toff8_r3(v.x & 0x7F8))

#define LUT1_r3(v) ASX64(ROL64(Toff8_r3((v.x >>  8) & 0x7F8U), 8))

#define LUT2_r3(v) ASX64(ROL64(Toff8_r3((v.x >> 16) & 0x7F8U), 16));

#define LUT3_r3(v) ASX64(TC0off8_l27(bitselect(baseL27, (UINT32)(as_ulong(v) >> 24), 0x7F8U)))

#define LUT4_r3(v) (ASX64(Toff8_r3((v.y) & 0x7F8U))).yx

#define LUT5_r3(v) (ASX64(ROL64(Toff8_r3((v.y >> 8) & 0x7F8U), 8))).yx

#define LUT6_r3(v) (ASX64(ROL64(Toff8_r3((v.y >> 16) & 0x7F8U), 16))).yx;

#define LUT7_r3(v) (ASX64(TC0off8_l27(bitselect(baseL27, amd_bitalign(v.x, v.y, 24), 0x7F8U)))).yx


#else




#define LUT0_r3(v) ASX64(Toff8_r3((v) & 0x7F8))

#define LUT1_r3(v) ASX64(ROL64(Toff8_r3((v >>  8) & 0x7F8U), 8))

#define LUT2_r3(v) ASX64(ROL64(Toff8_r3((v >> 16) & 0x7F8U), 16))

#define LUT3_r3(v) ASX64(ROL64(Toff8_r3((v >> 24) & 0x7F8U), 24))

#define LUT4_r3(v) ASX64(ROL64(Toff8_r3((v >> 32) & 0x7F8U), 32))

#define LUT5_r3(v) ASX64(ROL64(Toff8_r3((v >> 40) & 0x7F8U), 40))

#define LUT6_r3(v) ASX64(ROL64(Toff8_r3((v >> 48) & 0x7F8U), 48))

#define LUT7_r3(v) ASX64(ROL64(Toff8_r3(ROR64(v, 56) & 0x7F8U), 56))





#endif



KERNEL void vanilla0_post(

GLOBAL UINT32 *pOut32,

GLOBAL const UINT32 *pIn32

#ifdef __OPENCL_VERSION__

, UINT32 nMask

#else

, UINT32 GLOBALID

#endif

)

{



#ifdef __OPENCL_VERSION__

#else

UINT32 nMask = 0xFFFFFFFF;

#endif

GLOBAL const UINT64 *arrMidstate = (GLOBAL const UINT64 *)pIn32;


#define baseL27 ((UINT32)&arrPrecalc_post_l27[0])



LOCAL X64 TAll_local_r3[256*1];

{

UINT32 nLocalId = LOCALID;

for(unsigned i = 0; i < 256; i += WORKSIZE)

{


TAll_local_r3[i + nLocalId]

= ASX64(arrPrecalc_post_r3[i + nLocalId]);


}

}







GLOBAL const UINT64 *post_pStatesPre64_pr3 = arrMidstate;




X64 stateAX64_pr3[8];

X64 stateBX64_pr3[8];




for(unsigned i = 0; i < 8; ++i)

{

stateAX64_pr3[i] = ASX64(arrMidstate[64+i]);

}




X64 post_pre5_pr3 = ASX64(arrMidstate[64+8+0]);

X64 post_pre6_pr3 = ASX64(arrMidstate[64+8+1]);

X64 post_pre7_pr3 = ASX64(arrMidstate[64+8+2]);

X64 post_pre0_pr3 = ASX64(arrMidstate[64+8+3]);





#ifdef __OPENCL_VERSION__


X64 post_nonceXored_pr3 = ASX64(arrMidstate[64+8+4]);

post_nonceXored_pr3.x ^= GLOBALID >> 29;

post_nonceXored_pr3.y ^= GLOBALID << 3;



#else

X64 post_tmp_pr3 = ASX64(arrMidstate[64+8+4]);

UINT32 post_preHWA32_pr0 = ROR64(post_tmp_pr3, 3) & 0xFFFFFFFF;


X64 post_nonceXored_pr3 = post_tmp_pr3 ^ ROR64(((UINT64)GLOBALID), 29); // & 0x00FFFF00


#endif






post_pre5_pr3 ^= LUT4_r3(ASX64(post_nonceXored_pr3));

stateAX64_pr3[7&(5+0)] ^= LUT0_r3(post_pre5_pr3);

stateAX64_pr3[7&(5+1)] ^= LUT1_r3(post_pre5_pr3);

stateAX64_pr3[7&(5+2)] ^= LUT2_r3(post_pre5_pr3);


stateAX64_pr3[7&(5+3)] ^= LUT3_r3(post_pre5_pr3);


stateAX64_pr3[7&(5+4)] ^= LUT4_r3(post_pre5_pr3);

stateAX64_pr3[7&(5+5)] ^= LUT5_r3(post_pre5_pr3);

stateAX64_pr3[7&(5+6)] ^= LUT6_r3(post_pre5_pr3);


stateAX64_pr3[7&(5+7)] ^= LUT7_r3(post_pre5_pr3);




post_pre6_pr3 ^= LUT5_r3(ASX64(post_nonceXored_pr3));

stateAX64_pr3[7&(6+0)] ^= LUT0_r3(post_pre6_pr3);

stateAX64_pr3[7&(6+1)] ^= LUT1_r3(post_pre6_pr3);

stateAX64_pr3[7&(6+2)] ^= LUT2_r3(post_pre6_pr3);


stateAX64_pr3[7&(6+3)] ^= LUT3_r3(post_pre6_pr3);


stateAX64_pr3[7&(6+4)] ^= LUT4_r3(post_pre6_pr3);

stateAX64_pr3[7&(6+5)] ^= LUT5_r3(post_pre6_pr3);

stateAX64_pr3[7&(6+6)] ^= LUT6_r3(post_pre6_pr3);


stateAX64_pr3[7&(6+7)] ^= LUT7_r3(post_pre6_pr3);




post_pre7_pr3 ^= LUT6_r3(ASX64(post_nonceXored_pr3));

stateAX64_pr3[7&(7+0)] ^= LUT0_r3(post_pre7_pr3);

stateAX64_pr3[7&(7+1)] ^= LUT1_r3(post_pre7_pr3);

stateAX64_pr3[7&(7+2)] ^= LUT2_r3(post_pre7_pr3);


stateAX64_pr3[7&(7+3)] ^= LUT3_r3(post_pre7_pr3);


stateAX64_pr3[7&(7+4)] ^= LUT4_r3(post_pre7_pr3);

stateAX64_pr3[7&(7+5)] ^= LUT5_r3(post_pre7_pr3);

stateAX64_pr3[7&(7+6)] ^= LUT6_r3(post_pre7_pr3);


stateAX64_pr3[7&(7+7)] ^= LUT7_r3(post_pre7_pr3);




post_pre0_pr3 ^= LUT7_r3(ASX64(post_nonceXored_pr3));

stateAX64_pr3[7&(0+0)] ^= LUT0_r3(post_pre0_pr3);

stateAX64_pr3[7&(0+1)] ^= LUT1_r3(post_pre0_pr3);

stateAX64_pr3[7&(0+2)] ^= LUT2_r3(post_pre0_pr3);


stateAX64_pr3[7&(0+3)] ^= LUT3_r3(post_pre0_pr3);


stateAX64_pr3[7&(0+4)] ^= LUT4_r3(post_pre0_pr3);

stateAX64_pr3[7&(0+5)] ^= LUT5_r3(post_pre0_pr3);

stateAX64_pr3[7&(0+6)] ^= LUT6_r3(post_pre0_pr3);


stateAX64_pr3[7&(0+7)] ^= LUT7_r3(post_pre0_pr3);








{

for(unsigned round = 0; round < 3; round++)

{

for(unsigned j = 0; j < 8; j++)

{


stateBX64_pr3[j] = ASX64(post_pStatesPre64_pr3[round*16 + 0 +j]);

}




for(unsigned p = 0; p < 8; ++p)

{

stateBX64_pr3[7&(p+0)] ^= LUT0_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+1)] ^= LUT1_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+2)] ^= LUT2_r3(stateAX64_pr3[p]);


stateBX64_pr3[7&(p+3)] ^= LUT3_r3(stateAX64_pr3[p]);






stateBX64_pr3[7&(p+4)] ^= LUT4_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+5)] ^= LUT5_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+6)] ^= LUT6_r3(stateAX64_pr3[p]);


stateBX64_pr3[7&(p+7)] ^= LUT7_r3(stateAX64_pr3[p]);




}



for(unsigned j = 0; j < 8; j++)

{


stateAX64_pr3[j] = ASX64(post_pStatesPre64_pr3[round*16 + 8 +j]);

}



for(unsigned p = 0; p < 8; ++p)

{

stateAX64_pr3[7&(p+0)] ^= LUT0_r3(stateBX64_pr3[p]);

stateAX64_pr3[7&(p+1)] ^= LUT1_r3(stateBX64_pr3[p]);

stateAX64_pr3[7&(p+2)] ^= LUT2_r3(stateBX64_pr3[p]);


stateAX64_pr3[7&(p+3)] ^= LUT3_r3(stateBX64_pr3[p]);






stateAX64_pr3[7&(p+4)] ^= LUT4_r3(stateBX64_pr3[p]);

stateAX64_pr3[7&(p+5)] ^= LUT5_r3(stateBX64_pr3[p]);

stateAX64_pr3[7&(p+6)] ^= LUT6_r3(stateBX64_pr3[p]);


stateAX64_pr3[7&(p+7)] ^= LUT7_r3(stateBX64_pr3[p]);




}





}



for(unsigned j = 0; j < 8; j++)

{

stateBX64_pr3[j] = ASX64(post_pStatesPre64_pr3[6*8 + 0 +j]);

}



for(unsigned p = 0; p < 8; ++p)

{

stateBX64_pr3[7&(p+0)] ^= LUT0_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+1)] ^= LUT1_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+2)] ^= LUT2_r3(stateAX64_pr3[p]);


stateBX64_pr3[7&(p+3)] ^= LUT3_r3(stateAX64_pr3[p]);





stateBX64_pr3[7&(p+4)] ^= LUT4_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+5)] ^= LUT5_r3(stateAX64_pr3[p]);

stateBX64_pr3[7&(p+6)] ^= LUT6_r3(stateAX64_pr3[p]);


stateBX64_pr3[7&(p+7)] ^= LUT7_r3(stateAX64_pr3[p]);




}













// by result row; 3,5


X64 result64_pr3 = LUT0_r3(stateBX64_pr3[7&(8+3-0)]);

result64_pr3 ^= LUT1_r3(stateBX64_pr3[7&(8+3-1)]);

result64_pr3 ^= LUT2_r3(stateBX64_pr3[7&(8+3-2)]);

result64_pr3 ^= LUT3_r3(stateBX64_pr3[7&(8+3-3)]);






result64_pr3 ^= LUT4_r3(stateBX64_pr3[7&(8+3-4)]);

result64_pr3 ^= LUT5_r3(stateBX64_pr3[7&(8+3-5)]);

result64_pr3 ^= LUT6_r3(stateBX64_pr3[7&(8+3-6)]);

result64_pr3 ^= LUT7_r3(stateBX64_pr3[7&(8+3-7)]);






result64_pr3 ^= LUT0_r3(stateBX64_pr3[7&(8+5-0)]);

result64_pr3 ^= LUT1_r3(stateBX64_pr3[7&(8+5-1)]);

result64_pr3 ^= LUT2_r3(stateBX64_pr3[7&(8+5-2)]);

result64_pr3 ^= LUT3_r3(stateBX64_pr3[7&(8+5-3)]);




result64_pr3 ^= LUT4_r3(stateBX64_pr3[7&(8+5-4)]);

result64_pr3 ^= LUT5_r3(stateBX64_pr3[7&(8+5-5)]);

result64_pr3 ^= LUT6_r3(stateBX64_pr3[7&(8+5-6)]);

result64_pr3 ^= LUT7_r3(stateBX64_pr3[7&(8+5-7)]);












#ifdef __OPENCL_VERSION__




X64 post_tmp_pr3 = ASX64(arrMidstate[64+8+4]);


UINT32 post_preHWA32_pr0 = amd_bitalign(post_tmp_pr3.y, post_tmp_pr3.x, 3);




if(!(nMask & (post_preHWA32_pr0 ^ amd_bitalign(result64_pr3.x, result64_pr3.y, 3))))

{

pOut32[atom_inc(&pOut32[0]) + 1] = GLOBALID;

}





#else


post_preHWA32_pr0 ^= ROR64(result64_pr3, 32+3);



if(!(post_preHWA32_pr0 & nMask))

{


pOut32[++pOut32[0]] = GLOBALID;

}



#endif



}

}

Of course I gave you bad advice. Good one is way out of your price range.
pallas
Legendary
*
Offline Offline

Activity: 2716
Merit: 1094


Black Belt Developer


View Profile
January 15, 2016, 09:51:47 AM
 #353

interesting, I'll have a look asap, thanks for sharing.
but my kernel, which is a little faster on hawaii and little slower on tahiti, is just 1/4 lines of code.

smolen (OP)
Hero Member
*****
Offline Offline

Activity: 524
Merit: 500


View Profile
January 21, 2016, 08:24:48 AM
 #354

interesting, I'll have a look asap, thanks for sharing.
but my kernel, which is a little faster on hawaii and little slower on tahiti, is just 1/4 lines of code.
Yes, it's overengineered, some failed optimization attempts still live in the code. OTOH, smelter still has no overclocking code, may be putting this kernel as-is into sgminer will bring some speed boost.

Of course I gave you bad advice. Good one is way out of your price range.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!