Source/sources/gnu/kawa/slib/srfi13.java
public static java.lang.Object stringConcatenateReverse$SlShared$V(java.lang.Object r20, java.lang.Object[] r21) {
        /*
            r9 = 0
            r0 = r21
            gnu.lists.LList r5 = gnu.lists.LList.makeList(r0, r9)
            gnu.kawa.functions.ApplyToArgs r10 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$let$Mnoptionals$St
            java.lang.Object r11 = r9.get()     // Catch:{ UnboundLocationException -> 0x0146 }
            gnu.kawa.functions.ApplyToArgs r12 = kawa.standard.Scheme.applyToArgs
            gnu.kawa.functions.ApplyToArgs r13 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r14 = r9.get()     // Catch:{ UnboundLocationException -> 0x0150 }
            java.lang.String r15 = ""
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x015b }
            boolean r9 = kawa.lib.strings.isString(r9)
            if (r9 == 0) goto L_0x00c6
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
        L_0x0029:
            java.lang.Object r13 = r13.apply3(r14, r15, r9)
            gnu.kawa.functions.ApplyToArgs r14 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r15 = r9.get()     // Catch:{ UnboundLocationException -> 0x0166 }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0171 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x017c }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r16 = java.lang.Integer.valueOf(r9)
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0186 }
            boolean r8 = kawa.lib.numbers.isInteger(r9)
            if (r8 == 0) goto L_0x00d2
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0191 }
            boolean r8 = kawa.lib.numbers.isExact(r9)
            if (r8 == 0) goto L_0x00ca
            gnu.kawa.functions.NumberCompare r17 = kawa.standard.Scheme.numLEq
            gnu.math.IntNum r18 = Lit0
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r19 = r9.get()     // Catch:{ UnboundLocationException -> 0x019c }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01a7 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01b2 }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            r0 = r17
            r1 = r18
            r2 = r19
            java.lang.Object r9 = r0.apply3(r1, r2, r9)
        L_0x0081:
            r0 = r16
            java.lang.Object r9 = r14.apply3(r15, r0, r9)
            java.lang.Object r12 = r12.apply2(r13, r9)
            gnu.math.IntNum r3 = Lit0
            java.lang.Boolean r6 = java.lang.Boolean.FALSE
        L_0x008f:
            boolean r9 = kawa.lib.C0619lists.isPair(r20)
            if (r9 == 0) goto L_0x00dd
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            r0 = r20
            java.lang.Object r9 = r9.apply1(r0)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01bc }
            int r7 = kawa.lib.strings.stringLength(r9)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            java.lang.Integer r13 = java.lang.Integer.valueOf(r7)
            java.lang.Object r3 = r9.apply2(r3, r13)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r6 != r9) goto L_0x00bb
            java.lang.Integer r9 = java.lang.Integer.valueOf(r7)
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x00da
        L_0x00bb:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cdr
            r0 = r20
            java.lang.Object r4 = r9.apply1(r0)
            r20 = r4
            goto L_0x008f
        L_0x00c6:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0029
        L_0x00ca:
            if (r8 == 0) goto L_0x00cf
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00cf:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00d2:
            if (r8 == 0) goto L_0x00d7
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00d7:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00da:
            r6 = r20
            goto L_0x00bb
        L_0x00dd:
            r0 = r3
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x01c6 }
            r9 = r0
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x0104
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01d0 }
            gnu.math.IntNum r13 = Lit0
            r14 = 1
            java.lang.Object[] r14 = new java.lang.Object[r14]
            r15 = 0
            gnu.mapping.Location r16 = loc$end
            java.lang.Object r16 = r16.get()     // Catch:{ UnboundLocationException -> 0x01db }
            r14[r15] = r16
            java.lang.Object r9 = substring$SlShared$V(r9, r13, r14)
        L_0x00ff:
            java.lang.Object r9 = r10.apply4(r11, r5, r12, r9)
            return r9
        L_0x0104:
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01e6 }
            java.lang.Number r9 = (java.lang.Number) r9     // Catch:{ ClassCastException -> 0x01f1 }
            boolean r8 = kawa.lib.numbers.isZero(r9)
            if (r8 == 0) goto L_0x0133
            gnu.kawa.functions.NumberCompare r13 = kawa.standard.Scheme.numEqu
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01fb }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            java.lang.Object r9 = r13.apply2(r3, r9)
            java.lang.Boolean r13 = java.lang.Boolean.FALSE
            if (r9 == r13) goto L_0x0135
        L_0x012c:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            goto L_0x00ff
        L_0x0133:
            if (r8 != 0) goto L_0x012c
        L_0x0135:
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0205 }
            gnu.mapping.Location r13 = loc$end
            java.lang.Object r13 = r13.get()     // Catch:{ UnboundLocationException -> 0x0210 }
            java.lang.Object r9 = $PcFinishStringConcatenateReverse(r3, r6, r9, r13)
            goto L_0x00ff
        L_0x0146:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 3
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0150:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x015b:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 55
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0166:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 8
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0171:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 28
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x017c:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0186:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1632(0x660, float:2.287E-42)
            r12 = 21
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0191:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1633(0x661, float:2.288E-42)
            r12 = 19
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x019c:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 17
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01a7:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01b2:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01bc:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01c6:
            r9 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "zero?"
            r12 = 1
            r10.<init>(r9, r11, r12, r3)
            throw r10
        L_0x01d0:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 41
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01db:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 49
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01e6:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1649(0x671, float:2.311E-42)
            r12 = 16
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01f1:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "zero?"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01fb:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0205:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 56
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0210:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 62
            r9.setLine(r10, r11, r12)
            throw r9
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.srfi13.stringConcatenateReverse$SlShared$V(java.lang.Object, java.lang.Object[]):java.lang.Object");
    }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
public static java.lang.Object stringConcatenateReverse$SlShared$V(java.lang.Object r20, java.lang.Object[] r21) {
        /*
            r9 = 0
            r0 = r21
            gnu.lists.LList r5 = gnu.lists.LList.makeList(r0, r9)
            gnu.kawa.functions.ApplyToArgs r10 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$let$Mnoptionals$St
            java.lang.Object r11 = r9.get()     // Catch:{ UnboundLocationException -> 0x0146 }
            gnu.kawa.functions.ApplyToArgs r12 = kawa.standard.Scheme.applyToArgs
            gnu.kawa.functions.ApplyToArgs r13 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r14 = r9.get()     // Catch:{ UnboundLocationException -> 0x0150 }
            java.lang.String r15 = ""
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x015b }
            boolean r9 = kawa.lib.strings.isString(r9)
            if (r9 == 0) goto L_0x00c6
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
        L_0x0029:
            java.lang.Object r13 = r13.apply3(r14, r15, r9)
            gnu.kawa.functions.ApplyToArgs r14 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r15 = r9.get()     // Catch:{ UnboundLocationException -> 0x0166 }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0171 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x017c }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r16 = java.lang.Integer.valueOf(r9)
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0186 }
            boolean r8 = kawa.lib.numbers.isInteger(r9)
            if (r8 == 0) goto L_0x00d2
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0191 }
            boolean r8 = kawa.lib.numbers.isExact(r9)
            if (r8 == 0) goto L_0x00ca
            gnu.kawa.functions.NumberCompare r17 = kawa.standard.Scheme.numLEq
            gnu.math.IntNum r18 = Lit0
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r19 = r9.get()     // Catch:{ UnboundLocationException -> 0x019c }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01a7 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01b2 }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            r0 = r17
            r1 = r18
            r2 = r19
            java.lang.Object r9 = r0.apply3(r1, r2, r9)
        L_0x0081:
            r0 = r16
            java.lang.Object r9 = r14.apply3(r15, r0, r9)
            java.lang.Object r12 = r12.apply2(r13, r9)
            gnu.math.IntNum r3 = Lit0
            java.lang.Boolean r6 = java.lang.Boolean.FALSE
        L_0x008f:
            boolean r9 = kawa.lib.C0619lists.isPair(r20)
            if (r9 == 0) goto L_0x00dd
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            r0 = r20
            java.lang.Object r9 = r9.apply1(r0)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01bc }
            int r7 = kawa.lib.strings.stringLength(r9)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            java.lang.Integer r13 = java.lang.Integer.valueOf(r7)
            java.lang.Object r3 = r9.apply2(r3, r13)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r6 != r9) goto L_0x00bb
            java.lang.Integer r9 = java.lang.Integer.valueOf(r7)
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x00da
        L_0x00bb:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cdr
            r0 = r20
            java.lang.Object r4 = r9.apply1(r0)
            r20 = r4
            goto L_0x008f
        L_0x00c6:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0029
        L_0x00ca:
            if (r8 == 0) goto L_0x00cf
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00cf:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00d2:
            if (r8 == 0) goto L_0x00d7
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00d7:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00da:
            r6 = r20
            goto L_0x00bb
        L_0x00dd:
            r0 = r3
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x01c6 }
            r9 = r0
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x0104
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01d0 }
            gnu.math.IntNum r13 = Lit0
            r14 = 1
            java.lang.Object[] r14 = new java.lang.Object[r14]
            r15 = 0
            gnu.mapping.Location r16 = loc$end
            java.lang.Object r16 = r16.get()     // Catch:{ UnboundLocationException -> 0x01db }
            r14[r15] = r16
            java.lang.Object r9 = substring$SlShared$V(r9, r13, r14)
        L_0x00ff:
            java.lang.Object r9 = r10.apply4(r11, r5, r12, r9)
            return r9
        L_0x0104:
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01e6 }
            java.lang.Number r9 = (java.lang.Number) r9     // Catch:{ ClassCastException -> 0x01f1 }
            boolean r8 = kawa.lib.numbers.isZero(r9)
            if (r8 == 0) goto L_0x0133
            gnu.kawa.functions.NumberCompare r13 = kawa.standard.Scheme.numEqu
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01fb }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            java.lang.Object r9 = r13.apply2(r3, r9)
            java.lang.Boolean r13 = java.lang.Boolean.FALSE
            if (r9 == r13) goto L_0x0135
        L_0x012c:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            goto L_0x00ff
        L_0x0133:
            if (r8 != 0) goto L_0x012c
        L_0x0135:
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0205 }
            gnu.mapping.Location r13 = loc$end
            java.lang.Object r13 = r13.get()     // Catch:{ UnboundLocationException -> 0x0210 }
            java.lang.Object r9 = $PcFinishStringConcatenateReverse(r3, r6, r9, r13)
            goto L_0x00ff
        L_0x0146:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 3
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0150:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x015b:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 55
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0166:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 8
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0171:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 28
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x017c:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0186:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1632(0x660, float:2.287E-42)
            r12 = 21
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0191:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1633(0x661, float:2.288E-42)
            r12 = 19
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x019c:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 17
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01a7:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01b2:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01bc:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01c6:
            r9 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "zero?"
            r12 = 1
            r10.<init>(r9, r11, r12, r3)
            throw r10
        L_0x01d0:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 41
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01db:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 49
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01e6:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1649(0x671, float:2.311E-42)
            r12 = 16
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01f1:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "zero?"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01fb:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0205:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 56
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0210:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 62
            r9.setLine(r10, r11, r12)
            throw r9
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.srfi13.stringConcatenateReverse$SlShared$V(java.lang.Object, java.lang.Object[]):java.lang.Object");
    }
public static java . lang . Object stringConcatenateReverse$SlShared$V ( java . lang . Object r20 , java . lang . Object [ ] r21 ) { /*
            r9 = 0
            r0 = r21
            gnu.lists.LList r5 = gnu.lists.LList.makeList(r0, r9)
            gnu.kawa.functions.ApplyToArgs r10 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$let$Mnoptionals$St
            java.lang.Object r11 = r9.get()     // Catch:{ UnboundLocationException -> 0x0146 }
            gnu.kawa.functions.ApplyToArgs r12 = kawa.standard.Scheme.applyToArgs
            gnu.kawa.functions.ApplyToArgs r13 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r14 = r9.get()     // Catch:{ UnboundLocationException -> 0x0150 }
            java.lang.String r15 = ""
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x015b }
            boolean r9 = kawa.lib.strings.isString(r9)
            if (r9 == 0) goto L_0x00c6
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
        L_0x0029:
            java.lang.Object r13 = r13.apply3(r14, r15, r9)
            gnu.kawa.functions.ApplyToArgs r14 = kawa.standard.Scheme.applyToArgs
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r15 = r9.get()     // Catch:{ UnboundLocationException -> 0x0166 }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0171 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x017c }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r16 = java.lang.Integer.valueOf(r9)
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0186 }
            boolean r8 = kawa.lib.numbers.isInteger(r9)
            if (r8 == 0) goto L_0x00d2
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0191 }
            boolean r8 = kawa.lib.numbers.isExact(r9)
            if (r8 == 0) goto L_0x00ca
            gnu.kawa.functions.NumberCompare r17 = kawa.standard.Scheme.numLEq
            gnu.math.IntNum r18 = Lit0
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r19 = r9.get()     // Catch:{ UnboundLocationException -> 0x019c }
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01a7 }
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01b2 }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            r0 = r17
            r1 = r18
            r2 = r19
            java.lang.Object r9 = r0.apply3(r1, r2, r9)
        L_0x0081:
            r0 = r16
            java.lang.Object r9 = r14.apply3(r15, r0, r9)
            java.lang.Object r12 = r12.apply2(r13, r9)
            gnu.math.IntNum r3 = Lit0
            java.lang.Boolean r6 = java.lang.Boolean.FALSE
        L_0x008f:
            boolean r9 = kawa.lib.C0619lists.isPair(r20)
            if (r9 == 0) goto L_0x00dd
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            r0 = r20
            java.lang.Object r9 = r9.apply1(r0)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01bc }
            int r7 = kawa.lib.strings.stringLength(r9)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            java.lang.Integer r13 = java.lang.Integer.valueOf(r7)
            java.lang.Object r3 = r9.apply2(r3, r13)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r6 != r9) goto L_0x00bb
            java.lang.Integer r9 = java.lang.Integer.valueOf(r7)
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x00da
        L_0x00bb:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cdr
            r0 = r20
            java.lang.Object r4 = r9.apply1(r0)
            r20 = r4
            goto L_0x008f
        L_0x00c6:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0029
        L_0x00ca:
            if (r8 == 0) goto L_0x00cf
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00cf:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00d2:
            if (r8 == 0) goto L_0x00d7
            java.lang.Boolean r9 = java.lang.Boolean.TRUE
            goto L_0x0081
        L_0x00d7:
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            goto L_0x0081
        L_0x00da:
            r6 = r20
            goto L_0x00bb
        L_0x00dd:
            r0 = r3
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x01c6 }
            r9 = r0
            boolean r9 = kawa.lib.numbers.isZero(r9)
            if (r9 == 0) goto L_0x0104
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01d0 }
            gnu.math.IntNum r13 = Lit0
            r14 = 1
            java.lang.Object[] r14 = new java.lang.Object[r14]
            r15 = 0
            gnu.mapping.Location r16 = loc$end
            java.lang.Object r16 = r16.get()     // Catch:{ UnboundLocationException -> 0x01db }
            r14[r15] = r16
            java.lang.Object r9 = substring$SlShared$V(r9, r13, r14)
        L_0x00ff:
            java.lang.Object r9 = r10.apply4(r11, r5, r12, r9)
            return r9
        L_0x0104:
            gnu.mapping.Location r9 = loc$end
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x01e6 }
            java.lang.Number r9 = (java.lang.Number) r9     // Catch:{ ClassCastException -> 0x01f1 }
            boolean r8 = kawa.lib.numbers.isZero(r9)
            if (r8 == 0) goto L_0x0133
            gnu.kawa.functions.NumberCompare r13 = kawa.standard.Scheme.numEqu
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            java.lang.CharSequence r9 = (java.lang.CharSequence) r9     // Catch:{ ClassCastException -> 0x01fb }
            int r9 = kawa.lib.strings.stringLength(r9)
            java.lang.Integer r9 = java.lang.Integer.valueOf(r9)
            java.lang.Object r9 = r13.apply2(r3, r9)
            java.lang.Boolean r13 = java.lang.Boolean.FALSE
            if (r9 == r13) goto L_0x0135
        L_0x012c:
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            goto L_0x00ff
        L_0x0133:
            if (r8 != 0) goto L_0x012c
        L_0x0135:
            gnu.mapping.Location r9 = loc$final
            java.lang.Object r9 = r9.get()     // Catch:{ UnboundLocationException -> 0x0205 }
            gnu.mapping.Location r13 = loc$end
            java.lang.Object r13 = r13.get()     // Catch:{ UnboundLocationException -> 0x0210 }
            java.lang.Object r9 = $PcFinishStringConcatenateReverse(r3, r6, r9, r13)
            goto L_0x00ff
        L_0x0146:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 3
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0150:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x015b:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1630(0x65e, float:2.284E-42)
            r12 = 55
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0166:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 8
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0171:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1631(0x65f, float:2.286E-42)
            r12 = 28
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x017c:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0186:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1632(0x660, float:2.287E-42)
            r12 = 21
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0191:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1633(0x661, float:2.288E-42)
            r12 = 19
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x019c:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 17
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01a7:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1634(0x662, float:2.29E-42)
            r12 = 36
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01b2:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01bc:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01c6:
            r9 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "zero?"
            r12 = 1
            r10.<init>(r9, r11, r12, r3)
            throw r10
        L_0x01d0:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 41
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01db:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1645(0x66d, float:2.305E-42)
            r12 = 49
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01e6:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1649(0x671, float:2.311E-42)
            r12 = 16
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x01f1:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "zero?"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x01fb:
            r10 = move-exception
            gnu.mapping.WrongType r11 = new gnu.mapping.WrongType
            java.lang.String r12 = "string-length"
            r13 = 1
            r11.<init>(r10, r12, r13, r9)
            throw r11
        L_0x0205:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 56
            r9.setLine(r10, r11, r12)
            throw r9
        L_0x0210:
            r9 = move-exception
            java.lang.String r10 = "/u2/home/jis/ai2-kawa/gnu/kawa/slib/srfi13.scm"
            r11 = 1652(0x674, float:2.315E-42)
            r12 = 62
            r9.setLine(r10, r11, r12)
            throw r9
        */ throw new UnsupportedOperationException ( "Method not decompiled: gnu.kawa.slib.srfi13.stringConcatenateReverse$SlShared$V(java.lang.Object, java.lang.Object[]):java.lang.Object" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .