1 // REQUIRED_ARGS: -O
2 // https://issues.dlang.org/show_bug.cgi?id=15898
3 
addAssignSimple(int[],const (int)[])4 int addAssignSimple(int[] , const(int)[] )
5 {
6     uint c;
7     return c;
8 }
9 
mulKaratsuba(int[]result,const (int)[]x,const (int)[]y,int[])10 void mulKaratsuba(int[] result, const(int)[] x, const(int)[] y, int[] )
11 {
12     const(int)[] y1 = y;
13     int[] newscratchbuff;
14     int[] resultHigh = result;
15 
16     bool ysmaller2 = x.length >= y1.length;
17     newscratchbuff[0..y1.length] = resultHigh;
18     mulKaratsuba(
19         resultHigh[1..$],
20         ysmaller2 ? x[1..$] : y1,
21         ysmaller2 ? y1 : x,
22         newscratchbuff[y1.length..$]
23     );
24 
25     addAssignSimple(resultHigh[1..$], newscratchbuff[0..y1.length]);
26 }
27 
28