Benchmark

incremental/QF_ABVFP/20210211-Vector/Aerospace_C/d9760723.smt2

These benchmarks were generated using VectorCAST's [1] automated test-case
generation capability, an industrial symbolic execution engine targeted towards
generating high-coverage test-suites for safety-critical C and C++.

While VectorCAST can target multiple SMT solvers via a generic Python API, it
does not support generating SMTLIB2 files directly. Consequently, these
benchmarks were obtained using Z3's [2] 'smtlib2_log' [3] facility to capture
all interactions between VectorCAST and the SMT solver, including all push/pop
commands.

The input to the test-case generator was:

    * A *C* file,

    * which came from project from the *Aerospace* market

[1] https://www.vector.com/int/en/products/products-a-z/software/vectorcast

[2] Leonardo de Moura, Nikolaj Bjorner (2008), "Z3: An Efficient SMT Solver".
In: Proceedings of TACAS 2008.

[3] Z3 4.8.7 release notes:
https://raw.githubusercontent.com/Z3Prover/z3/master/RELEASE_NOTES
Benchmark
Size427821
Compressed Size17113
License Creative Commons Attribution 4.0 International (CC-BY-4.0)
Categoryindustrial
First Occurrence2021-07-18
Generated ByAndrew V. Jones (andrew.jones@vector.com)
Generated On2021-02-11 00:00:00
GeneratorVectorCAST 2020sp6, ATG 2.0c-pre
Dolmen OK1
strict Dolmen OK1
check-sat calls39
Query 1
Status unknown
Inferred Status None
Size 2115
Compressed Size1118
Max. Term Depth8
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite2 and1 distinct1 let1
extract1 bvnot1 bvadd4 bvule2
zero_extend2 select2 store3
Query 2
Status unknown
Inferred Status None
Size 3216
Compressed Size1255
Max. Term Depth8
Asserts 2
Declared Functions0
Declared Constants3
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite6 and2 distinct2 let3
extract2 bvnot2 bvadd11 bvule5
zero_extend4 select5 store9
Query 3
Status unknown
Inferred Status None
Size 4738
Compressed Size1355
Max. Term Depth8
Asserts 3
Declared Functions0
Declared Constants4
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite12 and3 distinct3 let6
extract3 bvnot3 bvadd21 bvule9
zero_extend6 select9 store18
Query 4
Status unknown
Inferred Status None
Size 9559
Compressed Size1933
Max. Term Depth15
Asserts 4
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite23 and4 distinct12 let15
extract7 bvnot9 bvadd39 bvult3
bvule21 zero_extend13 select60 store46
Query 5
Status unknown
Inferred Status None
Size 13272
Compressed Size2250
Max. Term Depth17
Asserts 5
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite35 not1 and5 distinct15
let26 extract9 bvnot10 bvadd56
bvult7 bvule29 zero_extend14 select105
store73
Query 6
Status unknown
Inferred Status None
Size 19685
Compressed Size2702
Max. Term Depth21
Asserts 6
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite50 not1 and6 distinct24
let41 extract13 bvnot16 bvadd80
bvult14 bvule41 zero_extend21 select186
store113
Query 7
Status unknown
Inferred Status None
Size 24899
Compressed Size2984
Max. Term Depth23
Asserts 7
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite66 not2 and7 distinct27
let58 extract15 bvnot17 bvadd102
bvult22 bvule49 zero_extend22 select259
store151
Query 8
Status unknown
Inferred Status None
Size 32012
Compressed Size3414
Max. Term Depth26
Asserts 8
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite84 not2 and8 distinct33
let77 extract18 bvnot21 bvadd130
bvult32 bvule61 zero_extend27 select359
store200
Query 9
Status unknown
Inferred Status None
Size 41235
Compressed Size4033
Max. Term Depth30
Asserts 9
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite107 not2 and10 distinct42
let101 extract22 bvnot25 bvadd163
bvult44 bvule73 bvslt1 zero_extend33
select482 store258 fp1 fp.add1
fp.sub1 fp.mul2 fp.leq1 roundTowardPositive5
to_fp3
Query 10
Status unknown
Inferred Status None
Size 49948
Compressed Size4364
Max. Term Depth32
Asserts 10
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite129 not2 and11 distinct48
let126 extract25 bvnot29 bvadd197
bvult58 bvule85 bvslt1 zero_extend38
select612 store319 fp1 fp.add1
fp.sub1 fp.mul2 fp.leq1 roundTowardPositive5
to_fp3
Query 11
Status unknown
Inferred Status None
Size 57053
Compressed Size4487
Max. Term Depth32
Asserts 11
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite152 not3 and12 =1
distinct49 let152 extract26 bvnot29
bvadd227 bvult72 bvule89 bvslt1
zero_extend38 sign_extend1 select722 store373
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 12
Status unknown
Inferred Status None
Size 64158
Compressed Size4491
Max. Term Depth32
Asserts 12
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite175 not4 and13 =2
distinct50 let178 extract27 bvnot29
bvadd257 bvult86 bvule93 bvslt1
zero_extend38 sign_extend2 select832 store427
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 13
Status unknown
Inferred Status None
Size 72694
Compressed Size4886
Max. Term Depth35
Asserts 13
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite204 not5 and14 =5
distinct52 let207 extract27 bvnot29
bvadd287 bvult100 bvule100 bvslt1
zero_extend38 sign_extend2 select950 store493
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 14
Status unknown
Inferred Status None
Size 80939
Compressed Size4989
Max. Term Depth35
Asserts 14
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite232 not5 and15 =5
distinct53 let236 extract27 bvnot29
bvadd317 bvult114 bvule107 bvslt1
zero_extend38 sign_extend2 select1065 store559
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 15
Status unknown
Inferred Status None
Size 90501
Compressed Size5183
Max. Term Depth37
Asserts 15
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite261 not5 and16 =5
distinct56 let267 extract28 bvnot31
bvadd350 bvult129 bvule114 bvslt1
zero_extend40 sign_extend2 select1196 store632
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 16
Status unknown
Inferred Status None
Size 99763
Compressed Size5301
Max. Term Depth37
Asserts 16
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite291 not5 and17 =5
distinct57 let298 extract28 bvnot31
bvadd382 bvult144 bvule121 bvslt1
zero_extend40 sign_extend2 select1324 store705
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 fp.gt1 roundTowardPositive5 to_fp3
Query 17
Status unknown
Inferred Status None
Size 100248
Compressed Size5329
Max. Term Depth38
Asserts 16
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite291 not5 and17 =5
distinct58 let299 extract29 bvnot32
bvadd384 bvult145 bvule128 bvslt1
zero_extend41 sign_extend2 select1337 store706
fp1 fp.add1 fp.sub1 fp.mul2
fp.leq1 roundTowardPositive5 to_fp3
Query 18
Status unknown
Inferred Status None
Size 110482
Compressed Size5723
Max. Term Depth40
Asserts 17
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite322 not6 and18 =5
distinct59 let333 extract29 bvnot32
bvadd419 bvult161 bvule135 bvslt1
zero_extend41 sign_extend2 select1477 store782
fp2 fp.add3 fp.sub2 fp.mul4
fp.leq1 fp.gt1 roundTowardPositive11 to_fp8
Query 19
Status unknown
Inferred Status None
Size 121041
Compressed Size5933
Max. Term Depth42
Asserts 18
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite354 not7 and19 =5
distinct63 let368 extract30 bvnot34
bvadd455 bvult178 bvule142 bvslt1
zero_extend43 sign_extend2 select1625 store862
fp2 fp.add3 fp.sub2 fp.mul4
fp.leq1 fp.gt2 roundTowardPositive11 to_fp9
Query 20
Status unknown
Inferred Status None
Size 141813
Compressed Size7923
Max. Term Depth47
Asserts 19
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite389 not8 and20 =5
distinct106 let409 extract100 bvnot134
bvand62 bvadd509 bvmul7 bvult199
bvule170 bvuge1 bvslt1 zero_extend52
sign_extend2 select1824 store969 fp2
fp.add3 fp.sub2 fp.mul4 fp.leq1
fp.gt3 roundTowardPositive11 to_fp11
Query 21
Status unknown
Inferred Status None
Size 153203
Compressed Size8717
Max. Term Depth47
Asserts 20
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite423 not9 and21 =5
distinct107 let449 extract100 bvnot134
bvand62 bvadd551 bvmul8 bvult219
bvule177 bvuge1 bvslt1 zero_extend52
sign_extend2 select1992 store1065 fp2
fp.add3 fp.sub2 fp.mul4 fp.leq1
fp.gt3 roundTowardPositive11 to_fp11
Query 22
Status unknown
Inferred Status None
Size 165649
Compressed Size9497
Max. Term Depth47
Asserts 21
Declared Functions0
Declared Constants8
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite458 not10 and22 =5
distinct108 let489 extract100 bvnot134
bvand62 bvadd595 bvmul9 bvult239
bvule184 bvuge1 bvslt1 zero_extend52
sign_extend2 select2167 store1164 fp3
fp.add4 fp.sub3 fp.mul6 fp.leq2
fp.gt3 roundTowardPositive16 to_fp14
Query 23
Status unknown
Inferred Status None
Size 166483
Compressed Size9073
Max. Term Depth49
Asserts 21
Declared Functions0
Declared Constants9
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite458 not9 and22 =6
distinct111 let492 extract102 bvnot136
bvand62 bvadd613 bvmul9 bvult240
bvule191 bvuge1 bvslt1 zero_extend56
sign_extend2 select2167 store1163 fp2
fp.add3 fp.sub3 fp.mul4 fp.leq1
fp.gt3 roundTowardPositive12 to_fp12
Query 24
Status unknown
Inferred Status None
Size 180675
Compressed Size9455
Max. Term Depth51
Asserts 22
Declared Functions0
Declared Constants10
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite494 not9 and23 =7
distinct114 let537 extract104 bvnot138
bvand62 bvadd676 bvmul10 bvult262
bvule205 bvuge1 bvslt1 zero_extend59
sign_extend2 select2349 store1270 fp2
fp.add3 fp.sub3 fp.mul4 fp.leq1
fp.gt3 roundTowardPositive12 to_fp13
Query 25
Status unknown
Inferred Status None
Size 194377
Compressed Size9709
Max. Term Depth53
Asserts 23
Declared Functions0
Declared Constants10
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite531 not9 and24 =7
distinct117 let585 extract106 bvnot140
bvand62 bvadd731 bvmul11 bvult285
bvule219 bvuge1 bvslt1 zero_extend61
sign_extend2 select2537 store1378 fp2
fp.add3 fp.sub3 fp.mul4 fp.leq1
fp.gt3 roundTowardPositive12 to_fp13
Query 26
Status unknown
Inferred Status None
Size 215316
Compressed Size10537
Max. Term Depth61
Asserts 24
Declared Functions0
Declared Constants11
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite572 not9 and25 =8
distinct129 let640 extract112 bvnot148
bvand62 bvadd810 bvmul12 bvult312
bvule254 bvuge1 bvslt1 zero_extend71
sign_extend2 select2813 store1524 fp3
fp.add4 fp.sub3 fp.mul6 fp.leq1
fp.gt3 roundTowardPositive16 to_fp17
Query 27
Status unknown
Inferred Status None
Size 231548
Compressed Size10951
Max. Term Depth65
Asserts 25
Declared Functions0
Declared Constants11
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite614 not10 and26 =8
distinct133 let699 extract115 bvnot150
bvand62 bvadd875 bvmul13 bvult340
bvule268 bvuge1 bvslt1 zero_extend73
sign_extend2 select3040 store1653 fp3
fp.add4 fp.sub3 fp.mul6 fp.leq1
fp.gt3 roundTowardPositive16 to_fp17
Query 28
Status unknown
Inferred Status None
Size 254928
Compressed Size11896
Max. Term Depth71
Asserts 26
Declared Functions0
Declared Constants12
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite660 not10 and27 =9
distinct145 let764 extract121 bvnot158
bvand62 bvadd963 bvmul14 bvult372
bvule303 bvuge1 bvslt1 zero_extend83
sign_extend2 select3353 store1819 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt3 roundTowardPositive20 to_fp21
Query 29
Status unknown
Inferred Status None
Size 275205
Compressed Size12568
Max. Term Depth78
Asserts 27
Declared Functions0
Declared Constants12
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite709 not11 and28 =9
distinct153 let835 extract126 bvnot163
bvand62 bvadd1042 bvmul15 bvult406
bvule317 bvuge1 bvslt2 zero_extend90
sign_extend2 select3635 store1975 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt3 roundTowardPositive20 to_fp21
Query 30
Status unknown
Inferred Status None
Size 293863
Compressed Size13968
Max. Term Depth78
Asserts 28
Declared Functions0
Declared Constants12
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite758 not12 and29 =9
distinct154 let905 extract126 bvnot163
bvand62 bvadd1116 bvmul16 bvult440
bvule324 bvuge1 bvslt2 zero_extend90
sign_extend2 select3900 store2127 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt4 roundTowardPositive20 to_fp21
Query 31
Status unknown
Inferred Status None
Size 314148
Compressed Size14398
Max. Term Depth78
Asserts 29
Declared Functions0
Declared Constants13
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite807 not12 and30 =10
distinct157 let977 extract128 bvnot165
bvand62 bvadd1201 bvmul17 bvult475
bvule338 bvuge1 bvslt2 zero_extend93
sign_extend2 select4180 store2288 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt4 roundTowardPositive20 to_fp22
Query 32
Status unknown
Inferred Status None
Size 334696
Compressed Size14686
Max. Term Depth80
Asserts 30
Declared Functions0
Declared Constants14
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite857 not12 and31 =11
distinct161 let1052 extract131 bvnot168
bvand62 bvadd1284 bvmul18 bvult511
bvule352 bvuge1 bvslt2 zero_extend96
sign_extend2 select4466 store2459 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt4 roundTowardPositive20 to_fp23
Query 33
Status unknown
Inferred Status None
Size 355413
Compressed Size14976
Max. Term Depth83
Asserts 31
Declared Functions0
Declared Constants14
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite908 not12 and32 =11
distinct164 let1129 extract132 bvnot170
bvand62 bvadd1366 bvmul19 bvult548
bvule359 bvuge1 bvslt2 zero_extend98
sign_extend2 select4757 store2627 fp4
fp.add5 fp.sub3 fp.mul8 fp.leq1
fp.gt4 roundTowardPositive20 to_fp23
Query 34
Status unknown
Inferred Status None
Size 382513
Compressed Size15903
Max. Term Depth89
Asserts 32
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite963 not12 and33 =12
distinct176 let1212 extract138 bvnot178
bvand62 bvadd1466 bvmul20 bvult589
bvule394 bvuge1 bvslt2 zero_extend108
sign_extend2 select5135 store2822 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27
Query 35
Status unknown
Inferred Status None
Size 405561
Compressed Size16343
Max. Term Depth91
Asserts 33
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1019 not13 and34 =12
distinct180 let1297 extract140 bvnot180
bvand62 bvadd1558 bvmul21 bvult631
bvule401 bvuge1 bvslt2 zero_extend110
sign_extend2 select5467 store3005 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27
Query 36
Status unknown
Inferred Status None
Size 405621
Compressed Size16349
Max. Term Depth91
Asserts 34
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1019 not13 and34 =12
distinct180 let1297 extract140 bvnot180
bvand62 bvadd1558 bvmul21 bvult631
bvule401 bvuge1 bvslt2 zero_extend110
sign_extend2 select5467 store3005 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27
Query 37
Status unknown
Inferred Status None
Size 405681
Compressed Size16359
Max. Term Depth91
Asserts 35
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1019 not13 and34 =12
distinct180 let1297 extract140 bvnot180
bvand62 bvadd1558 bvmul21 bvult631
bvule401 bvuge1 bvslt2 zero_extend110
sign_extend2 select5467 store3005 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27
Query 38
Status unknown
Inferred Status None
Size 405741
Compressed Size16366
Max. Term Depth91
Asserts 36
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1019 not13 and34 =12
distinct180 let1297 extract140 bvnot180
bvand62 bvadd1558 bvmul21 bvult631
bvule401 bvuge1 bvslt2 zero_extend110
sign_extend2 select5467 store3005 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27
Query 39
Status unknown
Inferred Status None
Size 405721
Compressed Size16361
Max. Term Depth91
Asserts 35
Declared Functions0
Declared Constants15
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1019 not13 and34 =12
distinct180 let1297 extract140 bvnot180
bvand62 bvadd1558 bvmul21 bvult631
bvule401 bvuge1 bvslt2 zero_extend110
sign_extend2 select5467 store3005 fp5
fp.add6 fp.sub3 fp.mul10 fp.leq1
fp.gt4 roundTowardPositive24 to_fp27