blob: e6943cf7177b25e04832c5424d0a3d7fc3312eba [file] [log] [blame]
Alan Leung39d764d2017-11-13 15:27:01 -08001# Copyright (C) 2017 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15.class public LSmali;
16.super Ljava/lang/Object;
17.field b00:Z
18.field b01:Z
19.field b02:Z
20.field b03:Z
21.field b04:Z
22.field b05:Z
23.field b06:Z
24.field b07:Z
25.field b08:Z
26.field b09:Z
27.field b10:Z
28.field b11:Z
29.field b12:Z
30.field b13:Z
31.field b14:Z
32.field b15:Z
33.field b16:Z
34.field b17:Z
35.field b18:Z
36.field b19:Z
37.field b20:Z
38.field b21:Z
39.field b22:Z
40.field b23:Z
41.field b24:Z
42.field b25:Z
43.field b26:Z
44.field b27:Z
45.field b28:Z
46.field b29:Z
47.field b30:Z
48.field b31:Z
49.field b32:Z
50.field b33:Z
51.field b34:Z
52.field b35:Z
53.field b36:Z
54
55.field conditionA:Z
56.field conditionB:Z
57.field conditionC:Z
58
59.method public constructor <init>()V
60 .registers 1
61 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
62 return-void
63.end method
64
65## CHECK-START-ARM64: void Smali.test() register (after)
66## CHECK: begin_block
67## CHECK: name "B0"
68## CHECK: <<This:l\d+>> ParameterValue
69## CHECK: end_block
70## CHECK: begin_block
71## CHECK: successors "<<ThenBlock:B\d+>>" "<<ElseBlock:B\d+>>"
72## CHECK: <<CondB:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionB
73## CHECK: If [<<CondB>>]
74## CHECK: end_block
75## CHECK: begin_block
76## CHECK: name "<<ElseBlock>>"
77## CHECK: ParallelMove moves:[40(sp)->d0,24(sp)->32(sp),28(sp)->36(sp),d0->d3,d3->d4,d2->d5,d4->d6,d5->d7,d6->d18,d7->d19,d18->d20,d19->d21,d20->d22,d21->d23,d22->d10,d23->d11,16(sp)->24(sp),20(sp)->28(sp),d10->d14,d11->d12,d12->d13,d13->d1,d14->d2,32(sp)->16(sp),36(sp)->20(sp)]
78## CHECK: end_block
79
80## CHECK-START-ARM64: void Smali.test() disassembly (after)
81## CHECK: begin_block
82## CHECK: name "B0"
83## CHECK: <<This:l\d+>> ParameterValue
84## CHECK: end_block
85## CHECK: begin_block
86## CHECK: successors "<<ThenBlock:B\d+>>" "<<ElseBlock:B\d+>>"
87## CHECK: <<CondB:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionB
88## CHECK: If [<<CondB>>]
89## CHECK: end_block
90## CHECK: begin_block
91## CHECK: name "<<ElseBlock>>"
92## CHECK: ParallelMove moves:[invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid]
93## CHECK: fmov d31, d2
94## CHECK: ldr s2, [sp, #36]
95## CHECK: ldr w16, [sp, #16]
96## CHECK: str w16, [sp, #36]
97## CHECK: str s14, [sp, #16]
98## CHECK: ldr s14, [sp, #28]
99## CHECK: str s1, [sp, #28]
100## CHECK: ldr s1, [sp, #32]
101## CHECK: str s31, [sp, #32]
102## CHECK: ldr s31, [sp, #20]
103## CHECK: str s31, [sp, #40]
104## CHECK: str s12, [sp, #20]
105## CHECK: fmov d12, d11
106## CHECK: fmov d11, d10
107## CHECK: fmov d10, d23
108## CHECK: fmov d23, d22
109## CHECK: fmov d22, d21
110## CHECK: fmov d21, d20
111## CHECK: fmov d20, d19
112## CHECK: fmov d19, d18
113## CHECK: fmov d18, d7
114## CHECK: fmov d7, d6
115## CHECK: fmov d6, d5
116## CHECK: fmov d5, d4
117## CHECK: fmov d4, d3
118## CHECK: fmov d3, d13
119## CHECK: ldr s13, [sp, #24]
120## CHECK: str s3, [sp, #24]
121## CHECK: ldr s3, pc+{{\d+}} (addr {{0x[0-9a-f]+}}) (100)
122## CHECK: end_block
123.method public test()V
124 .registers 45
125
126 const-string v39, ""
127
128 move-object/from16 v0, p0
129
130 iget-boolean v0, v0, LSmali;->b17:Z
131
132 move/from16 v42, v0
133
134 if-eqz v42, :cond_367
135
136 const/16 v19, 0x0
137
138 :goto_c
139 move-object/from16 v0, p0
140
141 iget-boolean v0, v0, LSmali;->b16:Z
142
143 move/from16 v42, v0
144
145 if-eqz v42, :cond_36b
146
147 const/16 v18, 0x0
148
149 :goto_16
150 move-object/from16 v0, p0
151
152 iget-boolean v0, v0, LSmali;->b18:Z
153
154 move/from16 v42, v0
155
156 if-eqz v42, :cond_36f
157
158 const/16 v20, 0x0
159
160 :goto_20
161 move-object/from16 v0, p0
162
163 iget-boolean v0, v0, LSmali;->b19:Z
164
165 move/from16 v42, v0
166
167 if-eqz v42, :cond_373
168
169 const/16 v21, 0x0
170
171 :goto_2a
172 move-object/from16 v0, p0
173
174 iget-boolean v0, v0, LSmali;->b20:Z
175
176 move/from16 v42, v0
177
178 if-eqz v42, :cond_377
179
180 const/16 v22, 0x0
181
182 :goto_34
183 move-object/from16 v0, p0
184
185 iget-boolean v0, v0, LSmali;->b21:Z
186
187 move/from16 v42, v0
188
189 if-eqz v42, :cond_37b
190
191 const/16 v23, 0x0
192
193 :goto_3e
194 move-object/from16 v0, p0
195
196 iget-boolean v0, v0, LSmali;->b15:Z
197
198 move/from16 v42, v0
199
200 if-eqz v42, :cond_37f
201
202 const/16 v17, 0x0
203
204 :goto_48
205 move-object/from16 v0, p0
206
207 iget-boolean v0, v0, LSmali;->b00:Z
208
209 move/from16 v42, v0
210
211 if-eqz v42, :cond_383
212
213 const/4 v2, 0x0
214
215 :goto_51
216 move-object/from16 v0, p0
217
218 iget-boolean v0, v0, LSmali;->b22:Z
219
220 move/from16 v42, v0
221
222 if-eqz v42, :cond_387
223
224 const/16 v24, 0x0
225
226 :goto_5b
227 move-object/from16 v0, p0
228
229 iget-boolean v0, v0, LSmali;->b23:Z
230
231 move/from16 v42, v0
232
233 if-eqz v42, :cond_38b
234
235 const/16 v25, 0x0
236
237 :goto_65
238 move-object/from16 v0, p0
239
240 iget-boolean v0, v0, LSmali;->b24:Z
241
242 move/from16 v42, v0
243
244 if-eqz v42, :cond_38f
245
246 const/16 v26, 0x0
247
248 :goto_6f
249 move-object/from16 v0, p0
250
251 iget-boolean v0, v0, LSmali;->b25:Z
252
253 move/from16 v42, v0
254
255 if-eqz v42, :cond_393
256
257 const/16 v27, 0x0
258
259 :goto_79
260 move-object/from16 v0, p0
261
262 iget-boolean v0, v0, LSmali;->b26:Z
263
264 move/from16 v42, v0
265
266 if-eqz v42, :cond_397
267
268 const/16 v28, 0x0
269
270 :goto_83
271 move-object/from16 v0, p0
272
273 iget-boolean v0, v0, LSmali;->b27:Z
274
275 move/from16 v42, v0
276
277 if-eqz v42, :cond_39b
278
279 const/16 v29, 0x0
280
281 :goto_8d
282 move-object/from16 v0, p0
283
284 iget-boolean v0, v0, LSmali;->b29:Z
285
286 move/from16 v42, v0
287
288 if-eqz v42, :cond_39f
289
290 const/16 v31, 0x0
291
292 :goto_97
293 move-object/from16 v0, p0
294
295 iget-boolean v0, v0, LSmali;->b28:Z
296
297 move/from16 v42, v0
298
299 if-eqz v42, :cond_3a3
300
301 const/16 v30, 0x0
302
303 :goto_a1
304 move-object/from16 v0, p0
305
306 iget-boolean v0, v0, LSmali;->b01:Z
307
308 move/from16 v42, v0
309
310 if-eqz v42, :cond_3a7
311
312 const/4 v3, 0x0
313
314 :goto_aa
315 move-object/from16 v0, p0
316
317 iget-boolean v0, v0, LSmali;->b02:Z
318
319 move/from16 v42, v0
320
321 if-eqz v42, :cond_3ab
322
323 const/4 v4, 0x0
324
325 :goto_b3
326 move-object/from16 v0, p0
327
328 iget-boolean v0, v0, LSmali;->b03:Z
329
330 move/from16 v42, v0
331
332 if-eqz v42, :cond_3af
333
334 const/4 v5, 0x0
335
336 :goto_bc
337 move-object/from16 v0, p0
338
339 iget-boolean v0, v0, LSmali;->b04:Z
340
341 move/from16 v42, v0
342
343 if-eqz v42, :cond_3b3
344
345 const/4 v6, 0x0
346
347 :goto_c5
348 move-object/from16 v0, p0
349
350 iget-boolean v0, v0, LSmali;->b05:Z
351
352 move/from16 v42, v0
353
354 if-eqz v42, :cond_3b7
355
356 const/4 v7, 0x0
357
358 :goto_ce
359 move-object/from16 v0, p0
360
361 iget-boolean v0, v0, LSmali;->b07:Z
362
363 move/from16 v42, v0
364
365 if-eqz v42, :cond_3bb
366
367 const/4 v9, 0x0
368
369 :goto_d7
370 move-object/from16 v0, p0
371
372 iget-boolean v0, v0, LSmali;->b06:Z
373
374 move/from16 v42, v0
375
376 if-eqz v42, :cond_3bf
377
378 const/4 v8, 0x0
379
380 :goto_e0
381 move-object/from16 v0, p0
382
383 iget-boolean v0, v0, LSmali;->b30:Z
384
385 move/from16 v42, v0
386
387 if-eqz v42, :cond_3c3
388
389 const/16 v32, 0x0
390
391 :goto_ea
392 move-object/from16 v0, p0
393
394 iget-boolean v0, v0, LSmali;->b31:Z
395
396 move/from16 v42, v0
397
398 if-eqz v42, :cond_3c7
399
400 const/16 v33, 0x0
401
402 :goto_f4
403 move-object/from16 v0, p0
404
405 iget-boolean v0, v0, LSmali;->b32:Z
406
407 move/from16 v42, v0
408
409 if-eqz v42, :cond_3cb
410
411 const/16 v34, 0x0
412
413 :goto_fe
414 move-object/from16 v0, p0
415
416 iget-boolean v0, v0, LSmali;->b33:Z
417
418 move/from16 v42, v0
419
420 if-eqz v42, :cond_3cf
421
422 const/16 v35, 0x0
423
424 :goto_108
425 move-object/from16 v0, p0
426
427 iget-boolean v0, v0, LSmali;->b34:Z
428
429 move/from16 v42, v0
430
431 if-eqz v42, :cond_3d3
432
433 const/16 v36, 0x0
434
435 :goto_112
436 move-object/from16 v0, p0
437
438 iget-boolean v0, v0, LSmali;->b36:Z
439
440 move/from16 v42, v0
441
442 if-eqz v42, :cond_3d7
443
444 const/16 v38, 0x0
445
446 :goto_11c
447 move-object/from16 v0, p0
448
449 iget-boolean v0, v0, LSmali;->b35:Z
450
451 move/from16 v42, v0
452
453 if-eqz v42, :cond_3db
454
455 const/16 v37, 0x0
456
457 :goto_126
458 move-object/from16 v0, p0
459
460 iget-boolean v0, v0, LSmali;->b08:Z
461
462 move/from16 v42, v0
463
464 if-eqz v42, :cond_3df
465
466 const/4 v10, 0x0
467
468 :goto_12f
469 move-object/from16 v0, p0
470
471 iget-boolean v0, v0, LSmali;->b09:Z
472
473 move/from16 v42, v0
474
475 if-eqz v42, :cond_3e3
476
477 const/4 v11, 0x0
478
479 :goto_138
480 move-object/from16 v0, p0
481
482 iget-boolean v0, v0, LSmali;->b10:Z
483
484 move/from16 v42, v0
485
486 if-eqz v42, :cond_3e7
487
488 const/4 v12, 0x0
489
490 :goto_141
491 move-object/from16 v0, p0
492
493 iget-boolean v0, v0, LSmali;->b11:Z
494
495 move/from16 v42, v0
496
497 if-eqz v42, :cond_3eb
498
499 const/4 v13, 0x0
500
501 :goto_14a
502 move-object/from16 v0, p0
503
504 iget-boolean v0, v0, LSmali;->b12:Z
505
506 move/from16 v42, v0
507
508 if-eqz v42, :cond_3ef
509
510 const/4 v14, 0x0
511
512 :goto_153
513 move-object/from16 v0, p0
514
515 iget-boolean v0, v0, LSmali;->b14:Z
516
517 move/from16 v42, v0
518
519 if-eqz v42, :cond_3f3
520
521 const/16 v16, 0x0
522
523 :goto_15d
524 move-object/from16 v0, p0
525
526 iget-boolean v0, v0, LSmali;->b13:Z
527
528 move/from16 v42, v0
529
530 if-eqz v42, :cond_3f7
531
532 const/4 v15, 0x0
533
534 :goto_166
535 move-object/from16 v0, p0
536
537 iget-boolean v0, v0, LSmali;->conditionA:Z
538
539 move/from16 v42, v0
540
541 if-eqz v42, :cond_202
542
543 const/high16 v42, 0x447a0000 # 1000.0f
544
545 div-float v18, v18, v42
546
547 const/high16 v42, 0x447a0000 # 1000.0f
548
549 div-float v19, v19, v42
550
551 const/high16 v42, 0x447a0000 # 1000.0f
552
553 div-float v20, v20, v42
554
555 const/high16 v42, 0x447a0000 # 1000.0f
556
557 div-float v21, v21, v42
558
559 const/high16 v42, 0x447a0000 # 1000.0f
560
561 div-float v22, v22, v42
562
563 const/high16 v42, 0x447a0000 # 1000.0f
564
565 div-float v23, v23, v42
566
567 const/high16 v42, 0x447a0000 # 1000.0f
568
569 div-float v17, v17, v42
570
571 const/high16 v42, 0x447a0000 # 1000.0f
572
573 div-float v10, v10, v42
574
575 const/high16 v42, 0x447a0000 # 1000.0f
576
577 div-float v11, v11, v42
578
579 const/high16 v42, 0x447a0000 # 1000.0f
580
581 div-float v12, v12, v42
582
583 const/high16 v42, 0x447a0000 # 1000.0f
584
585 div-float v13, v13, v42
586
587 const/high16 v42, 0x447a0000 # 1000.0f
588
589 div-float v14, v14, v42
590
591 const/high16 v42, 0x447a0000 # 1000.0f
592
593 div-float v32, v32, v42
594
595 const/high16 v42, 0x447a0000 # 1000.0f
596
597 div-float v33, v33, v42
598
599 const/high16 v42, 0x447a0000 # 1000.0f
600
601 div-float v34, v34, v42
602
603 const/high16 v42, 0x447a0000 # 1000.0f
604
605 div-float v35, v35, v42
606
607 const/high16 v42, 0x447a0000 # 1000.0f
608
609 div-float v36, v36, v42
610
611 const/high16 v42, 0x447a0000 # 1000.0f
612
613 div-float v3, v3, v42
614
615 const/high16 v42, 0x447a0000 # 1000.0f
616
617 div-float v4, v4, v42
618
619 const/high16 v42, 0x447a0000 # 1000.0f
620
621 div-float v5, v5, v42
622
623 const/high16 v42, 0x447a0000 # 1000.0f
624
625 div-float v6, v6, v42
626
627 const/high16 v42, 0x447a0000 # 1000.0f
628
629 div-float v7, v7, v42
630
631 const/high16 v42, 0x447a0000 # 1000.0f
632
633 div-float v25, v25, v42
634
635 const/high16 v42, 0x447a0000 # 1000.0f
636
637 div-float v26, v26, v42
638
639 const/high16 v42, 0x447a0000 # 1000.0f
640
641 div-float v27, v27, v42
642
643 const/high16 v42, 0x447a0000 # 1000.0f
644
645 div-float v28, v28, v42
646
647 const/high16 v42, 0x447a0000 # 1000.0f
648
649 div-float v29, v29, v42
650
651 const/high16 v42, 0x447a0000 # 1000.0f
652
653 div-float v24, v24, v42
654
655 const/high16 v42, 0x447a0000 # 1000.0f
656
657 div-float v2, v2, v42
658
659 const/high16 v42, 0x447a0000 # 1000.0f
660
661 div-float v16, v16, v42
662
663 const/high16 v42, 0x447a0000 # 1000.0f
664
665 div-float v15, v15, v42
666
667 const/high16 v42, 0x447a0000 # 1000.0f
668
669 div-float v38, v38, v42
670
671 const/high16 v42, 0x447a0000 # 1000.0f
672
673 div-float v37, v37, v42
674
675 const/high16 v42, 0x447a0000 # 1000.0f
676
677 div-float v9, v9, v42
678
679 const/high16 v42, 0x447a0000 # 1000.0f
680
681 div-float v8, v8, v42
682
683 const/high16 v42, 0x447a0000 # 1000.0f
684
685 div-float v31, v31, v42
686
687 const/high16 v42, 0x447a0000 # 1000.0f
688
689 div-float v30, v30, v42
690
691 :cond_202
692 move-object/from16 v0, p0
693
694 iget-boolean v0, v0, LSmali;->conditionB:Z
695
696 move/from16 v42, v0
697
698 if-eqz v42, :cond_29e
699
700 const/high16 v42, 0x42c80000 # 100.0f
701
702 div-float v18, v18, v42
703
704 const/high16 v42, 0x42c80000 # 100.0f
705
706 div-float v19, v19, v42
707
708 const/high16 v42, 0x42c80000 # 100.0f
709
710 div-float v20, v20, v42
711
712 const/high16 v42, 0x42c80000 # 100.0f
713
714 div-float v21, v21, v42
715
716 const/high16 v42, 0x42c80000 # 100.0f
717
718 div-float v22, v22, v42
719
720 const/high16 v42, 0x42c80000 # 100.0f
721
722 div-float v23, v23, v42
723
724 const/high16 v42, 0x42c80000 # 100.0f
725
726 div-float v17, v17, v42
727
728 const/high16 v42, 0x42c80000 # 100.0f
729
730 div-float v10, v10, v42
731
732 const/high16 v42, 0x42c80000 # 100.0f
733
734 div-float v11, v11, v42
735
736 const/high16 v42, 0x42c80000 # 100.0f
737
738 div-float v12, v12, v42
739
740 const/high16 v42, 0x42c80000 # 100.0f
741
742 div-float v13, v13, v42
743
744 const/high16 v42, 0x42c80000 # 100.0f
745
746 div-float v14, v14, v42
747
748 const/high16 v42, 0x42c80000 # 100.0f
749
750 div-float v32, v32, v42
751
752 const/high16 v42, 0x42c80000 # 100.0f
753
754 div-float v33, v33, v42
755
756 const/high16 v42, 0x42c80000 # 100.0f
757
758 div-float v34, v34, v42
759
760 const/high16 v42, 0x42c80000 # 100.0f
761
762 div-float v35, v35, v42
763
764 const/high16 v42, 0x42c80000 # 100.0f
765
766 div-float v36, v36, v42
767
768 const/high16 v42, 0x42c80000 # 100.0f
769
770 div-float v3, v3, v42
771
772 const/high16 v42, 0x42c80000 # 100.0f
773
774 div-float v4, v4, v42
775
776 const/high16 v42, 0x42c80000 # 100.0f
777
778 div-float v5, v5, v42
779
780 const/high16 v42, 0x42c80000 # 100.0f
781
782 div-float v6, v6, v42
783
784 const/high16 v42, 0x42c80000 # 100.0f
785
786 div-float v7, v7, v42
787
788 const/high16 v42, 0x42c80000 # 100.0f
789
790 div-float v25, v25, v42
791
792 const/high16 v42, 0x42c80000 # 100.0f
793
794 div-float v26, v26, v42
795
796 const/high16 v42, 0x42c80000 # 100.0f
797
798 div-float v27, v27, v42
799
800 const/high16 v42, 0x42c80000 # 100.0f
801
802 div-float v28, v28, v42
803
804 const/high16 v42, 0x42c80000 # 100.0f
805
806 div-float v29, v29, v42
807
808 const/high16 v42, 0x42c80000 # 100.0f
809
810 div-float v24, v24, v42
811
812 const/high16 v42, 0x42c80000 # 100.0f
813
814 div-float v2, v2, v42
815
816 const/high16 v42, 0x42c80000 # 100.0f
817
818 div-float v16, v16, v42
819
820 const/high16 v42, 0x42c80000 # 100.0f
821
822 div-float v15, v15, v42
823
824 const/high16 v42, 0x42c80000 # 100.0f
825
826 div-float v38, v38, v42
827
828 const/high16 v42, 0x42c80000 # 100.0f
829
830 div-float v37, v37, v42
831
832 const/high16 v42, 0x42c80000 # 100.0f
833
834 div-float v9, v9, v42
835
836 const/high16 v42, 0x42c80000 # 100.0f
837
838 div-float v8, v8, v42
839
840 const/high16 v42, 0x42c80000 # 100.0f
841
842 div-float v31, v31, v42
843
844 const/high16 v42, 0x42c80000 # 100.0f
845
846 div-float v30, v30, v42
847
848 :cond_29e
849 move-object/from16 v0, p0
850
851 iget-boolean v0, v0, LSmali;->conditionC:Z
852
853 move/from16 v42, v0
854
855 if-eqz v42, :cond_33a
856
857 const/high16 v42, 0x41400000 # 12.0f
858
859 div-float v18, v18, v42
860
861 const/high16 v42, 0x41400000 # 12.0f
862
863 div-float v19, v19, v42
864
865 const/high16 v42, 0x41400000 # 12.0f
866
867 div-float v20, v20, v42
868
869 const/high16 v42, 0x41400000 # 12.0f
870
871 div-float v21, v21, v42
872
873 const/high16 v42, 0x41400000 # 12.0f
874
875 div-float v22, v22, v42
876
877 const/high16 v42, 0x41400000 # 12.0f
878
879 div-float v23, v23, v42
880
881 const/high16 v42, 0x41400000 # 12.0f
882
883 div-float v17, v17, v42
884
885 const/high16 v42, 0x41400000 # 12.0f
886
887 div-float v10, v10, v42
888
889 const/high16 v42, 0x41400000 # 12.0f
890
891 div-float v11, v11, v42
892
893 const/high16 v42, 0x41400000 # 12.0f
894
895 div-float v12, v12, v42
896
897 const/high16 v42, 0x41400000 # 12.0f
898
899 div-float v13, v13, v42
900
901 const/high16 v42, 0x41400000 # 12.0f
902
903 div-float v14, v14, v42
904
905 const/high16 v42, 0x41400000 # 12.0f
906
907 div-float v32, v32, v42
908
909 const/high16 v42, 0x41400000 # 12.0f
910
911 div-float v33, v33, v42
912
913 const/high16 v42, 0x41400000 # 12.0f
914
915 div-float v34, v34, v42
916
917 const/high16 v42, 0x41400000 # 12.0f
918
919 div-float v35, v35, v42
920
921 const/high16 v42, 0x41400000 # 12.0f
922
923 div-float v36, v36, v42
924
925 const/high16 v42, 0x41400000 # 12.0f
926
927 div-float v3, v3, v42
928
929 const/high16 v42, 0x41400000 # 12.0f
930
931 div-float v4, v4, v42
932
933 const/high16 v42, 0x41400000 # 12.0f
934
935 div-float v5, v5, v42
936
937 const/high16 v42, 0x41400000 # 12.0f
938
939 div-float v6, v6, v42
940
941 const/high16 v42, 0x41400000 # 12.0f
942
943 div-float v7, v7, v42
944
945 const/high16 v42, 0x41400000 # 12.0f
946
947 div-float v25, v25, v42
948
949 const/high16 v42, 0x41400000 # 12.0f
950
951 div-float v26, v26, v42
952
953 const/high16 v42, 0x41400000 # 12.0f
954
955 div-float v27, v27, v42
956
957 const/high16 v42, 0x41400000 # 12.0f
958
959 div-float v28, v28, v42
960
961 const/high16 v42, 0x41400000 # 12.0f
962
963 div-float v29, v29, v42
964
965 const/high16 v42, 0x41400000 # 12.0f
966
967 div-float v24, v24, v42
968
969 const/high16 v42, 0x41400000 # 12.0f
970
971 div-float v2, v2, v42
972
973 const/high16 v42, 0x41400000 # 12.0f
974
975 div-float v16, v16, v42
976
977 const/high16 v42, 0x41400000 # 12.0f
978
979 div-float v15, v15, v42
980
981 const/high16 v42, 0x41400000 # 12.0f
982
983 div-float v38, v38, v42
984
985 const/high16 v42, 0x41400000 # 12.0f
986
987 div-float v37, v37, v42
988
989 const/high16 v42, 0x41400000 # 12.0f
990
991 div-float v9, v9, v42
992
993 const/high16 v42, 0x41400000 # 12.0f
994
995 div-float v8, v8, v42
996
997 const/high16 v42, 0x41400000 # 12.0f
998
999 div-float v31, v31, v42
1000
1001 const/high16 v42, 0x41400000 # 12.0f
1002
1003 div-float v30, v30, v42
1004
1005 :cond_33a
1006 const/16 v41, 0x0
1007
1008 const/high16 v42, 0x42c80000 # 100.0f
1009
1010 mul-float v42, v42, v41
1011
1012 invoke-static/range {v42 .. v42}, Ljava/lang/Math;->round(F)I
1013
1014 move-result v42
1015
1016 move/from16 v0, v42
1017
1018 int-to-float v0, v0
1019
1020 move/from16 v42, v0
1021
1022 const/high16 v43, 0x42c80000 # 100.0f
1023
1024 div-float v41, v42, v43
1025
1026 new-instance v42, Ljava/lang/StringBuilder;
1027
1028 invoke-direct/range {v42 .. v42}, Ljava/lang/StringBuilder;-><init>()V
1029
1030 move-object/from16 v0, v42
1031
1032 move/from16 v1, v41
1033
1034 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
1035
1036 move-result-object v42
1037
1038 move-object/from16 v0, v42
1039
1040 move-object/from16 v1, v39
1041
1042 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1043
1044 move-result-object v42
1045
1046 invoke-virtual/range {v42 .. v42}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1047
1048 move-result-object v40
1049
1050 return-void
1051
1052 :cond_367
1053 const/high16 v19, 0x3f800000 # 1.0f
1054
1055 goto/16 :goto_c
1056
1057 :cond_36b
1058 const/high16 v18, 0x3f800000 # 1.0f
1059
1060 goto/16 :goto_16
1061
1062 :cond_36f
1063 const/high16 v20, 0x3f800000 # 1.0f
1064
1065 goto/16 :goto_20
1066
1067 :cond_373
1068 const/high16 v21, 0x3f800000 # 1.0f
1069
1070 goto/16 :goto_2a
1071
1072 :cond_377
1073 const/high16 v22, 0x3f800000 # 1.0f
1074
1075 goto/16 :goto_34
1076
1077 :cond_37b
1078 const/high16 v23, 0x3f800000 # 1.0f
1079
1080 goto/16 :goto_3e
1081
1082 :cond_37f
1083 const/high16 v17, 0x3f800000 # 1.0f
1084
1085 goto/16 :goto_48
1086
1087 :cond_383
1088 const/high16 v2, 0x3f800000 # 1.0f
1089
1090 goto/16 :goto_51
1091
1092 :cond_387
1093 const/high16 v24, 0x3f800000 # 1.0f
1094
1095 goto/16 :goto_5b
1096
1097 :cond_38b
1098 const/high16 v25, 0x3f800000 # 1.0f
1099
1100 goto/16 :goto_65
1101
1102 :cond_38f
1103 const/high16 v26, 0x3f800000 # 1.0f
1104
1105 goto/16 :goto_6f
1106
1107 :cond_393
1108 const/high16 v27, 0x3f800000 # 1.0f
1109
1110 goto/16 :goto_79
1111
1112 :cond_397
1113 const/high16 v28, 0x3f800000 # 1.0f
1114
1115 goto/16 :goto_83
1116
1117 :cond_39b
1118 const/high16 v29, 0x3f800000 # 1.0f
1119
1120 goto/16 :goto_8d
1121
1122 :cond_39f
1123 const/high16 v31, 0x3f800000 # 1.0f
1124
1125 goto/16 :goto_97
1126
1127 :cond_3a3
1128 const/high16 v30, 0x3f800000 # 1.0f
1129
1130 goto/16 :goto_a1
1131
1132 :cond_3a7
1133 const/high16 v3, 0x3f800000 # 1.0f
1134
1135 goto/16 :goto_aa
1136
1137 :cond_3ab
1138 const/high16 v4, 0x3f800000 # 1.0f
1139
1140 goto/16 :goto_b3
1141
1142 :cond_3af
1143 const/high16 v5, 0x3f800000 # 1.0f
1144
1145 goto/16 :goto_bc
1146
1147 :cond_3b3
1148 const/high16 v6, 0x3f800000 # 1.0f
1149
1150 goto/16 :goto_c5
1151
1152 :cond_3b7
1153 const/high16 v7, 0x3f800000 # 1.0f
1154
1155 goto/16 :goto_ce
1156
1157 :cond_3bb
1158 const/high16 v9, 0x3f800000 # 1.0f
1159
1160 goto/16 :goto_d7
1161
1162 :cond_3bf
1163 const/high16 v8, 0x3f800000 # 1.0f
1164
1165 goto/16 :goto_e0
1166
1167 :cond_3c3
1168 const/high16 v32, 0x3f800000 # 1.0f
1169
1170 goto/16 :goto_ea
1171
1172 :cond_3c7
1173 const/high16 v33, 0x3f800000 # 1.0f
1174
1175 goto/16 :goto_f4
1176
1177 :cond_3cb
1178 const/high16 v34, 0x3f800000 # 1.0f
1179
1180 goto/16 :goto_fe
1181
1182 :cond_3cf
1183 const/high16 v35, 0x3f800000 # 1.0f
1184
1185 goto/16 :goto_108
1186
1187 :cond_3d3
1188 const/high16 v36, 0x3f800000 # 1.0f
1189
1190 goto/16 :goto_112
1191
1192 :cond_3d7
1193 const/high16 v38, 0x3f800000 # 1.0f
1194
1195 goto/16 :goto_11c
1196
1197 :cond_3db
1198 const/high16 v37, 0x3f800000 # 1.0f
1199
1200 goto/16 :goto_126
1201
1202 :cond_3df
1203 const/high16 v10, 0x3f800000 # 1.0f
1204
1205 goto/16 :goto_12f
1206
1207 :cond_3e3
1208 const/high16 v11, 0x3f800000 # 1.0f
1209
1210 goto/16 :goto_138
1211
1212 :cond_3e7
1213 const/high16 v12, 0x3f800000 # 1.0f
1214
1215 goto/16 :goto_141
1216
1217 :cond_3eb
1218 const/high16 v13, 0x3f800000 # 1.0f
1219
1220 goto/16 :goto_14a
1221
1222 :cond_3ef
1223 const/high16 v14, 0x3f800000 # 1.0f
1224
1225 goto/16 :goto_153
1226
1227 :cond_3f3
1228 const/high16 v16, 0x3f800000 # 1.0f
1229
1230 goto/16 :goto_15d
1231
1232 :cond_3f7
1233 const/high16 v15, 0x3f800000 # 1.0f
1234
1235 goto/16 :goto_166
1236.end method
1237
1238## CHECK-START-ARM64: void Smali.testD8() register (after)
1239## CHECK: begin_block
1240## CHECK: name "B0"
1241## CHECK: <<This:l\d+>> ParameterValue
1242## CHECK: end_block
1243
1244## CHECK: begin_block
1245## CHECK: successors "<<ThenBlockA:B\d+>>" "<<ElseBlockA:B\d+>>"
1246## CHECK: <<CondA:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionA
1247## CHECK: If [<<CondA>>]
1248## CHECK: end_block
1249
1250## CHECK: begin_block
1251## CHECK: name "<<ThenBlockA>>"
1252## CHECK: end_block
1253## CHECK: begin_block
1254## CHECK: name "<<ElseBlockA>>"
1255## CHECK: ParallelMove moves:[d2->d0,40(sp)->d17,d20->d26,d19->d27,d27->d1,d26->d2,d14->d20,d13->d19,d17->d14,d0->d13]
1256## CHECK: end_block
1257
1258## CHECK: begin_block
1259## CHECK: successors "<<ThenBlockB:B\d+>>" "<<ElseBlockB:B\d+>>"
1260## CHECK: <<CondB:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionB
1261## CHECK: If [<<CondB>>]
1262## CHECK: end_block
1263
1264## CHECK: begin_block
1265## CHECK: name "<<ThenBlockB>>"
1266## CHECK: end_block
1267## CHECK: begin_block
1268## CHECK: name "<<ElseBlockB>>"
1269## CHECK: ParallelMove moves:[#100->d13,16(sp)->d1,20(sp)->d2,28(sp)->d19,24(sp)->d20,36(sp)->d14,32(sp)->16(sp),d1->20(sp),d2->24(sp),d20->28(sp),d19->32(sp),d14->36(sp),d13->40(sp)]
1270## CHECK: end_block
1271
1272## CHECK-START-ARM64: void Smali.testD8() disassembly (after)
1273## CHECK: begin_block
1274## CHECK: name "B0"
1275## CHECK: <<This:l\d+>> ParameterValue
1276## CHECK: end_block
1277
1278## CHECK: begin_block
1279## CHECK: successors "<<ThenBlockA:B\d+>>" "<<ElseBlockA:B\d+>>"
1280## CHECK: <<CondA:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionA
1281## CHECK: If [<<CondA>>]
1282## CHECK: end_block
1283
1284## CHECK: begin_block
1285## CHECK: name "<<ThenBlockA>>"
1286## CHECK: end_block
1287## CHECK: begin_block
1288## CHECK: name "<<ElseBlockA>>"
1289## CHECK: end_block
1290
1291## CHECK: begin_block
1292## CHECK: successors "<<ThenBlockB:B\d+>>" "<<ElseBlockB:B\d+>>"
1293## CHECK: <<CondB:z\d+>> InstanceFieldGet [<<This>>] field_name:Smali.conditionB
1294## CHECK: If [<<CondB>>]
1295## CHECK: end_block
1296
1297## CHECK: begin_block
1298## CHECK: name "<<ThenBlockB>>"
1299## CHECK: end_block
1300## CHECK: begin_block
1301## CHECK: name "<<ElseBlockB>>"
1302## CHECK: ParallelMove moves:[invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid,invalid->invalid]
1303## CHECK: ldr w16, [sp, #32]
1304## CHECK: str s19, [sp, #32]
1305## CHECK: ldr s19, [sp, #28]
1306## CHECK: str s20, [sp, #28]
1307## CHECK: ldr s20, [sp, #24]
1308## CHECK: str s2, [sp, #24]
1309## CHECK: ldr s2, [sp, #20]
1310## CHECK: str s1, [sp, #20]
1311## CHECK: ldr s1, [sp, #16]
1312## CHECK: str w16, [sp, #16]
1313## CHECK: fmov d31, d14
1314## CHECK: ldr s14, [sp, #36]
1315## CHECK: str s31, [sp, #36]
1316## CHECK: str s13, [sp, #40]
1317## CHECK: ldr s13, pc+580 (addr 0x61c) (100)
1318## CHECK: end_block
1319.method public testD8()V
1320 .registers 47
1321
1322 move-object/from16 v0, p0
1323
1324 const-string v1, ""
1325
1326 iget-boolean v2, v0, LSmali;->b17:Z
1327
1328 if-eqz v2, :cond_a
1329
1330 const/4 v2, 0x0
1331
1332 goto :goto_c
1333
1334 :cond_a
1335 const/high16 v2, 0x3f800000 # 1.0f
1336
1337 :goto_c
1338 iget-boolean v5, v0, LSmali;->b16:Z
1339
1340 if-eqz v5, :cond_12
1341
1342 const/4 v5, 0x0
1343
1344 goto :goto_14
1345
1346 :cond_12
1347 const/high16 v5, 0x3f800000 # 1.0f
1348
1349 :goto_14
1350 iget-boolean v6, v0, LSmali;->b18:Z
1351
1352 if-eqz v6, :cond_1a
1353
1354 const/4 v6, 0x0
1355
1356 goto :goto_1c
1357
1358 :cond_1a
1359 const/high16 v6, 0x3f800000 # 1.0f
1360
1361 :goto_1c
1362 iget-boolean v7, v0, LSmali;->b19:Z
1363
1364 if-eqz v7, :cond_22
1365
1366 const/4 v7, 0x0
1367
1368 goto :goto_24
1369
1370 :cond_22
1371 const/high16 v7, 0x3f800000 # 1.0f
1372
1373 :goto_24
1374 iget-boolean v8, v0, LSmali;->b20:Z
1375
1376 if-eqz v8, :cond_2a
1377
1378 const/4 v8, 0x0
1379
1380 goto :goto_2c
1381
1382 :cond_2a
1383 const/high16 v8, 0x3f800000 # 1.0f
1384
1385 :goto_2c
1386 iget-boolean v9, v0, LSmali;->b21:Z
1387
1388 if-eqz v9, :cond_32
1389
1390 const/4 v9, 0x0
1391
1392 goto :goto_34
1393
1394 :cond_32
1395 const/high16 v9, 0x3f800000 # 1.0f
1396
1397 :goto_34
1398 iget-boolean v10, v0, LSmali;->b15:Z
1399
1400 if-eqz v10, :cond_3a
1401
1402 const/4 v10, 0x0
1403
1404 goto :goto_3c
1405
1406 :cond_3a
1407 const/high16 v10, 0x3f800000 # 1.0f
1408
1409 :goto_3c
1410 iget-boolean v11, v0, LSmali;->b00:Z
1411
1412 if-eqz v11, :cond_42
1413
1414 const/4 v11, 0x0
1415
1416 goto :goto_44
1417
1418 :cond_42
1419 const/high16 v11, 0x3f800000 # 1.0f
1420
1421 :goto_44
1422 iget-boolean v12, v0, LSmali;->b22:Z
1423
1424 if-eqz v12, :cond_4a
1425
1426 const/4 v12, 0x0
1427
1428 goto :goto_4c
1429
1430 :cond_4a
1431 const/high16 v12, 0x3f800000 # 1.0f
1432
1433 :goto_4c
1434 iget-boolean v13, v0, LSmali;->b23:Z
1435
1436 if-eqz v13, :cond_52
1437
1438 const/4 v13, 0x0
1439
1440 goto :goto_54
1441
1442 :cond_52
1443 const/high16 v13, 0x3f800000 # 1.0f
1444
1445 :goto_54
1446 iget-boolean v14, v0, LSmali;->b24:Z
1447
1448 if-eqz v14, :cond_5a
1449
1450 const/4 v14, 0x0
1451
1452 goto :goto_5c
1453
1454 :cond_5a
1455 const/high16 v14, 0x3f800000 # 1.0f
1456
1457 :goto_5c
1458 iget-boolean v15, v0, LSmali;->b25:Z
1459
1460 if-eqz v15, :cond_62
1461
1462 const/4 v15, 0x0
1463
1464 goto :goto_64
1465
1466 :cond_62
1467 const/high16 v15, 0x3f800000 # 1.0f
1468
1469 :goto_64
1470 iget-boolean v3, v0, LSmali;->b26:Z
1471
1472 if-eqz v3, :cond_6a
1473
1474 const/4 v3, 0x0
1475
1476 goto :goto_6c
1477
1478 :cond_6a
1479 const/high16 v3, 0x3f800000 # 1.0f
1480
1481 :goto_6c
1482 iget-boolean v4, v0, LSmali;->b27:Z
1483
1484 if-eqz v4, :cond_72
1485
1486 const/4 v4, 0x0
1487
1488 goto :goto_74
1489
1490 :cond_72
1491 const/high16 v4, 0x3f800000 # 1.0f
1492
1493 :goto_74
1494 move-object/from16 v18, v1
1495
1496 iget-boolean v1, v0, LSmali;->b29:Z
1497
1498 if-eqz v1, :cond_7c
1499
1500 const/4 v1, 0x0
1501
1502 goto :goto_7e
1503
1504 :cond_7c
1505 const/high16 v1, 0x3f800000 # 1.0f
1506
1507 :goto_7e
1508 move/from16 v19, v1
1509
1510 iget-boolean v1, v0, LSmali;->b28:Z
1511
1512 if-eqz v1, :cond_86
1513
1514 const/4 v1, 0x0
1515
1516 goto :goto_88
1517
1518 :cond_86
1519 const/high16 v1, 0x3f800000 # 1.0f
1520
1521 :goto_88
1522 move/from16 v20, v1
1523
1524 iget-boolean v1, v0, LSmali;->b01:Z
1525
1526 if-eqz v1, :cond_90
1527
1528 const/4 v1, 0x0
1529
1530 goto :goto_92
1531
1532 :cond_90
1533 const/high16 v1, 0x3f800000 # 1.0f
1534
1535 :goto_92
1536 move/from16 v21, v11
1537
1538 iget-boolean v11, v0, LSmali;->b02:Z
1539
1540 if-eqz v11, :cond_9a
1541
1542 const/4 v11, 0x0
1543
1544 goto :goto_9c
1545
1546 :cond_9a
1547 const/high16 v11, 0x3f800000 # 1.0f
1548
1549 :goto_9c
1550 move/from16 v22, v12
1551
1552 iget-boolean v12, v0, LSmali;->b03:Z
1553
1554 if-eqz v12, :cond_a4
1555
1556 const/4 v12, 0x0
1557
1558 goto :goto_a6
1559
1560 :cond_a4
1561 const/high16 v12, 0x3f800000 # 1.0f
1562
1563 :goto_a6
1564 move/from16 v23, v4
1565
1566 iget-boolean v4, v0, LSmali;->b04:Z
1567
1568 if-eqz v4, :cond_ae
1569
1570 const/4 v4, 0x0
1571
1572 goto :goto_b0
1573
1574 :cond_ae
1575 const/high16 v4, 0x3f800000 # 1.0f
1576
1577 :goto_b0
1578 move/from16 v24, v3
1579
1580 iget-boolean v3, v0, LSmali;->b05:Z
1581
1582 if-eqz v3, :cond_b8
1583
1584 const/4 v3, 0x0
1585
1586 goto :goto_ba
1587
1588 :cond_b8
1589 const/high16 v3, 0x3f800000 # 1.0f
1590
1591 :goto_ba
1592 move/from16 v25, v15
1593
1594 iget-boolean v15, v0, LSmali;->b07:Z
1595
1596 if-eqz v15, :cond_c2
1597
1598 const/4 v15, 0x0
1599
1600 goto :goto_c4
1601
1602 :cond_c2
1603 const/high16 v15, 0x3f800000 # 1.0f
1604
1605 :goto_c4
1606 move/from16 v26, v15
1607
1608 iget-boolean v15, v0, LSmali;->b06:Z
1609
1610 if-eqz v15, :cond_cc
1611
1612 const/4 v15, 0x0
1613
1614 goto :goto_ce
1615
1616 :cond_cc
1617 const/high16 v15, 0x3f800000 # 1.0f
1618
1619 :goto_ce
1620 move/from16 v27, v15
1621
1622 iget-boolean v15, v0, LSmali;->b30:Z
1623
1624 if-eqz v15, :cond_d6
1625
1626 const/4 v15, 0x0
1627
1628 goto :goto_d8
1629
1630 :cond_d6
1631 const/high16 v15, 0x3f800000 # 1.0f
1632
1633 :goto_d8
1634 move/from16 v28, v14
1635
1636 iget-boolean v14, v0, LSmali;->b31:Z
1637
1638 if-eqz v14, :cond_e0
1639
1640 const/4 v14, 0x0
1641
1642 goto :goto_e2
1643
1644 :cond_e0
1645 const/high16 v14, 0x3f800000 # 1.0f
1646
1647 :goto_e2
1648 move/from16 v29, v13
1649
1650 iget-boolean v13, v0, LSmali;->b32:Z
1651
1652 if-eqz v13, :cond_ea
1653
1654 const/4 v13, 0x0
1655
1656 goto :goto_ec
1657
1658 :cond_ea
1659 const/high16 v13, 0x3f800000 # 1.0f
1660
1661 :goto_ec
1662 move/from16 v30, v3
1663
1664 iget-boolean v3, v0, LSmali;->b33:Z
1665
1666 if-eqz v3, :cond_f4
1667
1668 const/4 v3, 0x0
1669
1670 goto :goto_f6
1671
1672 :cond_f4
1673 const/high16 v3, 0x3f800000 # 1.0f
1674
1675 :goto_f6
1676 move/from16 v31, v4
1677
1678 iget-boolean v4, v0, LSmali;->b34:Z
1679
1680 if-eqz v4, :cond_fe
1681
1682 const/4 v4, 0x0
1683
1684 goto :goto_100
1685
1686 :cond_fe
1687 const/high16 v4, 0x3f800000 # 1.0f
1688
1689 :goto_100
1690 move/from16 v32, v12
1691
1692 iget-boolean v12, v0, LSmali;->b36:Z
1693
1694 if-eqz v12, :cond_108
1695
1696 const/4 v12, 0x0
1697
1698 goto :goto_10a
1699
1700 :cond_108
1701 const/high16 v12, 0x3f800000 # 1.0f
1702
1703 :goto_10a
1704 move/from16 v33, v12
1705
1706 iget-boolean v12, v0, LSmali;->b35:Z
1707
1708 if-eqz v12, :cond_112
1709
1710 const/4 v12, 0x0
1711
1712 goto :goto_114
1713
1714 :cond_112
1715 const/high16 v12, 0x3f800000 # 1.0f
1716
1717 :goto_114
1718 move/from16 v34, v12
1719
1720 iget-boolean v12, v0, LSmali;->b08:Z
1721
1722 if-eqz v12, :cond_11c
1723
1724 const/4 v12, 0x0
1725
1726 goto :goto_11e
1727
1728 :cond_11c
1729 const/high16 v12, 0x3f800000 # 1.0f
1730
1731 :goto_11e
1732 move/from16 v35, v11
1733
1734 iget-boolean v11, v0, LSmali;->b09:Z
1735
1736 if-eqz v11, :cond_126
1737
1738 const/4 v11, 0x0
1739
1740 goto :goto_128
1741
1742 :cond_126
1743 const/high16 v11, 0x3f800000 # 1.0f
1744
1745 :goto_128
1746 move/from16 v36, v1
1747
1748 iget-boolean v1, v0, LSmali;->b10:Z
1749
1750 if-eqz v1, :cond_130
1751
1752 const/4 v1, 0x0
1753
1754 goto :goto_132
1755
1756 :cond_130
1757 const/high16 v1, 0x3f800000 # 1.0f
1758
1759 :goto_132
1760 move/from16 v37, v4
1761
1762 iget-boolean v4, v0, LSmali;->b11:Z
1763
1764 if-eqz v4, :cond_13a
1765
1766 const/4 v4, 0x0
1767
1768 goto :goto_13c
1769
1770 :cond_13a
1771 const/high16 v4, 0x3f800000 # 1.0f
1772
1773 :goto_13c
1774 move/from16 v38, v3
1775
1776 iget-boolean v3, v0, LSmali;->b12:Z
1777
1778 if-eqz v3, :cond_144
1779
1780 const/4 v3, 0x0
1781
1782 goto :goto_146
1783
1784 :cond_144
1785 const/high16 v3, 0x3f800000 # 1.0f
1786
1787 :goto_146
1788 move/from16 v39, v13
1789
1790 iget-boolean v13, v0, LSmali;->b14:Z
1791
1792 if-eqz v13, :cond_14e
1793
1794 const/4 v13, 0x0
1795
1796 goto :goto_150
1797
1798 :cond_14e
1799 const/high16 v13, 0x3f800000 # 1.0f
1800
1801 :goto_150
1802 move/from16 v40, v13
1803
1804 iget-boolean v13, v0, LSmali;->b13:Z
1805
1806 if-eqz v13, :cond_159
1807
1808 const/16 v16, 0x0
1809
1810 goto :goto_15b
1811
1812 :cond_159
1813 const/high16 v16, 0x3f800000 # 1.0f
1814
1815 :goto_15b
1816 move/from16 v13, v16
1817
1818 move/from16 v41, v13
1819
1820 iget-boolean v13, v0, LSmali;->conditionA:Z
1821
1822 if-eqz v13, :cond_1a2
1823
1824 const/high16 v13, 0x447a0000 # 1000.0f
1825
1826 div-float/2addr v5, v13
1827
1828 div-float/2addr v2, v13
1829
1830 div-float/2addr v6, v13
1831
1832 div-float/2addr v7, v13
1833
1834 div-float/2addr v8, v13
1835
1836 div-float/2addr v9, v13
1837
1838 div-float/2addr v10, v13
1839
1840 div-float/2addr v12, v13
1841
1842 div-float/2addr v11, v13
1843
1844 div-float/2addr v1, v13
1845
1846 div-float/2addr v4, v13
1847
1848 div-float/2addr v3, v13
1849
1850 div-float/2addr v15, v13
1851
1852 div-float/2addr v14, v13
1853
1854 div-float v16, v39, v13
1855
1856 div-float v38, v38, v13
1857
1858 div-float v37, v37, v13
1859
1860 div-float v36, v36, v13
1861
1862 div-float v35, v35, v13
1863
1864 div-float v32, v32, v13
1865
1866 div-float v31, v31, v13
1867
1868 div-float v30, v30, v13
1869
1870 div-float v29, v29, v13
1871
1872 div-float v28, v28, v13
1873
1874 div-float v25, v25, v13
1875
1876 div-float v24, v24, v13
1877
1878 div-float v23, v23, v13
1879
1880 div-float v22, v22, v13
1881
1882 div-float v21, v21, v13
1883
1884 div-float v39, v40, v13
1885
1886 div-float v40, v41, v13
1887
1888 div-float v33, v33, v13
1889
1890 div-float v34, v34, v13
1891
1892 div-float v26, v26, v13
1893
1894 div-float v27, v27, v13
1895
1896 div-float v19, v19, v13
1897
1898 div-float v13, v20, v13
1899
1900 goto :goto_1aa
1901
1902 :cond_1a2
1903 move/from16 v13, v20
1904
1905 move/from16 v16, v39
1906
1907 move/from16 v39, v40
1908
1909 move/from16 v40, v41
1910
1911 :goto_1aa
1912 move/from16 v42, v13
1913
1914 iget-boolean v13, v0, LSmali;->conditionB:Z
1915
1916 const/high16 v20, 0x42c80000 # 100.0f
1917
1918 if-eqz v13, :cond_1fd
1919
1920 div-float v5, v5, v20
1921
1922 div-float v2, v2, v20
1923
1924 div-float v6, v6, v20
1925
1926 div-float v7, v7, v20
1927
1928 div-float v8, v8, v20
1929
1930 div-float v9, v9, v20
1931
1932 div-float v10, v10, v20
1933
1934 div-float v12, v12, v20
1935
1936 div-float v11, v11, v20
1937
1938 div-float v1, v1, v20
1939
1940 div-float v4, v4, v20
1941
1942 div-float v3, v3, v20
1943
1944 div-float v15, v15, v20
1945
1946 div-float v14, v14, v20
1947
1948 div-float v16, v16, v20
1949
1950 div-float v38, v38, v20
1951
1952 div-float v37, v37, v20
1953
1954 div-float v36, v36, v20
1955
1956 div-float v35, v35, v20
1957
1958 div-float v32, v32, v20
1959
1960 div-float v31, v31, v20
1961
1962 div-float v30, v30, v20
1963
1964 div-float v29, v29, v20
1965
1966 div-float v28, v28, v20
1967
1968 div-float v25, v25, v20
1969
1970 div-float v24, v24, v20
1971
1972 div-float v23, v23, v20
1973
1974 div-float v22, v22, v20
1975
1976 div-float v21, v21, v20
1977
1978 div-float v39, v39, v20
1979
1980 div-float v40, v40, v20
1981
1982 div-float v33, v33, v20
1983
1984 div-float v34, v34, v20
1985
1986 div-float v26, v26, v20
1987
1988 div-float v27, v27, v20
1989
1990 div-float v19, v19, v20
1991
1992 div-float v13, v42, v20
1993
1994 goto :goto_1ff
1995
1996 :cond_1fd
1997 move/from16 v13, v42
1998
1999 :goto_1ff
2000 move/from16 v43, v13
2001
2002 iget-boolean v13, v0, LSmali;->conditionC:Z
2003
2004 if-eqz v13, :cond_244
2005
2006 const/high16 v13, 0x41400000 # 12.0f
2007
2008 div-float/2addr v5, v13
2009
2010 div-float/2addr v2, v13
2011
2012 div-float/2addr v6, v13
2013
2014 div-float/2addr v7, v13
2015
2016 div-float/2addr v8, v13
2017
2018 div-float/2addr v9, v13
2019
2020 div-float/2addr v10, v13
2021
2022 div-float/2addr v12, v13
2023
2024 div-float/2addr v11, v13
2025
2026 div-float/2addr v1, v13
2027
2028 div-float/2addr v4, v13
2029
2030 div-float/2addr v3, v13
2031
2032 div-float/2addr v15, v13
2033
2034 div-float/2addr v14, v13
2035
2036 div-float v16, v16, v13
2037
2038 div-float v38, v38, v13
2039
2040 div-float v37, v37, v13
2041
2042 div-float v36, v36, v13
2043
2044 div-float v35, v35, v13
2045
2046 div-float v32, v32, v13
2047
2048 div-float v31, v31, v13
2049
2050 div-float v30, v30, v13
2051
2052 div-float v29, v29, v13
2053
2054 div-float v28, v28, v13
2055
2056 div-float v25, v25, v13
2057
2058 div-float v24, v24, v13
2059
2060 div-float v23, v23, v13
2061
2062 div-float v22, v22, v13
2063
2064 div-float v21, v21, v13
2065
2066 div-float v39, v39, v13
2067
2068 div-float v40, v40, v13
2069
2070 div-float v33, v33, v13
2071
2072 div-float v34, v34, v13
2073
2074 div-float v26, v26, v13
2075
2076 div-float v27, v27, v13
2077
2078 div-float v19, v19, v13
2079
2080 div-float v13, v43, v13
2081
2082 goto :goto_246
2083
2084 :cond_244
2085 move/from16 v13, v43
2086
2087 :goto_246
2088 const/16 v17, 0x0
2089
2090 mul-float v0, v20, v17
2091
2092 invoke-static {v0}, Ljava/lang/Math;->round(F)I
2093
2094 move-result v0
2095
2096 int-to-float v0, v0
2097
2098 div-float v0, v0, v20
2099
2100 move/from16 v44, v1
2101
2102 new-instance v1, Ljava/lang/StringBuilder;
2103
2104 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
2105
2106 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
2107
2108 move/from16 v45, v0
2109
2110 move-object/from16 v0, v18
2111
2112 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2113
2114 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2115
2116 move-result-object v1
2117
2118 return-void
2119.end method