2018-03-05 00:00:33 +00:00
|
|
|
@begin: scope:[] from
|
2018-11-11 20:51:36 +00:00
|
|
|
[0] phi()
|
2019-03-31 15:10:41 +00:00
|
|
|
to:@1
|
|
|
|
@1: scope:[] from @begin
|
2018-11-11 20:51:36 +00:00
|
|
|
[1] phi()
|
|
|
|
[2] call main
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@end
|
2019-03-31 15:10:41 +00:00
|
|
|
@end: scope:[] from @1
|
2018-11-11 20:51:36 +00:00
|
|
|
[3] phi()
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) main()
|
2019-03-31 15:10:41 +00:00
|
|
|
main: scope:[main] from @1
|
2018-11-11 20:51:36 +00:00
|
|
|
[4] phi()
|
|
|
|
[5] call sin16s_gen
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@4
|
|
|
|
main::@4: scope:[main] from main
|
2018-11-11 20:51:36 +00:00
|
|
|
[6] phi()
|
|
|
|
[7] call sin16s_genb
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@5
|
|
|
|
main::@5: scope:[main] from main::@4
|
2018-11-11 20:51:36 +00:00
|
|
|
[8] phi()
|
|
|
|
[9] call print_cls
|
2018-03-05 00:00:33 +00:00
|
|
|
to:main::@1
|
2019-03-31 15:10:41 +00:00
|
|
|
main::@1: scope:[main] from main::@5 main::@7
|
2019-05-30 20:29:04 +00:00
|
|
|
[10] (byte) main::i#2 ← phi( main::@5/(byte) 0 main::@7/(byte) main::i#1 )
|
2020-04-18 18:54:39 +00:00
|
|
|
[10] (byte*) print_char_cursor#53 ← phi( main::@5/(const byte*) print_line_cursor#0 main::@7/(byte*) print_char_cursor#2 )
|
2019-11-18 21:02:29 +00:00
|
|
|
[10] (signed word*) main::st2#2 ← phi( main::@5/(const signed word*) main::sintab2 main::@7/(signed word*) main::st2#1 )
|
|
|
|
[10] (signed word*) main::st1#2 ← phi( main::@5/(const signed word*) main::sintab1 main::@7/(signed word*) main::st1#1 )
|
2018-11-11 20:51:36 +00:00
|
|
|
[11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2)
|
2019-05-30 20:29:04 +00:00
|
|
|
[12] if((signed word) main::sw#0<(signed byte) 0) goto main::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:main::@3
|
|
|
|
main::@3: scope:[main] from main::@1
|
2018-11-11 20:51:36 +00:00
|
|
|
[13] phi()
|
|
|
|
[14] call print_str
|
2018-03-05 00:00:33 +00:00
|
|
|
to:main::@2
|
|
|
|
main::@2: scope:[main] from main::@1 main::@3
|
2020-04-18 18:54:39 +00:00
|
|
|
[15] (byte*) print_char_cursor#52 ← phi( main::@1/(byte*) print_char_cursor#53 main::@3/(byte*) print_char_cursor#2 )
|
2020-04-13 18:00:13 +00:00
|
|
|
[16] (signed word) print_sint::w#1 ← (signed word) main::sw#0
|
|
|
|
[17] call print_sint
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@6
|
|
|
|
main::@6: scope:[main] from main::@2
|
2018-11-11 20:51:36 +00:00
|
|
|
[18] phi()
|
|
|
|
[19] call print_str
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@7
|
|
|
|
main::@7: scope:[main] from main::@6
|
2019-04-19 08:50:15 +00:00
|
|
|
[20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (const byte) SIZEOF_SIGNED_WORD
|
|
|
|
[21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (const byte) SIZEOF_SIGNED_WORD
|
2018-11-11 20:51:36 +00:00
|
|
|
[22] (byte) main::i#1 ← ++ (byte) main::i#2
|
2019-05-30 20:29:04 +00:00
|
|
|
[23] if((byte) main::i#1!=(byte) $78) goto main::@1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:main::@return
|
2019-03-31 15:10:41 +00:00
|
|
|
main::@return: scope:[main] from main::@7
|
2018-11-11 20:51:36 +00:00
|
|
|
[24] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) print_str((byte*) print_str::str)
|
2019-03-31 15:10:41 +00:00
|
|
|
print_str: scope:[print_str] from main::@3 main::@6
|
2020-04-18 18:54:39 +00:00
|
|
|
[25] (byte*) print_char_cursor#55 ← phi( main::@3/(byte*) print_char_cursor#53 main::@6/(byte*) print_char_cursor#13 )
|
|
|
|
[25] (byte*) print_str::str#6 ← phi( main::@3/(const byte*) main::str1 main::@6/(const byte*) main::str )
|
2018-03-05 00:00:33 +00:00
|
|
|
to:print_str::@1
|
2020-04-18 18:54:39 +00:00
|
|
|
print_str::@1: scope:[print_str] from print_str print_str::@3
|
|
|
|
[26] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#55 print_str::@3/(byte*) print_char_cursor#13 )
|
|
|
|
[26] (byte*) print_str::str#3 ← phi( print_str/(byte*) print_str::str#6 print_str::@3/(byte*) print_str::str#0 )
|
2019-08-07 17:48:56 +00:00
|
|
|
[27] if((byte) 0!=*((byte*) print_str::str#3)) goto print_str::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:print_str::@return
|
|
|
|
print_str::@return: scope:[print_str] from print_str::@1
|
2018-11-11 20:51:36 +00:00
|
|
|
[28] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
|
|
|
print_str::@2: scope:[print_str] from print_str::@1
|
2020-04-18 18:54:39 +00:00
|
|
|
[29] (byte) print_char::ch#0 ← *((byte*) print_str::str#3)
|
|
|
|
[30] call print_char
|
|
|
|
to:print_str::@3
|
|
|
|
print_str::@3: scope:[print_str] from print_str::@2
|
2018-11-11 20:51:36 +00:00
|
|
|
[31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3
|
2018-03-05 00:00:33 +00:00
|
|
|
to:print_str::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
2020-04-18 18:54:39 +00:00
|
|
|
(void()) print_char((byte) print_char::ch)
|
|
|
|
print_char: scope:[print_char] from print_sint::@1 print_sint::@3 print_str::@2 print_uchar print_uchar::@1
|
|
|
|
[32] (byte*) print_char_cursor#35 ← phi( print_sint::@1/(byte*) print_char_cursor#52 print_sint::@3/(byte*) print_char_cursor#52 print_str::@2/(byte*) print_char_cursor#2 print_uchar/(byte*) print_char_cursor#13 print_uchar::@1/(byte*) print_char_cursor#13 )
|
|
|
|
[32] (byte) print_char::ch#5 ← phi( print_sint::@1/(byte) '-' print_sint::@3/(byte) ' ' print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#3 print_uchar::@1/(byte) print_char::ch#4 )
|
|
|
|
[33] *((byte*) print_char_cursor#35) ← (byte) print_char::ch#5
|
|
|
|
[34] (byte*) print_char_cursor#13 ← ++ (byte*) print_char_cursor#35
|
|
|
|
to:print_char::@return
|
|
|
|
print_char::@return: scope:[print_char] from print_char
|
|
|
|
[35] return
|
|
|
|
to:@return
|
|
|
|
|
2020-04-13 18:00:13 +00:00
|
|
|
(void()) print_sint((signed word) print_sint::w)
|
|
|
|
print_sint: scope:[print_sint] from main::@2
|
2020-04-18 18:54:39 +00:00
|
|
|
[36] if((signed word) print_sint::w#1<(signed byte) 0) goto print_sint::@1
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_sint::@3
|
|
|
|
print_sint::@3: scope:[print_sint] from print_sint
|
2020-04-18 18:54:39 +00:00
|
|
|
[37] phi()
|
|
|
|
[38] call print_char
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_sint::@2
|
|
|
|
print_sint::@2: scope:[print_sint] from print_sint::@3 print_sint::@4
|
2020-04-18 18:54:39 +00:00
|
|
|
[39] (signed word) print_sint::w#4 ← phi( print_sint::@4/(signed word) print_sint::w#0 print_sint::@3/(signed word) print_sint::w#1 )
|
|
|
|
[40] (word) print_uint::w#0 ← (word)(signed word) print_sint::w#4
|
|
|
|
[41] call print_uint
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_sint::@return
|
|
|
|
print_sint::@return: scope:[print_sint] from print_sint::@2
|
2020-04-18 18:54:39 +00:00
|
|
|
[42] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2020-04-13 18:00:13 +00:00
|
|
|
print_sint::@1: scope:[print_sint] from print_sint
|
2020-04-18 18:54:39 +00:00
|
|
|
[43] phi()
|
|
|
|
[44] call print_char
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_sint::@4
|
|
|
|
print_sint::@4: scope:[print_sint] from print_sint::@1
|
2020-04-18 18:54:39 +00:00
|
|
|
[45] (signed word) print_sint::w#0 ← - (signed word) print_sint::w#1
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_sint::@2
|
2019-09-18 21:00:30 +00:00
|
|
|
|
2020-04-13 18:00:13 +00:00
|
|
|
(void()) print_uint((word) print_uint::w)
|
|
|
|
print_uint: scope:[print_uint] from print_sint::@2
|
2020-04-13 18:06:30 +00:00
|
|
|
[46] (byte) print_uchar::b#0 ← > (word) print_uint::w#0
|
|
|
|
[47] call print_uchar
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_uint::@1
|
|
|
|
print_uint::@1: scope:[print_uint] from print_uint
|
2020-04-13 18:06:30 +00:00
|
|
|
[48] (byte) print_uchar::b#1 ← < (word) print_uint::w#0
|
|
|
|
[49] call print_uchar
|
2020-04-13 18:00:13 +00:00
|
|
|
to:print_uint::@return
|
|
|
|
print_uint::@return: scope:[print_uint] from print_uint::@1
|
2019-06-30 13:30:08 +00:00
|
|
|
[50] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
2020-04-13 18:06:30 +00:00
|
|
|
(void()) print_uchar((byte) print_uchar::b)
|
|
|
|
print_uchar: scope:[print_uchar] from print_uint print_uint::@1
|
|
|
|
[51] (byte) print_uchar::b#2 ← phi( print_uint/(byte) print_uchar::b#0 print_uint::@1/(byte) print_uchar::b#1 )
|
|
|
|
[52] (byte~) print_uchar::$0 ← (byte) print_uchar::b#2 >> (byte) 4
|
2020-04-18 18:54:39 +00:00
|
|
|
[53] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0)
|
2019-06-30 13:30:08 +00:00
|
|
|
[54] call print_char
|
2020-04-13 18:06:30 +00:00
|
|
|
to:print_uchar::@1
|
|
|
|
print_uchar::@1: scope:[print_uchar] from print_uchar
|
|
|
|
[55] (byte~) print_uchar::$2 ← (byte) print_uchar::b#2 & (byte) $f
|
2020-04-18 18:54:39 +00:00
|
|
|
[56] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2)
|
2019-06-30 13:30:08 +00:00
|
|
|
[57] call print_char
|
2020-04-13 18:06:30 +00:00
|
|
|
to:print_uchar::@return
|
|
|
|
print_uchar::@return: scope:[print_uchar] from print_uchar::@1
|
2019-06-30 13:30:08 +00:00
|
|
|
[58] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) print_cls()
|
2019-03-31 15:10:41 +00:00
|
|
|
print_cls: scope:[print_cls] from main::@5
|
2019-06-30 13:30:08 +00:00
|
|
|
[59] phi()
|
2019-07-17 23:54:16 +00:00
|
|
|
[60] call memset
|
2018-03-05 00:00:33 +00:00
|
|
|
to:print_cls::@return
|
2019-07-17 23:54:16 +00:00
|
|
|
print_cls::@return: scope:[print_cls] from print_cls
|
|
|
|
[61] return
|
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
2019-07-17 23:54:16 +00:00
|
|
|
memset: scope:[memset] from print_cls
|
|
|
|
[62] phi()
|
|
|
|
to:memset::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
memset::@1: scope:[memset] from memset memset::@2
|
|
|
|
[63] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
|
|
|
|
[64] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
to:memset::@return
|
|
|
|
memset::@return: scope:[memset] from memset::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
[65] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-08-25 20:21:56 +00:00
|
|
|
memset::@2: scope:[memset] from memset::@1
|
|
|
|
[66] *((byte*) memset::dst#2) ← (const byte) memset::c#0
|
|
|
|
[67] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
|
|
|
|
to:memset::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength)
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16s_genb: scope:[sin16s_genb] from main::@4
|
2019-07-17 23:54:16 +00:00
|
|
|
[68] phi()
|
|
|
|
[69] call div32u16u
|
|
|
|
[70] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0
|
2019-08-07 09:27:55 +00:00
|
|
|
to:sin16s_genb::@3
|
|
|
|
sin16s_genb::@3: scope:[sin16s_genb] from sin16s_genb
|
2019-07-17 23:54:16 +00:00
|
|
|
[71] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s_genb::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
sin16s_genb::@1: scope:[sin16s_genb] from sin16s_genb::@3 sin16s_genb::@4
|
2019-11-18 21:02:29 +00:00
|
|
|
[72] (signed word*) sin16s_genb::sintab#2 ← phi( sin16s_genb::@3/(const signed word*) main::sintab2 sin16s_genb::@4/(signed word*) sin16s_genb::sintab#0 )
|
2020-01-01 17:27:53 +00:00
|
|
|
[72] (dword) sin16s_genb::x#2 ← phi( sin16s_genb::@3/(dword) 0 sin16s_genb::@4/(dword) sin16s_genb::x#1 )
|
|
|
|
[72] (word) sin16s_genb::i#2 ← phi( sin16s_genb::@3/(word) 0 sin16s_genb::@4/(word) sin16s_genb::i#1 )
|
2019-09-29 20:36:00 +00:00
|
|
|
[73] if((word) sin16s_genb::i#2<(const word) main::wavelength) goto sin16s_genb::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s_genb::@return
|
2019-08-07 09:27:55 +00:00
|
|
|
sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
[74] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-08-25 20:21:56 +00:00
|
|
|
sin16s_genb::@2: scope:[sin16s_genb] from sin16s_genb::@1
|
|
|
|
[75] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2
|
|
|
|
[76] call sin16sb
|
|
|
|
[77] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1
|
|
|
|
to:sin16s_genb::@4
|
|
|
|
sin16s_genb::@4: scope:[sin16s_genb] from sin16s_genb::@2
|
|
|
|
[78] (signed word~) sin16s_genb::$3 ← (signed word) sin16sb::return#0
|
|
|
|
[79] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$3
|
|
|
|
[80] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (const byte) SIZEOF_SIGNED_WORD
|
|
|
|
[81] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0
|
|
|
|
[82] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2
|
|
|
|
to:sin16s_genb::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(signed word()) sin16sb((word) sin16sb::x)
|
2019-08-07 09:27:55 +00:00
|
|
|
sin16sb: scope:[sin16sb] from sin16s_genb::@2
|
2020-03-29 19:00:25 +00:00
|
|
|
[83] if((word) sin16sb::x#0<(const nomodify word) PI_u4f12) goto sin16sb::@1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@4
|
|
|
|
sin16sb::@4: scope:[sin16sb] from sin16sb
|
2020-03-29 19:00:25 +00:00
|
|
|
[84] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const nomodify word) PI_u4f12
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@1
|
|
|
|
sin16sb::@1: scope:[sin16sb] from sin16sb sin16sb::@4
|
2019-07-17 23:54:16 +00:00
|
|
|
[85] (byte) sin16sb::isUpper#2 ← phi( sin16sb/(byte) 0 sin16sb::@4/(byte) 1 )
|
|
|
|
[85] (word) sin16sb::x#4 ← phi( sin16sb/(word) sin16sb::x#0 sin16sb::@4/(word) sin16sb::x#1 )
|
2020-03-29 19:00:25 +00:00
|
|
|
[86] if((word) sin16sb::x#4<(const nomodify word) PI_HALF_u4f12) goto sin16sb::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@5
|
|
|
|
sin16sb::@5: scope:[sin16sb] from sin16sb::@1
|
2020-03-29 19:00:25 +00:00
|
|
|
[87] (word) sin16sb::x#2 ← (const nomodify word) PI_u4f12 - (word) sin16sb::x#4
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@2
|
|
|
|
sin16sb::@2: scope:[sin16sb] from sin16sb::@1 sin16sb::@5
|
2019-07-17 23:54:16 +00:00
|
|
|
[88] (word) sin16sb::x#6 ← phi( sin16sb::@1/(word) sin16sb::x#4 sin16sb::@5/(word) sin16sb::x#2 )
|
|
|
|
[89] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte) 3
|
|
|
|
[90] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0
|
|
|
|
[91] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0
|
|
|
|
[92] call mulu16_sel
|
|
|
|
[93] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16sb::@7
|
|
|
|
sin16sb::@7: scope:[sin16sb] from sin16sb::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
[94] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18
|
|
|
|
[95] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0
|
|
|
|
[96] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0
|
|
|
|
[97] call mulu16_sel
|
|
|
|
[98] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16sb::@8
|
|
|
|
sin16sb::@8: scope:[sin16sb] from sin16sb::@7
|
2019-07-17 23:54:16 +00:00
|
|
|
[99] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19
|
|
|
|
[100] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0
|
|
|
|
[101] call mulu16_sel
|
|
|
|
[102] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16sb::@9
|
|
|
|
sin16sb::@9: scope:[sin16sb] from sin16sb::@8
|
2019-07-17 23:54:16 +00:00
|
|
|
[103] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20
|
|
|
|
[104] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0
|
|
|
|
[105] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0
|
|
|
|
[106] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0
|
|
|
|
[107] call mulu16_sel
|
|
|
|
[108] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16sb::@10
|
|
|
|
sin16sb::@10: scope:[sin16sb] from sin16sb::@9
|
2019-07-17 23:54:16 +00:00
|
|
|
[109] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10
|
|
|
|
[110] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0
|
|
|
|
[111] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0
|
|
|
|
[112] call mulu16_sel
|
|
|
|
[113] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16sb::@11
|
|
|
|
sin16sb::@11: scope:[sin16sb] from sin16sb::@10
|
2019-07-17 23:54:16 +00:00
|
|
|
[114] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11
|
|
|
|
[115] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte) 4
|
|
|
|
[116] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0
|
|
|
|
[117] if((byte) sin16sb::isUpper#2==(byte) 0) goto sin16sb::@12
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@6
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16sb::@6: scope:[sin16sb] from sin16sb::@11
|
2019-07-17 23:54:16 +00:00
|
|
|
[118] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@3
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16sb::@3: scope:[sin16sb] from sin16sb::@12 sin16sb::@6
|
2019-11-17 18:58:06 +00:00
|
|
|
[119] (signed word) sin16sb::return#1 ← phi( sin16sb::@12/(signed word) sin16sb::return#5 sin16sb::@6/(signed word) sin16sb::sinx#1 )
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@return
|
|
|
|
sin16sb::@return: scope:[sin16sb] from sin16sb::@3
|
2019-07-17 23:54:16 +00:00
|
|
|
[120] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16sb::@12: scope:[sin16sb] from sin16sb::@11
|
2019-11-17 18:58:06 +00:00
|
|
|
[121] (signed word) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16sb::@3
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
|
2019-03-31 15:10:41 +00:00
|
|
|
mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@2 sin16s::@7 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@2 sin16sb::@7 sin16sb::@8 sin16sb::@9
|
2020-04-25 18:10:49 +00:00
|
|
|
[122] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte) 0 sin16s::@2/(byte) 0 sin16s::@7/(byte) 1 sin16s::@8/(byte) 1 sin16s::@9/(byte) 0 sin16sb::@10/(byte) 0 sin16sb::@2/(byte) 0 sin16sb::@7/(byte) 1 sin16sb::@8/(byte) 1 sin16sb::@9/(byte) 0 )
|
|
|
|
[122] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@7/(word) mulu16_sel::v2#1 sin16s::@8/(word)(number) $10000/(number) 6 sin16s::@9/(word) mulu16_sel::v2#3 sin16sb::@10/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@7/(word) mulu16_sel::v2#6 sin16sb::@8/(word)(number) $10000/(number) 6 sin16sb::@9/(word) mulu16_sel::v2#8 )
|
|
|
|
[122] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@7/(word) mulu16_sel::v1#1 sin16s::@8/(word) mulu16_sel::v1#2 sin16s::@9/(word) mulu16_sel::v1#3 sin16sb::@10/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@7/(word) mulu16_sel::v1#6 sin16sb::@8/(word) mulu16_sel::v1#7 sin16sb::@9/(word) mulu16_sel::v1#8 )
|
2019-07-17 23:54:16 +00:00
|
|
|
[123] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10
|
|
|
|
[124] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10
|
|
|
|
[125] call mul16u
|
|
|
|
[126] (dword) mul16u::return#2 ← (dword) mul16u::res#2
|
2019-03-31 15:10:41 +00:00
|
|
|
to:mulu16_sel::@1
|
|
|
|
mulu16_sel::@1: scope:[mulu16_sel] from mulu16_sel
|
2019-07-17 23:54:16 +00:00
|
|
|
[127] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2
|
|
|
|
[128] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10
|
|
|
|
[129] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:mulu16_sel::@return
|
2019-03-31 15:10:41 +00:00
|
|
|
mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
[130] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
2018-03-05 00:00:33 +00:00
|
|
|
mul16u: scope:[mul16u] from mulu16_sel
|
2020-01-01 17:27:53 +00:00
|
|
|
[131] (dword) mul16u::mb#0 ← (dword)(word) mul16u::b#0
|
2018-03-05 00:00:33 +00:00
|
|
|
to:mul16u::@1
|
2019-03-31 15:57:54 +00:00
|
|
|
mul16u::@1: scope:[mul16u] from mul16u mul16u::@3
|
2020-01-01 17:27:53 +00:00
|
|
|
[132] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@3/(dword) mul16u::mb#1 )
|
|
|
|
[132] (dword) mul16u::res#2 ← phi( mul16u/(dword) 0 mul16u::@3/(dword) mul16u::res#6 )
|
2019-07-17 23:54:16 +00:00
|
|
|
[132] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@3/(word) mul16u::a#0 )
|
|
|
|
[133] if((word) mul16u::a#2!=(byte) 0) goto mul16u::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:mul16u::@return
|
|
|
|
mul16u::@return: scope:[mul16u] from mul16u::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
[134] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
|
|
|
mul16u::@2: scope:[mul16u] from mul16u::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
[135] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte) 1
|
|
|
|
[136] if((byte~) mul16u::$1==(byte) 0) goto mul16u::@3
|
2019-03-31 15:10:41 +00:00
|
|
|
to:mul16u::@4
|
2019-03-31 15:57:54 +00:00
|
|
|
mul16u::@4: scope:[mul16u] from mul16u::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
[137] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2
|
2019-03-31 15:57:54 +00:00
|
|
|
to:mul16u::@3
|
|
|
|
mul16u::@3: scope:[mul16u] from mul16u::@2 mul16u::@4
|
2019-07-17 23:54:16 +00:00
|
|
|
[138] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@4/(dword) mul16u::res#1 )
|
|
|
|
[139] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte) 1
|
|
|
|
[140] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte) 1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:mul16u::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor)
|
2018-03-05 00:00:33 +00:00
|
|
|
div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb
|
2019-07-17 23:54:16 +00:00
|
|
|
[141] phi()
|
|
|
|
[142] call divr16u
|
|
|
|
[143] (word) divr16u::return#2 ← (word) divr16u::return#0
|
2019-03-31 15:10:41 +00:00
|
|
|
to:div32u16u::@1
|
|
|
|
div32u16u::@1: scope:[div32u16u] from div32u16u
|
2019-07-17 23:54:16 +00:00
|
|
|
[144] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2
|
|
|
|
[145] (word) divr16u::rem#4 ← (word) rem16u#1
|
|
|
|
[146] call divr16u
|
|
|
|
[147] (word) divr16u::return#3 ← (word) divr16u::return#0
|
2019-03-31 15:10:41 +00:00
|
|
|
to:div32u16u::@2
|
|
|
|
div32u16u::@2: scope:[div32u16u] from div32u16u::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
[148] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3
|
|
|
|
[149] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0
|
2018-03-05 00:00:33 +00:00
|
|
|
to:div32u16u::@return
|
2019-03-31 15:10:41 +00:00
|
|
|
div32u16u::@return: scope:[div32u16u] from div32u16u::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
[150] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
|
2019-03-31 15:10:41 +00:00
|
|
|
divr16u: scope:[divr16u] from div32u16u div32u16u::@1
|
2020-03-29 19:00:25 +00:00
|
|
|
[151] (word) divr16u::dividend#5 ← phi( div32u16u/>(const nomodify dword) PI2_u4f28 div32u16u::@1/<(const nomodify dword) PI2_u4f28 )
|
2019-07-17 23:54:16 +00:00
|
|
|
[151] (word) divr16u::rem#10 ← phi( div32u16u/(byte) 0 div32u16u::@1/(word) divr16u::rem#4 )
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@1
|
|
|
|
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
2019-07-17 23:54:16 +00:00
|
|
|
[152] (byte) divr16u::i#2 ← phi( divr16u/(byte) 0 divr16u::@3/(byte) divr16u::i#1 )
|
2020-01-01 17:27:53 +00:00
|
|
|
[152] (word) divr16u::quotient#3 ← phi( divr16u/(word) 0 divr16u::@3/(word) divr16u::return#0 )
|
2019-07-17 23:54:16 +00:00
|
|
|
[152] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 )
|
|
|
|
[152] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 )
|
|
|
|
[153] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte) 1
|
|
|
|
[154] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3
|
|
|
|
[155] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80
|
|
|
|
[156] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@4
|
|
|
|
divr16u::@4: scope:[divr16u] from divr16u::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
[157] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@2
|
|
|
|
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
|
2019-07-17 23:54:16 +00:00
|
|
|
[158] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 )
|
|
|
|
[159] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte) 1
|
|
|
|
[160] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1
|
2019-09-29 20:36:00 +00:00
|
|
|
[161] if((word) divr16u::rem#6<(const word) main::wavelength) goto divr16u::@3
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@5
|
|
|
|
divr16u::@5: scope:[divr16u] from divr16u::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
[162] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1
|
2019-09-29 20:36:00 +00:00
|
|
|
[163] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@3
|
|
|
|
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
|
2019-07-17 23:54:16 +00:00
|
|
|
[164] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 )
|
|
|
|
[164] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 )
|
|
|
|
[165] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2
|
|
|
|
[166] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1
|
2018-03-26 19:57:30 +00:00
|
|
|
to:divr16u::@6
|
|
|
|
divr16u::@6: scope:[divr16u] from divr16u::@3
|
2019-07-17 23:54:16 +00:00
|
|
|
[167] (word) rem16u#1 ← (word) divr16u::rem#11
|
2018-03-05 00:00:33 +00:00
|
|
|
to:divr16u::@return
|
2018-03-26 19:57:30 +00:00
|
|
|
divr16u::@return: scope:[divr16u] from divr16u::@6
|
2019-07-17 23:54:16 +00:00
|
|
|
[168] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
|
2018-03-05 00:00:33 +00:00
|
|
|
sin16s_gen: scope:[sin16s_gen] from main
|
2019-07-17 23:54:16 +00:00
|
|
|
[169] phi()
|
|
|
|
[170] call div32u16u
|
|
|
|
[171] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0
|
2019-08-07 09:27:55 +00:00
|
|
|
to:sin16s_gen::@3
|
|
|
|
sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen
|
2019-07-17 23:54:16 +00:00
|
|
|
[172] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s_gen::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4
|
2019-11-18 21:02:29 +00:00
|
|
|
[173] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word*) main::sintab1 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 )
|
2020-01-01 17:27:53 +00:00
|
|
|
[173] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 )
|
|
|
|
[173] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(word) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 )
|
2019-09-29 20:36:00 +00:00
|
|
|
[174] if((word) sin16s_gen::i#2<(const word) main::wavelength) goto sin16s_gen::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s_gen::@return
|
2019-08-07 09:27:55 +00:00
|
|
|
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
[175] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-08-25 20:21:56 +00:00
|
|
|
sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1
|
|
|
|
[176] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2
|
|
|
|
[177] call sin16s
|
|
|
|
[178] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1
|
|
|
|
to:sin16s_gen::@4
|
|
|
|
sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@2
|
|
|
|
[179] (signed word~) sin16s_gen::$2 ← (signed word) sin16s::return#0
|
|
|
|
[180] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$2
|
|
|
|
[181] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (const byte) SIZEOF_SIGNED_WORD
|
|
|
|
[182] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0
|
|
|
|
[183] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2
|
|
|
|
to:sin16s_gen::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(signed word()) sin16s((dword) sin16s::x)
|
2019-08-07 09:27:55 +00:00
|
|
|
sin16s: scope:[sin16s] from sin16s_gen::@2
|
2020-03-29 19:00:25 +00:00
|
|
|
[184] if((dword) sin16s::x#0<(const nomodify dword) PI_u4f28) goto sin16s::@1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@4
|
|
|
|
sin16s::@4: scope:[sin16s] from sin16s
|
2020-03-29 19:00:25 +00:00
|
|
|
[185] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const nomodify dword) PI_u4f28
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@1
|
|
|
|
sin16s::@1: scope:[sin16s] from sin16s sin16s::@4
|
2019-07-17 23:54:16 +00:00
|
|
|
[186] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte) 0 sin16s::@4/(byte) 1 )
|
|
|
|
[186] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 )
|
2020-03-29 19:00:25 +00:00
|
|
|
[187] if((dword) sin16s::x#4<(const nomodify dword) PI_HALF_u4f28) goto sin16s::@2
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@5
|
|
|
|
sin16s::@5: scope:[sin16s] from sin16s::@1
|
2020-03-29 19:00:25 +00:00
|
|
|
[188] (dword) sin16s::x#2 ← (const nomodify dword) PI_u4f28 - (dword) sin16s::x#4
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@2
|
|
|
|
sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5
|
2019-07-17 23:54:16 +00:00
|
|
|
[189] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 )
|
|
|
|
[190] (dword~) sin16s::$4 ← (dword) sin16s::x#6 << (byte) 3
|
|
|
|
[191] (word) sin16s::x1#0 ← > (dword~) sin16s::$4
|
|
|
|
[192] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0
|
|
|
|
[193] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0
|
|
|
|
[194] call mulu16_sel
|
|
|
|
[195] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16s::@7
|
|
|
|
sin16s::@7: scope:[sin16s] from sin16s::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
[196] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0
|
|
|
|
[197] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0
|
|
|
|
[198] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0
|
|
|
|
[199] call mulu16_sel
|
|
|
|
[200] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16s::@8
|
|
|
|
sin16s::@8: scope:[sin16s] from sin16s::@7
|
2019-07-17 23:54:16 +00:00
|
|
|
[201] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1
|
|
|
|
[202] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0
|
|
|
|
[203] call mulu16_sel
|
|
|
|
[204] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16s::@9
|
|
|
|
sin16s::@9: scope:[sin16s] from sin16s::@8
|
2019-07-17 23:54:16 +00:00
|
|
|
[205] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14
|
|
|
|
[206] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0
|
|
|
|
[207] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0
|
|
|
|
[208] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0
|
|
|
|
[209] call mulu16_sel
|
|
|
|
[210] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16s::@10
|
|
|
|
sin16s::@10: scope:[sin16s] from sin16s::@9
|
2019-07-17 23:54:16 +00:00
|
|
|
[211] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15
|
|
|
|
[212] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0
|
|
|
|
[213] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0
|
|
|
|
[214] call mulu16_sel
|
|
|
|
[215] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17
|
2019-03-31 15:10:41 +00:00
|
|
|
to:sin16s::@11
|
|
|
|
sin16s::@11: scope:[sin16s] from sin16s::@10
|
2019-07-17 23:54:16 +00:00
|
|
|
[216] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16
|
|
|
|
[217] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte) 4
|
|
|
|
[218] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0
|
|
|
|
[219] if((byte) sin16s::isUpper#2==(byte) 0) goto sin16s::@12
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@6
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16s::@6: scope:[sin16s] from sin16s::@11
|
2019-07-17 23:54:16 +00:00
|
|
|
[220] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@3
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16s::@3: scope:[sin16s] from sin16s::@12 sin16s::@6
|
2019-11-17 18:58:06 +00:00
|
|
|
[221] (signed word) sin16s::return#1 ← phi( sin16s::@12/(signed word) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 )
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@return
|
|
|
|
sin16s::@return: scope:[sin16s] from sin16s::@3
|
2019-07-17 23:54:16 +00:00
|
|
|
[222] return
|
2018-03-05 00:00:33 +00:00
|
|
|
to:@return
|
2019-03-31 15:10:41 +00:00
|
|
|
sin16s::@12: scope:[sin16s] from sin16s::@11
|
2019-11-17 18:58:06 +00:00
|
|
|
[223] (signed word) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1
|
2018-03-05 00:00:33 +00:00
|
|
|
to:sin16s::@3
|