./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 78ea74dfa7532b5891dcf798c387cbc67437d79b ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 78ea74dfa7532b5891dcf798c387cbc67437d79b ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 05:26:50,054 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:26:50,054 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:26:50,061 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:26:50,061 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:26:50,062 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:26:50,063 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:26:50,064 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:26:50,065 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:26:50,066 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:26:50,066 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:26:50,066 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:26:50,067 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:26:50,068 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:26:50,069 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:26:50,069 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:26:50,070 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:26:50,071 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:26:50,072 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:26:50,074 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:26:50,074 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:26:50,075 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:26:50,077 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:26:50,077 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:26:50,077 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:26:50,078 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:26:50,078 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:26:50,079 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:26:50,080 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:26:50,080 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:26:50,081 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:26:50,081 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:26:50,081 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:26:50,081 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:26:50,082 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:26:50,083 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:26:50,083 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 05:26:50,092 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:26:50,093 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:26:50,093 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:26:50,094 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 05:26:50,094 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:26:50,094 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:26:50,094 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 05:26:50,095 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:26:50,095 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:26:50,096 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:26:50,096 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:26:50,096 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:26:50,096 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:26:50,097 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:26:50,097 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:26:50,098 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 05:26:50,098 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:26:50,098 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 05:26:50,098 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:26:50,098 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:26:50,098 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:26:50,099 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:26:50,099 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 05:26:50,099 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:26:50,099 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 05:26:50,099 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 78ea74dfa7532b5891dcf798c387cbc67437d79b [2018-11-23 05:26:50,126 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:26:50,136 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:26:50,139 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:26:50,140 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:26:50,140 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:26:50,141 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:26:50,182 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/b4929dc08/a9237d23708047449eda6985b6977511/FLAG088287e3a [2018-11-23 05:26:50,607 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:26:50,608 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:26:50,613 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/b4929dc08/a9237d23708047449eda6985b6977511/FLAG088287e3a [2018-11-23 05:26:50,622 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/b4929dc08/a9237d23708047449eda6985b6977511 [2018-11-23 05:26:50,624 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:26:50,626 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:26:50,626 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:26:50,626 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:26:50,629 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:26:50,629 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,631 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2fb74b4d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50, skipping insertion in model container [2018-11-23 05:26:50,631 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,637 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:26:50,656 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:26:50,795 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:26:50,798 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:26:50,828 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:26:50,894 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:26:50,894 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50 WrapperNode [2018-11-23 05:26:50,894 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:26:50,895 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:26:50,895 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:26:50,895 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:26:50,900 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,910 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,917 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:26:50,917 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:26:50,918 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:26:50,918 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:26:50,924 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,925 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,927 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,927 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,937 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,943 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,944 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... [2018-11-23 05:26:50,946 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:26:50,946 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:26:50,946 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:26:50,946 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:26:50,947 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:26:50,981 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 05:26:50,981 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 05:26:50,981 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_asinf [2018-11-23 05:26:50,982 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_asinf [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 05:26:50,982 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 05:26:50,982 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_float [2018-11-23 05:26:50,982 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_float [2018-11-23 05:26:50,982 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 05:26:50,983 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:26:50,983 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:26:50,983 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:26:50,983 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 05:26:50,983 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_sqrtf [2018-11-23 05:26:50,983 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_sqrtf [2018-11-23 05:26:50,983 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:26:51,333 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:26:51,334 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 05:26:51,334 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:26:51 BoogieIcfgContainer [2018-11-23 05:26:51,334 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:26:51,335 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 05:26:51,335 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 05:26:51,337 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 05:26:51,337 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 05:26:50" (1/3) ... [2018-11-23 05:26:51,338 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e6bd3be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:26:51, skipping insertion in model container [2018-11-23 05:26:51,338 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:50" (2/3) ... [2018-11-23 05:26:51,338 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e6bd3be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:26:51, skipping insertion in model container [2018-11-23 05:26:51,338 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:26:51" (3/3) ... [2018-11-23 05:26:51,340 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:26:51,346 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 05:26:51,352 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 05:26:51,362 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 05:26:51,383 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 05:26:51,384 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 05:26:51,384 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 05:26:51,384 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 05:26:51,384 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 05:26:51,384 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 05:26:51,384 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 05:26:51,385 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 05:26:51,385 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 05:26:51,398 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states. [2018-11-23 05:26:51,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 05:26:51,403 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:26:51,404 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:26:51,405 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:26:51,409 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:26:51,409 INFO L82 PathProgramCache]: Analyzing trace with hash 257035693, now seen corresponding path program 1 times [2018-11-23 05:26:51,410 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 05:26:51,411 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 05:26:51,441 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:26:51,441 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:26:51,441 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:26:51,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:26:51,524 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:26:51,526 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:26:51,527 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 05:26:51,529 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 05:26:51,537 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 05:26:51,537 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:26:51,539 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 2 states. [2018-11-23 05:26:51,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:26:51,559 INFO L93 Difference]: Finished difference Result 144 states and 214 transitions. [2018-11-23 05:26:51,559 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 05:26:51,560 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 21 [2018-11-23 05:26:51,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:26:51,567 INFO L225 Difference]: With dead ends: 144 [2018-11-23 05:26:51,567 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 05:26:51,570 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:26:51,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 05:26:51,596 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2018-11-23 05:26:51,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 05:26:51,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 89 transitions. [2018-11-23 05:26:51,599 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 89 transitions. Word has length 21 [2018-11-23 05:26:51,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:26:51,599 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 89 transitions. [2018-11-23 05:26:51,599 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 05:26:51,599 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 89 transitions. [2018-11-23 05:26:51,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 05:26:51,600 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:26:51,600 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:26:51,600 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:26:51,600 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:26:51,600 INFO L82 PathProgramCache]: Analyzing trace with hash -225488588, now seen corresponding path program 1 times [2018-11-23 05:26:51,601 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 05:26:51,601 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 05:26:51,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:26:51,602 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:26:51,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:26:51,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:26:51,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:26:51,672 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=24, |#NULL.offset|=16, |old(#NULL.base)|=24, |old(#NULL.offset)|=16, |old(~huge_asin~0)|=28.0, |old(~huge_floor~0)|=17.0, |old(~one_asin~0)|=20.0, |old(~one_sqrt~0)|=18.0, |old(~pio2_hi_asin~0)|=19.0, |old(~pio2_lo_asin~0)|=12.0, |old(~pio4_hi_asin~0)|=21.0, |old(~pS0_asin~0)|=26.0, |old(~pS1_asin~0)|=22.0, |old(~pS2_asin~0)|=6.0, |old(~pS3_asin~0)|=25.0, |old(~pS4_asin~0)|=14.0, |old(~pS5_asin~0)|=11.0, |old(~qS1_asin~0)|=29.0, |old(~qS2_asin~0)|=15.0, |old(~qS3_asin~0)|=5.0, |old(~qS4_asin~0)|=27.0, |old(~tiny_sqrt~0)|=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~huge_floor~0 := 1.0E30;~one_sqrt~0 := 1.0;~tiny_sqrt~0 := 1.0E-30;~one_asin~0 := 1.0;~huge_asin~0 := 1.0E30;~pio2_hi_asin~0 := 1.5707963705062866;~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8);~pio4_hi_asin~0 := 0.7853981852531433;~pS0_asin~0 := 0.16666667163;~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497);~pS2_asin~0 := 0.20121252537;~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734);~pS4_asin~0 := 7.9153501429E-4;~pS5_asin~0 := 3.4793309169E-5;~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375);~qS2_asin~0 := 2.0209457874;~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989);~qS4_asin~0 := 0.077038154006; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=24, |old(#NULL.offset)|=16, |old(~huge_asin~0)|=28.0, |old(~huge_floor~0)|=17.0, |old(~one_asin~0)|=20.0, |old(~one_sqrt~0)|=18.0, |old(~pio2_hi_asin~0)|=19.0, |old(~pio2_lo_asin~0)|=12.0, |old(~pio4_hi_asin~0)|=21.0, |old(~pS0_asin~0)|=26.0, |old(~pS1_asin~0)|=22.0, |old(~pS2_asin~0)|=6.0, |old(~pS3_asin~0)|=25.0, |old(~pS4_asin~0)|=14.0, |old(~pS5_asin~0)|=11.0, |old(~qS1_asin~0)|=29.0, |old(~qS2_asin~0)|=15.0, |old(~qS3_asin~0)|=5.0, |old(~qS4_asin~0)|=27.0, |old(~tiny_sqrt~0)|=13.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=24, |old(#NULL.offset)|=16, |old(~huge_asin~0)|=28.0, |old(~huge_floor~0)|=17.0, |old(~one_asin~0)|=20.0, |old(~one_sqrt~0)|=18.0, |old(~pio2_hi_asin~0)|=19.0, |old(~pio2_lo_asin~0)|=12.0, |old(~pio4_hi_asin~0)|=21.0, |old(~pS0_asin~0)|=26.0, |old(~pS1_asin~0)|=22.0, |old(~pS2_asin~0)|=6.0, |old(~pS3_asin~0)|=25.0, |old(~pS4_asin~0)|=14.0, |old(~pS5_asin~0)|=11.0, |old(~qS1_asin~0)|=29.0, |old(~qS2_asin~0)|=15.0, |old(~qS3_asin~0)|=5.0, |old(~qS4_asin~0)|=27.0, |old(~tiny_sqrt~0)|=13.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] RET #236#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] CALL call #t~ret23 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] ~x := #in~x;havoc ~t~1;havoc ~w~0;havoc ~p~0;havoc ~q~1;havoc ~c~0;havoc ~r~1;havoc ~s~1;havoc ~hx~1;havoc ~ix~3; VAL [__ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] call ~#gf_u~3.base, ~#gf_u~3.offset := #Ultimate.alloc(4);call write~real(~x, ~#gf_u~3.base, ~#gf_u~3.offset, 4);call #t~mem13 := read~int(~#gf_u~3.base, ~#gf_u~3.offset, 4);~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union14, ~#gf_u~3.base, ~#gf_u~3.offset, 4);havoc #t~union14;havoc #t~mem13;call ULTIMATE.dealloc(~#gf_u~3.base, ~#gf_u~3.offset);havoc ~#gf_u~3.base, ~#gf_u~3.offset; VAL [__ieee754_asinf_~hx~1=3, __ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] goto; VAL [__ieee754_asinf_~hx~1=3, __ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_asinf_~hx~1=3, __ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume 1065353216 == ~ix~3;#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [__ieee754_asinf_~hx~1=3, __ieee754_asinf_~ix~3=1065353216, __ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume true; VAL [__ieee754_asinf_~hx~1=3, __ieee754_asinf_~ix~3=1065353216, __ieee754_asinf_~x=23.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_asinf_#in~x|=23.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] RET #228#return; VAL [main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret21|=9.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] ~res~0 := #t~ret21;havoc #t~ret21; VAL [main_~res~0=9.0, main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] CALL call #t~ret22 := isnan_float(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=9.0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_float_~x=9.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=9.0, |isnan_float_#res|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume true; VAL [isnan_float_~x=9.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=9.0, |isnan_float_#res|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] RET #230#return; VAL [main_~res~0=9.0, main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret22|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [main_~res~0=9.0, main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret22|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume 0 == #t~ret22;havoc #t~ret22; VAL [main_~res~0=9.0, main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] assume !false; VAL [main_~res~0=9.0, main_~x~0=23.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_asin~0=1000000000000000000000000000000.0, ~huge_floor~0=1000000000000000000000000000000.0, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=(/ 13176795.0 8388608.0), ~pio4_hi_asin~0=(/ 13176795.0 16777216.0), ~pS0_asin~0=(/ 16666667163.0 100000000000.0), ~pS2_asin~0=(/ 20121252537.0 100000000000.0), ~pS4_asin~0=(/ 79153501429.0 100000000000000.0), ~pS5_asin~0=(/ 34793309169.0 1000000000000000.0), ~qS2_asin~0=(/ 10104728937.0 5000000000.0), ~qS4_asin~0=(/ 38519077003.0 500000000000.0), ~tiny_sqrt~0=(/ 1.0 1000000000000000000000000000000.0)] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=24, #NULL.offset=16, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] call ~#gf_u~3.base, ~#gf_u~3.offset := #Ultimate.alloc(4); [L158] call write~real(~x, ~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] call #t~mem13 := read~int(~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] call write~real(#t~union14, ~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] call ULTIMATE.dealloc(~#gf_u~3.base, ~#gf_u~3.offset); [L157] havoc ~#gf_u~3.base, ~#gf_u~3.offset; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162-L182] assume 1065353216 == ~ix~3; [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L153-L219] ensures true; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L58] ensures true; VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232-L235] assume 0 == #t~ret22; [L232] havoc #t~ret22; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=24, #NULL.offset=16, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=24, old(#NULL.offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] call ~#gf_u~3.base, ~#gf_u~3.offset := #Ultimate.alloc(4); [L158] call write~real(~x, ~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] call #t~mem13 := read~int(~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] call write~real(#t~union14, ~#gf_u~3.base, ~#gf_u~3.offset, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] call ULTIMATE.dealloc(~#gf_u~3.base, ~#gf_u~3.offset); [L157] havoc ~#gf_u~3.base, ~#gf_u~3.offset; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162-L182] assume 1065353216 == ~ix~3; [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L153-L219] ensures true; VAL [#in~x=23.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L58] ensures true; VAL [#in~x=9.0, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232-L235] assume 0 == #t~ret22; [L232] havoc #t~ret22; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=24, #NULL!offset=16, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] FCALL call ~#gf_u~3 := #Ultimate.alloc(4); [L158] FCALL call write~real(~x, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] FCALL call #t~mem13 := read~int({ base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] FCALL call write~real(#t~union14, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] FCALL call ULTIMATE.dealloc(~#gf_u~3); [L157] havoc ~#gf_u~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162] COND TRUE 1065353216 == ~ix~3 [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] COND TRUE 0 == #t~ret22 [L232] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=24, #NULL!offset=16, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] FCALL call ~#gf_u~3 := #Ultimate.alloc(4); [L158] FCALL call write~real(~x, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] FCALL call #t~mem13 := read~int({ base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] FCALL call write~real(#t~union14, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] FCALL call ULTIMATE.dealloc(~#gf_u~3); [L157] havoc ~#gf_u~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162] COND TRUE 1065353216 == ~ix~3 [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] COND TRUE 0 == #t~ret22 [L232] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=24, #NULL!offset=16, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] FCALL call ~#gf_u~3 := #Ultimate.alloc(4); [L158] FCALL call write~real(~x, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] FCALL call #t~mem13 := read~int({ base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] FCALL call write~real(#t~union14, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] FCALL call ULTIMATE.dealloc(~#gf_u~3); [L157] havoc ~#gf_u~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162] COND TRUE 1065353216 == ~ix~3 [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] COND TRUE 0 == #t~ret22 [L232] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=24, #NULL!offset=16, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=28.0, ~huge_floor~0=17.0, ~one_asin~0=20.0, ~one_sqrt~0=18.0, ~pio2_hi_asin~0=19.0, ~pio2_lo_asin~0=12.0, ~pio4_hi_asin~0=21.0, ~pS0_asin~0=26.0, ~pS1_asin~0=22.0, ~pS2_asin~0=6.0, ~pS3_asin~0=25.0, ~pS4_asin~0=14.0, ~pS5_asin~0=11.0, ~qS1_asin~0=29.0, ~qS2_asin~0=15.0, ~qS3_asin~0=5.0, ~qS4_asin~0=27.0, ~tiny_sqrt~0=13.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~huge_floor~0 := 1.0E30; [L60] ~one_sqrt~0 := 1.0; [L60] ~tiny_sqrt~0 := 1.0E-30; [L143-L151] ~one_asin~0 := 1.0; [L143-L151] ~huge_asin~0 := 1.0E30; [L143-L151] ~pio2_hi_asin~0 := 1.5707963705062866; [L143-L151] ~pio2_lo_asin~0 := ~someUnaryFLOAToperation(4.3711390001862426E-8); [L143-L151] ~pio4_hi_asin~0 := 0.7853981852531433; [L143-L151] ~pS0_asin~0 := 0.16666667163; [L143-L151] ~pS1_asin~0 := ~someUnaryDOUBLEoperation(0.32556581497); [L143-L151] ~pS2_asin~0 := 0.20121252537; [L143-L151] ~pS3_asin~0 := ~someUnaryDOUBLEoperation(0.040055535734); [L143-L151] ~pS4_asin~0 := 7.9153501429E-4; [L143-L151] ~pS5_asin~0 := 3.4793309169E-5; [L143-L151] ~qS1_asin~0 := ~someUnaryDOUBLEoperation(2.4033949375); [L143-L151] ~qS2_asin~0 := 2.0209457874; [L143-L151] ~qS3_asin~0 := ~someUnaryDOUBLEoperation(0.68828397989); [L143-L151] ~qS4_asin~0 := 0.077038154006; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=24, old(#NULL!offset)=16, old(~huge_asin~0)=28.0, old(~huge_floor~0)=17.0, old(~one_asin~0)=20.0, old(~one_sqrt~0)=18.0, old(~pio2_hi_asin~0)=19.0, old(~pio2_lo_asin~0)=12.0, old(~pio4_hi_asin~0)=21.0, old(~pS0_asin~0)=26.0, old(~pS1_asin~0)=22.0, old(~pS2_asin~0)=6.0, old(~pS3_asin~0)=25.0, old(~pS4_asin~0)=14.0, old(~pS5_asin~0)=11.0, old(~qS1_asin~0)=29.0, old(~qS2_asin~0)=15.0, old(~qS3_asin~0)=5.0, old(~qS4_asin~0)=27.0, old(~tiny_sqrt~0)=13.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [?] CALL call #t~ret23 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L228] ~x~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L229] CALL call #t~ret21 := __ieee754_asinf(~x~0); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L153-L219] ~x := #in~x; [L154] havoc ~t~1; [L154] havoc ~w~0; [L154] havoc ~p~0; [L154] havoc ~q~1; [L154] havoc ~c~0; [L154] havoc ~r~1; [L154] havoc ~s~1; [L155] havoc ~hx~1; [L155] havoc ~ix~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L157] FCALL call ~#gf_u~3 := #Ultimate.alloc(4); [L158] FCALL call write~real(~x, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] FCALL call #t~mem13 := read~int({ base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] ~hx~1 := (if #t~mem13 % 4294967296 % 4294967296 <= 2147483647 then #t~mem13 % 4294967296 % 4294967296 else #t~mem13 % 4294967296 % 4294967296 - 4294967296); [L159] FCALL call write~real(#t~union14, { base: ~#gf_u~3!base, offset: ~#gf_u~3!offset }, 4); [L159] havoc #t~union14; [L159] havoc #t~mem13; [L157] FCALL call ULTIMATE.dealloc(~#gf_u~3); [L157] havoc ~#gf_u~3; VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L161] ~ix~3 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L162] COND TRUE 1065353216 == ~ix~3 [L164] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~pio2_hi_asin~0), ~someBinaryArithmeticFLOAToperation(~x, ~pio2_lo_asin~0)); VAL [#in~x=23.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~hx~1=3, ~ix~3=1065353216, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=23.0] [L229] RET call #t~ret21 := __ieee754_asinf(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret21=9.0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L229] ~res~0 := #t~ret21; [L229] havoc #t~ret21; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] CALL call #t~ret22 := isnan_float(~res~0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000] [L58] ~x := #in~x; [L58] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=9.0, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x=9.0] [L232] RET call #t~ret22 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L232] COND TRUE 0 == #t~ret22 [L232] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L233] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_asin~0=1.0E30, ~huge_floor~0=1.0E30, ~one_asin~0=1.0, ~one_sqrt~0=1.0, ~pio2_hi_asin~0=13176795/8388608, ~pio4_hi_asin~0=13176795/16777216, ~pS0_asin~0=16666667163/100000000000, ~pS2_asin~0=20121252537/100000000000, ~pS4_asin~0=79153501429/100000000000000, ~pS5_asin~0=34793309169/1000000000000000, ~qS2_asin~0=10104728937/5000000000, ~qS4_asin~0=38519077003/500000000000, ~res~0=9.0, ~tiny_sqrt~0=1/1000000000000000000000000000000, ~x~0=23.0] [L12] static const float huge_floor = 1.0e30; [L60] static const float one_sqrt = 1.0, tiny_sqrt = 1.0e-30; [L143-L151] static const float one_asin = 1.0000000000e+00, huge_asin = 1.000e+30, pio2_hi_asin = 1.57079637050628662109375f, pio2_lo_asin = -4.37113900018624283e-8f, pio4_hi_asin = 0.785398185253143310546875f, pS0_asin = 1.6666667163e-01, pS1_asin = -3.2556581497e-01, pS2_asin = 2.0121252537e-01, pS3_asin = -4.0055535734e-02, pS4_asin = 7.9153501429e-04, pS5_asin = 3.4793309169e-05, qS1_asin = -2.4033949375e+00, qS2_asin = 2.0209457874e+00, qS3_asin = -6.8828397989e-01, qS4_asin = 7.7038154006e-02; VAL [\old(huge_asin)=28, \old(huge_floor)=17, \old(one_asin)=20, \old(one_sqrt)=18, \old(pio2_hi_asin)=19, \old(pio2_lo_asin)=12, \old(pio4_hi_asin)=21, \old(pS0_asin)=26, \old(pS1_asin)=22, \old(pS2_asin)=6, \old(pS3_asin)=25, \old(pS4_asin)=14, \old(pS5_asin)=11, \old(qS1_asin)=29, \old(qS2_asin)=15, \old(qS3_asin)=5, \old(qS4_asin)=27, \old(tiny_sqrt)=13, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L228] float x = 1.0f / 0.0f; VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L229] CALL, EXPR __ieee754_asinf(x) VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L154] float t, w, p, q, c, r, s; [L155] __int32_t hx, ix; VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L157] ieee_float_shape_type gf_u; [L158] gf_u.value = (x) [L159] EXPR gf_u.word [L159] (hx) = gf_u.word [L161] ix = hx & 0x7fffffff VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, hx=3, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L162] COND TRUE ix == 0x3f800000 [L164] return x * pio2_hi_asin + x * pio2_lo_asin; VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, hx=3, ix=1065353216, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L229] RET, EXPR __ieee754_asinf(x) VAL [__ieee754_asinf(x)=9, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L229] float res = __ieee754_asinf(x); [L232] CALL, EXPR isnan_float(res) VAL [\old(x)=9, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L58] return x != x; VAL [\old(x)=9, \result=0, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=9] [L232] RET, EXPR isnan_float(res) VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, isnan_float(res)=0, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, res=9, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L232] COND TRUE !isnan_float(res) [L233] __VERIFIER_error() VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, res=9, tiny_sqrt=1/1000000000000000000000000000000, x=23] ----- [2018-11-23 05:26:51,753 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 05:26:51 BoogieIcfgContainer [2018-11-23 05:26:51,753 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 05:26:51,753 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:26:51,753 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:26:51,753 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:26:51,754 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:26:51" (3/4) ... [2018-11-23 05:26:51,756 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 05:26:51,757 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:26:51,757 INFO L168 Benchmark]: Toolchain (without parser) took 1132.54 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 958.2 MB in the beginning and 1.0 GB in the end (delta: -79.9 MB). Peak memory consumption was 40.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,758 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:26:51,759 INFO L168 Benchmark]: CACSL2BoogieTranslator took 268.00 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -161.4 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,759 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.75 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,760 INFO L168 Benchmark]: Boogie Preprocessor took 28.52 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,760 INFO L168 Benchmark]: RCFGBuilder took 387.94 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 38.5 MB). Peak memory consumption was 38.5 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,760 INFO L168 Benchmark]: TraceAbstraction took 418.07 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. [2018-11-23 05:26:51,761 INFO L168 Benchmark]: Witness Printer took 3.73 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:26:51,763 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 268.00 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -161.4 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 22.75 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.52 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 387.94 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 38.5 MB). Peak memory consumption was 38.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 418.07 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. * Witness Printer took 3.73 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 233]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 58, overapproximation of someUnaryDOUBLEoperation at line 147, overapproximation of bitwiseAnd at line 161, overapproximation of someUnaryFLOAToperation at line 145, overapproximation of someBinaryArithmeticFLOAToperation at line 164. Possible FailurePath: [L12] static const float huge_floor = 1.0e30; [L60] static const float one_sqrt = 1.0, tiny_sqrt = 1.0e-30; [L143-L151] static const float one_asin = 1.0000000000e+00, huge_asin = 1.000e+30, pio2_hi_asin = 1.57079637050628662109375f, pio2_lo_asin = -4.37113900018624283e-8f, pio4_hi_asin = 0.785398185253143310546875f, pS0_asin = 1.6666667163e-01, pS1_asin = -3.2556581497e-01, pS2_asin = 2.0121252537e-01, pS3_asin = -4.0055535734e-02, pS4_asin = 7.9153501429e-04, pS5_asin = 3.4793309169e-05, qS1_asin = -2.4033949375e+00, qS2_asin = 2.0209457874e+00, qS3_asin = -6.8828397989e-01, qS4_asin = 7.7038154006e-02; VAL [\old(huge_asin)=28, \old(huge_floor)=17, \old(one_asin)=20, \old(one_sqrt)=18, \old(pio2_hi_asin)=19, \old(pio2_lo_asin)=12, \old(pio4_hi_asin)=21, \old(pS0_asin)=26, \old(pS1_asin)=22, \old(pS2_asin)=6, \old(pS3_asin)=25, \old(pS4_asin)=14, \old(pS5_asin)=11, \old(qS1_asin)=29, \old(qS2_asin)=15, \old(qS3_asin)=5, \old(qS4_asin)=27, \old(tiny_sqrt)=13, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L228] float x = 1.0f / 0.0f; VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L229] CALL, EXPR __ieee754_asinf(x) VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L154] float t, w, p, q, c, r, s; [L155] __int32_t hx, ix; VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L157] ieee_float_shape_type gf_u; [L158] gf_u.value = (x) [L159] EXPR gf_u.word [L159] (hx) = gf_u.word [L161] ix = hx & 0x7fffffff VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, hx=3, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L162] COND TRUE ix == 0x3f800000 [L164] return x * pio2_hi_asin + x * pio2_lo_asin; VAL [\old(x)=23, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, hx=3, ix=1065353216, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L229] RET, EXPR __ieee754_asinf(x) VAL [__ieee754_asinf(x)=9, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L229] float res = __ieee754_asinf(x); [L232] CALL, EXPR isnan_float(res) VAL [\old(x)=9, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000] [L58] return x != x; VAL [\old(x)=9, \result=0, huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, tiny_sqrt=1/1000000000000000000000000000000, x=9] [L232] RET, EXPR isnan_float(res) VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, isnan_float(res)=0, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, res=9, tiny_sqrt=1/1000000000000000000000000000000, x=23] [L232] COND TRUE !isnan_float(res) [L233] __VERIFIER_error() VAL [huge_asin=1000000000000000000000000000000, huge_floor=1000000000000000000000000000000, one_asin=1, one_sqrt=1, pio2_hi_asin=13176795/8388608, pio4_hi_asin=13176795/16777216, pS0_asin=16666667163/100000000000, pS2_asin=20121252537/100000000000, pS4_asin=79153501429/100000000000000, pS5_asin=34793309169/1000000000000000, qS2_asin=10104728937/5000000000, qS4_asin=38519077003/500000000000, res=9, tiny_sqrt=1/1000000000000000000000000000000, x=23] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 76 locations, 1 error locations. UNSAFE Result, 0.3s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 93 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=76occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 43 NumberOfCodeBlocks, 43 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 20 ConstructedInterpolants, 0 QuantifiedInterpolants, 400 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 05:26:53,236 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:26:53,237 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:26:53,247 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:26:53,247 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:26:53,248 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:26:53,248 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:26:53,250 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:26:53,251 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:26:53,251 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:26:53,252 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:26:53,252 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:26:53,253 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:26:53,254 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:26:53,254 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:26:53,255 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:26:53,256 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:26:53,257 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:26:53,258 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:26:53,259 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:26:53,260 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:26:53,261 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:26:53,262 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:26:53,263 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:26:53,263 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:26:53,263 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:26:53,264 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:26:53,265 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:26:53,265 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:26:53,266 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:26:53,266 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:26:53,267 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:26:53,267 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:26:53,267 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:26:53,268 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:26:53,268 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:26:53,269 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 05:26:53,279 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:26:53,279 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:26:53,280 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:26:53,280 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 05:26:53,280 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:26:53,280 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 05:26:53,281 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:26:53,281 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:26:53,282 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:26:53,282 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:26:53,283 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:26:53,283 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 05:26:53,284 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:26:53,284 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 05:26:53,284 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 05:26:53,284 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 78ea74dfa7532b5891dcf798c387cbc67437d79b [2018-11-23 05:26:53,315 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:26:53,325 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:26:53,327 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:26:53,328 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:26:53,329 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:26:53,329 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:26:53,376 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/17403c90d/78b1c0c956f14b64adc605fe66a67c5f/FLAGb2c47cf61 [2018-11-23 05:26:53,708 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:26:53,709 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/sv-benchmarks/c/float-newlib/float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:26:53,714 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/17403c90d/78b1c0c956f14b64adc605fe66a67c5f/FLAGb2c47cf61 [2018-11-23 05:26:53,723 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/data/17403c90d/78b1c0c956f14b64adc605fe66a67c5f [2018-11-23 05:26:53,725 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:26:53,725 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:26:53,726 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:26:53,726 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:26:53,729 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:26:53,729 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:53,731 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62fcfb53 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53, skipping insertion in model container [2018-11-23 05:26:53,731 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:53,738 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:26:53,761 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:26:53,929 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:26:53,933 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:26:53,972 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:26:53,995 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:26:53,995 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53 WrapperNode [2018-11-23 05:26:53,995 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:26:53,996 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:26:53,996 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:26:53,996 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:26:54,004 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,020 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,076 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:26:54,077 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:26:54,077 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:26:54,077 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:26:54,083 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,083 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,087 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,087 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,098 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,104 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,109 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... [2018-11-23 05:26:54,113 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:26:54,113 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:26:54,114 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:26:54,114 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:26:54,115 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:26:54,148 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 05:26:54,148 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 05:26:54,148 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_asinf [2018-11-23 05:26:54,148 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_asinf [2018-11-23 05:26:54,148 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 05:26:54,148 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 05:26:54,148 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 05:26:54,149 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_float [2018-11-23 05:26:54,149 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_float [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:26:54,149 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 05:26:54,149 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_sqrtf [2018-11-23 05:26:54,149 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_sqrtf [2018-11-23 05:26:54,150 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 05:26:54,150 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:27:03,245 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:27:03,899 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:27:03,899 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 05:27:03,899 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:27:03 BoogieIcfgContainer [2018-11-23 05:27:03,899 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:27:03,900 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 05:27:03,900 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 05:27:03,902 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 05:27:03,902 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 05:26:53" (1/3) ... [2018-11-23 05:27:03,902 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5b94bd1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:27:03, skipping insertion in model container [2018-11-23 05:27:03,902 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:26:53" (2/3) ... [2018-11-23 05:27:03,903 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5b94bd1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:27:03, skipping insertion in model container [2018-11-23 05:27:03,903 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:27:03" (3/3) ... [2018-11-23 05:27:03,904 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_0250a_true-unreach-call.c [2018-11-23 05:27:03,911 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 05:27:03,916 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 05:27:03,926 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 05:27:03,948 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 05:27:03,948 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 05:27:03,948 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 05:27:03,949 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 05:27:03,949 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 05:27:03,949 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 05:27:03,949 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 05:27:03,949 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 05:27:03,949 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 05:27:03,962 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states. [2018-11-23 05:27:03,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 05:27:03,967 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:27:03,968 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:27:03,969 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:27:03,973 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:27:03,973 INFO L82 PathProgramCache]: Analyzing trace with hash 1204794971, now seen corresponding path program 1 times [2018-11-23 05:27:03,976 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:27:03,977 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 05:27:03,984 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:27:04,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:27:04,186 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:27:04,199 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:27:04,200 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:27:04,211 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:27:04,211 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 05:27:04,214 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 05:27:04,222 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 05:27:04,222 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:27:04,224 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 2 states. [2018-11-23 05:27:04,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:27:04,243 INFO L93 Difference]: Finished difference Result 142 states and 212 transitions. [2018-11-23 05:27:04,243 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 05:27:04,244 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 05:27:04,244 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:27:04,251 INFO L225 Difference]: With dead ends: 142 [2018-11-23 05:27:04,251 INFO L226 Difference]: Without dead ends: 71 [2018-11-23 05:27:04,254 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:27:04,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-23 05:27:04,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2018-11-23 05:27:04,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 05:27:04,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2018-11-23 05:27:04,288 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 20 [2018-11-23 05:27:04,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:27:04,288 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2018-11-23 05:27:04,288 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 05:27:04,288 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2018-11-23 05:27:04,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 05:27:04,289 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:27:04,289 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:27:04,289 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:27:04,290 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:27:04,290 INFO L82 PathProgramCache]: Analyzing trace with hash -624565231, now seen corresponding path program 1 times [2018-11-23 05:27:04,290 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:27:04,290 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 05:27:04,299 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:27:04,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:27:04,489 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:27:04,583 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:27:04,584 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:27:04,592 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:27:04,592 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 05:27:04,593 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 05:27:04,594 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 05:27:04,594 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 05:27:04,594 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand 7 states. [2018-11-23 05:27:11,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:27:11,452 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2018-11-23 05:27:11,453 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 05:27:11,453 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2018-11-23 05:27:11,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:27:11,456 INFO L225 Difference]: With dead ends: 84 [2018-11-23 05:27:11,456 INFO L226 Difference]: Without dead ends: 74 [2018-11-23 05:27:11,457 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 05:27:11,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2018-11-23 05:27:11,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2018-11-23 05:27:11,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 05:27:11,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 87 transitions. [2018-11-23 05:27:11,467 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 87 transitions. Word has length 21 [2018-11-23 05:27:11,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:27:11,467 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 87 transitions. [2018-11-23 05:27:11,467 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 05:27:11,468 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 87 transitions. [2018-11-23 05:27:11,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 05:27:11,468 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:27:11,469 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:27:11,469 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:27:11,469 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:27:11,469 INFO L82 PathProgramCache]: Analyzing trace with hash 2002478333, now seen corresponding path program 1 times [2018-11-23 05:27:11,469 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:27:11,470 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 05:27:11,473 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:27:11,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:27:11,681 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:27:13,704 WARN L180 SmtUtils]: Spent 485.00 ms on a formula simplification that was a NOOP. DAG size: 6 [2018-11-23 05:27:16,519 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:27:16,520 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:27:16,530 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:27:16,531 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 05:27:16,531 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 05:27:16,531 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 05:27:16,531 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 05:27:16,532 INFO L87 Difference]: Start difference. First operand 71 states and 87 transitions. Second operand 9 states. [2018-11-23 05:27:20,364 WARN L180 SmtUtils]: Spent 1.25 s on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 05:27:27,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:27:27,628 INFO L93 Difference]: Finished difference Result 80 states and 96 transitions. [2018-11-23 05:27:27,629 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 05:27:27,629 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 22 [2018-11-23 05:27:27,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:27:27,630 INFO L225 Difference]: With dead ends: 80 [2018-11-23 05:27:27,630 INFO L226 Difference]: Without dead ends: 73 [2018-11-23 05:27:27,630 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 8.7s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 05:27:27,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-23 05:27:27,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 71. [2018-11-23 05:27:27,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 05:27:27,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 86 transitions. [2018-11-23 05:27:27,641 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 86 transitions. Word has length 22 [2018-11-23 05:27:27,641 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:27:27,641 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 86 transitions. [2018-11-23 05:27:27,642 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 05:27:27,642 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 86 transitions. [2018-11-23 05:27:27,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 05:27:27,642 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:27:27,643 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:27:27,643 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:27:27,643 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:27:27,643 INFO L82 PathProgramCache]: Analyzing trace with hash 1628950099, now seen corresponding path program 1 times [2018-11-23 05:27:27,644 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:27:27,644 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 05:27:27,648 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:27:28,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:27:28,715 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:27:28,804 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:27:28,805 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:27:28,828 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:27:28,829 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 05:27:28,829 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 05:27:28,829 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 05:27:28,829 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 05:27:28,830 INFO L87 Difference]: Start difference. First operand 71 states and 86 transitions. Second operand 7 states. [2018-11-23 05:27:33,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:27:33,861 INFO L93 Difference]: Finished difference Result 84 states and 99 transitions. [2018-11-23 05:27:33,862 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 05:27:33,862 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2018-11-23 05:27:33,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:27:33,863 INFO L225 Difference]: With dead ends: 84 [2018-11-23 05:27:33,863 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 05:27:33,864 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 05:27:33,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 05:27:33,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 66. [2018-11-23 05:27:33,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-23 05:27:33,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 78 transitions. [2018-11-23 05:27:33,871 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 78 transitions. Word has length 24 [2018-11-23 05:27:33,872 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:27:33,872 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 78 transitions. [2018-11-23 05:27:33,872 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 05:27:33,872 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 78 transitions. [2018-11-23 05:27:33,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 05:27:33,875 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:27:33,875 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:27:33,875 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:27:33,875 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:27:33,875 INFO L82 PathProgramCache]: Analyzing trace with hash 1429916512, now seen corresponding path program 1 times [2018-11-23 05:27:33,876 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:27:33,876 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 05:27:33,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:27:35,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:27:35,104 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:27:35,214 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:27:35,214 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:27:35,235 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:27:35,235 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 05:27:35,236 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 05:27:35,236 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 05:27:35,236 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 05:27:35,236 INFO L87 Difference]: Start difference. First operand 66 states and 78 transitions. Second operand 7 states. [2018-11-23 05:27:37,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:27:37,705 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2018-11-23 05:27:37,706 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 05:27:37,706 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 44 [2018-11-23 05:27:37,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:27:37,707 INFO L225 Difference]: With dead ends: 66 [2018-11-23 05:27:37,707 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 05:27:37,707 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 05:27:37,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 05:27:37,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 05:27:37,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 05:27:37,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 05:27:37,708 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 44 [2018-11-23 05:27:37,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:27:37,709 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 05:27:37,709 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 05:27:37,709 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 05:27:37,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 05:27:37,713 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 05:27:37,876 INFO L448 ceAbstractionStarter]: For program point isnan_floatFINAL(line 58) no Hoare annotation was computed. [2018-11-23 05:27:37,877 INFO L451 ceAbstractionStarter]: At program point isnan_floatENTRY(line 58) the Hoare annotation is: true [2018-11-23 05:27:37,877 INFO L448 ceAbstractionStarter]: For program point isnan_floatEXIT(line 58) no Hoare annotation was computed. [2018-11-23 05:27:37,877 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 05:27:37,877 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 05:27:37,877 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 05:27:37,877 INFO L448 ceAbstractionStarter]: For program point L130-1(lines 130 134) no Hoare annotation was computed. [2018-11-23 05:27:37,877 INFO L451 ceAbstractionStarter]: At program point L130-2(lines 130 134) the Hoare annotation is: true [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point fabs_floatFINAL(lines 128 141) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point fabs_floatEXIT(lines 128 141) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L451 ceAbstractionStarter]: At program point fabs_floatENTRY(lines 128 141) the Hoare annotation is: true [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point L135(lines 135 139) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point L135-1(lines 128 141) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point L135-2(lines 135 139) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 05:27:37,878 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 05:27:37,878 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 05:27:37,879 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 05:27:37,879 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 221 238) the Hoare annotation is: true [2018-11-23 05:27:37,879 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 221 238) no Hoare annotation was computed. [2018-11-23 05:27:37,879 INFO L448 ceAbstractionStarter]: For program point L233(line 233) no Hoare annotation was computed. [2018-11-23 05:27:37,879 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 221 238) no Hoare annotation was computed. [2018-11-23 05:27:37,879 INFO L444 ceAbstractionStarter]: At program point L232(line 232) the Hoare annotation is: (let ((.cse1 (fp.div roundNearestTiesToEven ((_ to_fp 8 24) roundNearestTiesToEven 1.0) (_ +zero 8 24)))) (and (= main_~res~0 (let ((.cse0 (fp.sub roundNearestTiesToEven .cse1 .cse1))) (fp.div roundNearestTiesToEven .cse0 .cse0))) (= main_~x~0 .cse1))) [2018-11-23 05:27:37,879 INFO L448 ceAbstractionStarter]: For program point L232-1(lines 232 235) no Hoare annotation was computed. [2018-11-23 05:27:37,880 INFO L444 ceAbstractionStarter]: At program point L229(line 229) the Hoare annotation is: (= main_~x~0 (fp.div roundNearestTiesToEven ((_ to_fp 8 24) roundNearestTiesToEven 1.0) (_ +zero 8 24))) [2018-11-23 05:27:37,880 INFO L448 ceAbstractionStarter]: For program point L229-1(line 229) no Hoare annotation was computed. [2018-11-23 05:27:37,880 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 233) no Hoare annotation was computed. [2018-11-23 05:27:37,880 INFO L444 ceAbstractionStarter]: At program point L192(line 192) the Hoare annotation is: (and (= |__ieee754_asinf_#in~x| __ieee754_asinf_~x) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (= (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) __ieee754_asinf_~ix~3))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (not (bvsgt (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) (_ bv1065353216 32))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|)))) [2018-11-23 05:27:37,880 INFO L448 ceAbstractionStarter]: For program point L192-1(line 192) no Hoare annotation was computed. [2018-11-23 05:27:37,880 INFO L448 ceAbstractionStarter]: For program point L184(line 184) no Hoare annotation was computed. [2018-11-23 05:27:37,880 INFO L448 ceAbstractionStarter]: For program point L168(lines 168 181) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L193(lines 193 214) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L193-2(lines 153 219) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L156-1(lines 156 160) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L444 ceAbstractionStarter]: At program point L156-2(lines 156 160) the Hoare annotation is: (= |__ieee754_asinf_#in~x| __ieee754_asinf_~x) [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L156-3(lines 156 160) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L169(lines 169 170) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L165(lines 165 182) no Hoare annotation was computed. [2018-11-23 05:27:37,881 INFO L451 ceAbstractionStarter]: At program point __ieee754_asinfENTRY(lines 153 219) the Hoare annotation is: true [2018-11-23 05:27:37,881 INFO L448 ceAbstractionStarter]: For program point L199-1(lines 199 203) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L444 ceAbstractionStarter]: At program point L199-2(lines 199 203) the Hoare annotation is: (and (= |__ieee754_asinf_#in~x| __ieee754_asinf_~x) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (= (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) __ieee754_asinf_~ix~3))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (not (bvsgt (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) (_ bv1065353216 32))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|)))) [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point __ieee754_asinfFINAL(lines 153 219) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point L162(lines 162 182) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point __ieee754_asinfEXIT(lines 153 219) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point L204(lines 204 208) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point L204-1(lines 196 214) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point L204-2(lines 204 208) no Hoare annotation was computed. [2018-11-23 05:27:37,882 INFO L448 ceAbstractionStarter]: For program point L167(lines 167 182) no Hoare annotation was computed. [2018-11-23 05:27:37,883 INFO L444 ceAbstractionStarter]: At program point L167-1(lines 167 182) the Hoare annotation is: (and (= |__ieee754_asinf_#in~x| __ieee754_asinf_~x) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (= (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) __ieee754_asinf_~ix~3))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|) (exists ((__ieee754_asinf_~hx~1 (_ BitVec 32))) (and (not (bvsgt (bvand (_ bv2147483647 32) __ieee754_asinf_~hx~1) (_ bv1065353216 32))) (= (fp ((_ extract 31 31) __ieee754_asinf_~hx~1) ((_ extract 30 23) __ieee754_asinf_~hx~1) ((_ extract 22 0) __ieee754_asinf_~hx~1)) |__ieee754_asinf_#in~x|)))) [2018-11-23 05:27:37,883 INFO L448 ceAbstractionStarter]: For program point L77(lines 77 78) no Hoare annotation was computed. [2018-11-23 05:27:37,883 INFO L451 ceAbstractionStarter]: At program point L98-2(lines 98 107) the Hoare annotation is: true [2018-11-23 05:27:37,883 INFO L448 ceAbstractionStarter]: For program point L98-3(lines 62 127) no Hoare annotation was computed. [2018-11-23 05:27:37,883 INFO L448 ceAbstractionStarter]: For program point L90(lines 90 91) no Hoare annotation was computed. [2018-11-23 05:27:37,883 INFO L448 ceAbstractionStarter]: For program point L90-2(lines 90 91) no Hoare annotation was computed. [2018-11-23 05:27:37,883 INFO L451 ceAbstractionStarter]: At program point __ieee754_sqrtfENTRY(lines 62 127) the Hoare annotation is: true [2018-11-23 05:27:37,883 INFO L448 ceAbstractionStarter]: For program point L111(lines 111 117) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L74(lines 74 75) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point __ieee754_sqrtfFINAL(lines 62 127) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point __ieee754_sqrtfEXIT(lines 62 127) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L83(lines 83 87) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L83-2(lines 83 87) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L79(lines 79 80) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L100(lines 100 104) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L67-1(lines 67 71) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L448 ceAbstractionStarter]: For program point L100-2(lines 100 104) no Hoare annotation was computed. [2018-11-23 05:27:37,884 INFO L451 ceAbstractionStarter]: At program point L67-2(lines 67 71) the Hoare annotation is: true [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L67-3(lines 67 71) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L121-1(lines 121 125) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L451 ceAbstractionStarter]: At program point L121-2(lines 121 125) the Hoare annotation is: true [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L121-3(lines 121 125) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L84-2(lines 84 85) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L451 ceAbstractionStarter]: At program point L84-3(lines 84 85) the Hoare annotation is: true [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L113(lines 113 116) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L84-4(lines 84 85) no Hoare annotation was computed. [2018-11-23 05:27:37,885 INFO L448 ceAbstractionStarter]: For program point L109(lines 109 118) no Hoare annotation was computed. [2018-11-23 05:27:37,891 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,891 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,892 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,896 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,896 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,896 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,897 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,897 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,897 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,897 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,897 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,900 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 05:27:37 BoogieIcfgContainer [2018-11-23 05:27:37,900 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 05:27:37,900 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:27:37,900 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:27:37,901 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:27:37,901 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:27:03" (3/4) ... [2018-11-23 05:27:37,904 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 05:27:37,908 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_float [2018-11-23 05:27:37,908 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 05:27:37,908 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure fabs_float [2018-11-23 05:27:37,909 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 05:27:37,909 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __ieee754_asinf [2018-11-23 05:27:37,909 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __ieee754_sqrtf [2018-11-23 05:27:37,913 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 43 nodes and edges [2018-11-23 05:27:37,914 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 20 nodes and edges [2018-11-23 05:27:37,914 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 05:27:37,914 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 05:27:37,933 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: \old(x) == x [2018-11-23 05:27:37,934 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((\old(x) == x && (\exists __ieee754_asinf_~hx~1 : bv32 :: ~fp~LONGDOUBLE(__ieee754_asinf_~hx~1[31:31], __ieee754_asinf_~hx~1[30:23], __ieee754_asinf_~hx~1[22:0]) == \old(x) && ~bvand32(2147483647bv32, __ieee754_asinf_~hx~1) == ix)) && ~fp~LONGDOUBLE(hx[31:31], hx[30:23], hx[22:0]) == \old(x)) && (\exists __ieee754_asinf_~hx~1 : bv32 :: !~bvsgt32(~bvand32(2147483647bv32, __ieee754_asinf_~hx~1), 1065353216bv32) && ~fp~LONGDOUBLE(__ieee754_asinf_~hx~1[31:31], __ieee754_asinf_~hx~1[30:23], __ieee754_asinf_~hx~1[22:0]) == \old(x)) [2018-11-23 05:27:37,961 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_aae9e56c-0808-4614-aace-490532d54e47/bin-2019/uautomizer/witness.graphml [2018-11-23 05:27:37,962 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:27:37,962 INFO L168 Benchmark]: Toolchain (without parser) took 44237.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 174.6 MB). Free memory was 949.7 MB in the beginning and 907.8 MB in the end (delta: 41.9 MB). Peak memory consumption was 216.5 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,963 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:27:37,963 INFO L168 Benchmark]: CACSL2BoogieTranslator took 269.50 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,963 INFO L168 Benchmark]: Boogie Procedure Inliner took 80.52 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 174.6 MB). Free memory was 928.3 MB in the beginning and 1.2 GB in the end (delta: -247.5 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,964 INFO L168 Benchmark]: Boogie Preprocessor took 36.47 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,964 INFO L168 Benchmark]: RCFGBuilder took 9785.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 45.4 MB). Peak memory consumption was 45.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,966 INFO L168 Benchmark]: TraceAbstraction took 34000.23 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 914.4 MB in the end (delta: 202.8 MB). Peak memory consumption was 202.8 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,966 INFO L168 Benchmark]: Witness Printer took 61.36 ms. Allocated memory is still 1.2 GB. Free memory was 914.4 MB in the beginning and 907.8 MB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2018-11-23 05:27:37,968 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 269.50 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 80.52 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 174.6 MB). Free memory was 928.3 MB in the beginning and 1.2 GB in the end (delta: -247.5 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 36.47 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 11.5 GB. * RCFGBuilder took 9785.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 45.4 MB). Peak memory consumption was 45.4 MB. Max. memory is 11.5 GB. * TraceAbstraction took 34000.23 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 914.4 MB in the end (delta: 202.8 MB). Peak memory consumption was 202.8 MB. Max. memory is 11.5 GB. * Witness Printer took 61.36 ms. Allocated memory is still 1.2 GB. Free memory was 914.4 MB in the beginning and 907.8 MB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 233]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 98]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 130]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 121]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 67]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 84]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 199]: Loop Invariant [2018-11-23 05:27:37,971 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,972 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] [2018-11-23 05:27:37,973 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[__ieee754_asinf_~hx~1,QUANTIFIED] Derived loop invariant: ((\old(x) == x && (\exists __ieee754_asinf_~hx~1 : bv32 :: ~fp~LONGDOUBLE(__ieee754_asinf_~hx~1[31:31], __ieee754_asinf_~hx~1[30:23], __ieee754_asinf_~hx~1[22:0]) == \old(x) && ~bvand32(2147483647bv32, __ieee754_asinf_~hx~1) == ix)) && ~fp~LONGDOUBLE(hx[31:31], hx[30:23], hx[22:0]) == \old(x)) && (\exists __ieee754_asinf_~hx~1 : bv32 :: !~bvsgt32(~bvand32(2147483647bv32, __ieee754_asinf_~hx~1), 1065353216bv32) && ~fp~LONGDOUBLE(__ieee754_asinf_~hx~1[31:31], __ieee754_asinf_~hx~1[30:23], __ieee754_asinf_~hx~1[22:0]) == \old(x)) - InvariantResult [Line: 156]: Loop Invariant Derived loop invariant: \old(x) == x - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 75 locations, 1 error locations. SAFE Result, 33.9s OverallTime, 5 OverallIterations, 1 TraceHistogramMax, 25.5s AutomataDifference, 0.0s DeadEndRemovalTime, 0.1s HoareAnnotationTime, HoareTripleCheckerStatistics: 380 SDtfs, 198 SDslu, 1429 SDs, 0 SdLazy, 186 SolverSat, 23 SolverUnsat, 6 SolverUnknown, 0 SolverNotchecked, 19.7s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 139 GetRequests, 104 SyntacticMatches, 0 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 9.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=75occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 5 MinimizatonAttempts, 5 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 19 LocationsWithAnnotation, 30 PreInvPairs, 40 NumberOfFragments, 203 HoareAnnotationTreeSize, 30 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 19 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 0.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 2.5s SatisfiabilityAnalysisTime, 5.3s InterpolantComputationTime, 131 NumberOfCodeBlocks, 131 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 126 ConstructedInterpolants, 20 QuantifiedInterpolants, 19273 SizeOfPredicates, 16 NumberOfNonLiveVariables, 594 ConjunctsInSsa, 30 ConjunctsInUnsatCore, 5 InterpolantComputations, 5 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...