./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1122a_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_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 66cb741c1a4973eb036ada076f70b691f8ab4b25 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 66cb741c1a4973eb036ada076f70b691f8ab4b25 ................................................................................................................................................................................................................................................................................................................................................................................... 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:51:05,363 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:51:05,365 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:51:05,371 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:51:05,371 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:51:05,372 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:51:05,372 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:51:05,374 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:51:05,375 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:51:05,375 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:51:05,376 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:51:05,376 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:51:05,377 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:51:05,377 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:51:05,378 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:51:05,378 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:51:05,379 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:51:05,380 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:51:05,381 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:51:05,382 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:51:05,383 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:51:05,384 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:51:05,385 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:51:05,385 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:51:05,386 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:51:05,386 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:51:05,387 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:51:05,387 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:51:05,387 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:51:05,388 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:51:05,388 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:51:05,389 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:51:05,389 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:51:05,389 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:51:05,390 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:51:05,390 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:51:05,391 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 05:51:05,398 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:51:05,398 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:51:05,398 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:51:05,398 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:51:05,399 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:51:05,399 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:51:05,399 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:51:05,400 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:51:05,400 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:51:05,400 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:51:05,400 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:51:05,401 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:51:05,401 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:51:05,401 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 05:51:05,401 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:51:05,401 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 05:51:05,401 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_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak 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 -> Kojak 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 -> 66cb741c1a4973eb036ada076f70b691f8ab4b25 [2018-11-23 05:51:05,425 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:51:05,434 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:51:05,437 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:51:05,438 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:51:05,438 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:51:05,439 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c [2018-11-23 05:51:05,484 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/8eff454ab/ad04b2ae649549b6bb6fc80eeb39e0ff/FLAGd6db231d2 [2018-11-23 05:51:05,825 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:51:05,825 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c [2018-11-23 05:51:05,830 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/8eff454ab/ad04b2ae649549b6bb6fc80eeb39e0ff/FLAGd6db231d2 [2018-11-23 05:51:06,242 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/8eff454ab/ad04b2ae649549b6bb6fc80eeb39e0ff [2018-11-23 05:51:06,245 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:51:06,246 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:51:06,246 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:51:06,247 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:51:06,250 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:51:06,251 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,253 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@670512fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06, skipping insertion in model container [2018-11-23 05:51:06,253 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,260 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:51:06,277 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:51:06,425 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:51:06,428 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:51:06,456 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:51:06,468 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:51:06,469 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06 WrapperNode [2018-11-23 05:51:06,469 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:51:06,469 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:51:06,469 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:51:06,469 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:51:06,474 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:51:06" (1/1) ... [2018-11-23 05:51:06,519 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:51:06" (1/1) ... [2018-11-23 05:51:06,544 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:51:06,544 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:51:06,544 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:51:06,544 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:51:06,553 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,553 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,556 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,556 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,564 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,568 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,569 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... [2018-11-23 05:51:06,571 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:51:06,571 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:51:06,571 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:51:06,571 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:51:06,572 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:06" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 05:51:06,603 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 05:51:06,603 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:51:06,604 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 05:51:06,604 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:51:07,076 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:51:07,076 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 05:51:07,077 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:07 BoogieIcfgContainer [2018-11-23 05:51:07,077 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:51:07,077 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:51:07,077 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:51:07,088 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:51:07,088 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:07" (1/1) ... [2018-11-23 05:51:07,098 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:51:07,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:51:07,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 05:51:07,130 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 05:51:07,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 05:51:07,133 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:51:07,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:51:07,206 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:51:07,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:51:07,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 05:51:07,213 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 05:51:07,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 05:51:07,213 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:51:07,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:51:07,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:51:07,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:51:07,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:51:07,349 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_fmod~0 := 1.0;call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8);havoc main_#res;havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0;main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);main_~y~0 := main_#t~nondet16;havoc main_#t~nondet16;fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0;havoc fmod_double_#res;havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0;fmod_double_~x := fmod_double_#in~x;fmod_double_~y := fmod_double_#in~y;havoc fmod_double_~n~0;havoc fmod_double_~hx~0;havoc fmod_double_~hy~0;havoc fmod_double_~hz~0;havoc fmod_double_~ix~0;havoc fmod_double_~iy~0;havoc fmod_double_~sx~0;havoc fmod_double_~i~0;havoc fmod_double_~lx~0;havoc fmod_double_~ly~0;havoc fmod_double_~lz~0; VAL [ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4);fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~union1;havoc fmod_double_#t~mem0;call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4);fmod_double_~lx~0 := fmod_double_#t~mem2;call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~mem2;havoc fmod_double_#t~union3;call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset);havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4);fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~mem4;havoc fmod_double_#t~union5;call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4);fmod_double_~ly~0 := fmod_double_#t~mem6;call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~union7;havoc fmod_double_#t~mem6;call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset);havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~hy~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~hy~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0);fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072;fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret17 := fmod_double_#res;main_~res~0 := main_#t~ret17;havoc main_#t~ret17;isnan_double_#in~x := main_~res~0;havoc isnan_double_#res;havoc isnan_double_~x;isnan_double_~x := isnan_double_#in~x;isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0);main_#t~ret18 := isnan_double_#res;assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.0, |ULTIMATE.start_isnan_double_#res|=0, |ULTIMATE.start_main_#t~ret18|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 == main_#t~ret18;havoc main_#t~ret18; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.0, |ULTIMATE.start_isnan_double_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.0, |ULTIMATE.start_isnan_double_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~union7; [L37] havoc fmod_double_#t~mem6; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175-L178] assume 0 == main_#t~ret18; [L175] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~union7; [L37] havoc fmod_double_#t~mem6; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175-L178] assume 0 == main_#t~ret18; [L175] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~union7; [L37] havoc fmod_double_#t~mem6; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == main_#t~ret18 [L175] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~union7; [L37] havoc fmod_double_#t~mem6; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == main_#t~ret18 [L175] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L170] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] ~y~0 := #t~nondet16; [L171] havoc #t~nondet16; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~union7; [L37] havoc #t~mem6; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] ~res~0 := #t~ret17; [L172] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L175] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == #t~ret18 [L175] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L170] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L171] ~y~0 := #t~nondet16; [L171] havoc #t~nondet16; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~union7; [L37] havoc #t~mem6; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] ~res~0 := #t~ret17; [L172] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L175] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == #t~ret18 [L175] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L170] double x = 1.0 / 0.0; [L171] double y = __VERIFIER_nondet_double(); [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L172] double res = fmod_double(x, y); [L16] return x != x; [L175] COND TRUE !isnan_double(res) [L176] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 05:51:07,396 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 05:51:07 ImpRootNode [2018-11-23 05:51:07,396 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 05:51:07,396 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:51:07,396 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:51:07,396 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:51:07,397 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:07" (3/4) ... [2018-11-23 05:51:07,400 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 05:51:07,400 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:51:07,401 INFO L168 Benchmark]: Toolchain (without parser) took 1155.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 961.9 MB in the beginning and 1.0 GB in the end (delta: -77.2 MB). Peak memory consumption was 58.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:51:07,402 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:51:07,402 INFO L168 Benchmark]: CACSL2BoogieTranslator took 222.43 ms. Allocated memory is still 1.0 GB. Free memory was 961.9 MB in the beginning and 945.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:51:07,403 INFO L168 Benchmark]: Boogie Procedure Inliner took 74.73 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -183.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:51:07,403 INFO L168 Benchmark]: Boogie Preprocessor took 27.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:51:07,404 INFO L168 Benchmark]: RCFGBuilder took 505.71 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 52.1 MB). Peak memory consumption was 52.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:51:07,404 INFO L168 Benchmark]: CodeCheck took 318.43 ms. Allocated memory is still 1.2 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:51:07,405 INFO L168 Benchmark]: Witness Printer took 4.06 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:51:07,408 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 55 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 17 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 61 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 18 NumberOfCodeBlocks, 18 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 7 ConstructedInterpolants, 0 QuantifiedInterpolants, 49 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 176]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 44, overapproximation of someUnaryDOUBLEoperation at line 20, overapproximation of someBinaryArithmeticDOUBLEoperation at line 45, overapproximation of bitwiseAnd at line 39, overapproximation of someBinaryDOUBLEComparisonOperation at line 16, overapproximation of bitwiseXor at line 40. Possible FailurePath: [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L170] double x = 1.0 / 0.0; [L171] double y = __VERIFIER_nondet_double(); [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L172] double res = fmod_double(x, y); [L16] return x != x; [L175] COND TRUE !isnan_double(res) [L176] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * 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 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 222.43 ms. Allocated memory is still 1.0 GB. Free memory was 961.9 MB in the beginning and 945.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 74.73 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -183.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 27.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 505.71 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 52.1 MB). Peak memory consumption was 52.1 MB. Max. memory is 11.5 GB. * CodeCheck took 318.43 ms. Allocated memory is still 1.2 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 4.06 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. 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:51:08,860 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:51:08,861 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:51:08,868 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:51:08,868 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:51:08,869 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:51:08,870 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:51:08,871 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:51:08,872 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:51:08,873 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:51:08,873 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:51:08,874 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:51:08,874 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:51:08,875 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:51:08,876 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:51:08,876 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:51:08,877 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:51:08,878 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:51:08,879 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:51:08,881 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:51:08,881 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:51:08,882 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:51:08,884 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:51:08,884 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:51:08,884 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:51:08,885 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:51:08,886 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:51:08,886 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:51:08,887 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:51:08,887 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:51:08,888 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:51:08,888 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:51:08,888 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:51:08,888 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:51:08,889 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:51:08,889 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:51:08,890 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 05:51:08,900 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:51:08,900 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:51:08,901 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:51:08,901 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:51:08,902 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:51:08,902 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:51:08,902 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:51:08,902 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:51:08,902 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:51:08,903 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:51:08,904 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:51:08,904 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:51:08,904 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:51:08,904 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:51:08,904 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:51:08,904 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:51:08,905 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:51:08,905 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 05:51:08,906 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 05:51:08,906 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_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak 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 -> Kojak 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 -> 66cb741c1a4973eb036ada076f70b691f8ab4b25 [2018-11-23 05:51:08,933 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:51:08,941 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:51:08,943 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:51:08,944 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:51:08,945 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:51:08,945 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c [2018-11-23 05:51:08,982 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/df06d1a63/bf39791988164cf3a29bef16c2c59c8a/FLAGb684022b0 [2018-11-23 05:51:09,290 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:51:09,291 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/sv-benchmarks/c/float-newlib/double_req_bl_1122a_true-unreach-call.c [2018-11-23 05:51:09,295 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/df06d1a63/bf39791988164cf3a29bef16c2c59c8a/FLAGb684022b0 [2018-11-23 05:51:09,303 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/data/df06d1a63/bf39791988164cf3a29bef16c2c59c8a [2018-11-23 05:51:09,307 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:51:09,308 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:51:09,308 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:51:09,309 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:51:09,312 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:51:09,312 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,315 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d6a5f6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09, skipping insertion in model container [2018-11-23 05:51:09,315 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,323 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:51:09,345 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:51:09,504 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:51:09,509 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:51:09,547 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:51:09,567 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:51:09,568 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09 WrapperNode [2018-11-23 05:51:09,568 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:51:09,568 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:51:09,568 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:51:09,568 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:51:09,573 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:51:09" (1/1) ... [2018-11-23 05:51:09,617 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:51:09" (1/1) ... [2018-11-23 05:51:09,639 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:51:09,639 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:51:09,639 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:51:09,639 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:51:09,646 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,649 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,650 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,660 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,666 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,669 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... [2018-11-23 05:51:09,672 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:51:09,672 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:51:09,672 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:51:09,672 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:51:09,674 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:51:09" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:51:09,709 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:51:09,709 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 05:51:09,710 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:51:09,833 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:51:09,869 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:51:09,910 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:51:17,596 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:51:17,596 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 05:51:17,597 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:17 BoogieIcfgContainer [2018-11-23 05:51:17,597 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:51:17,597 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:51:17,597 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:51:17,605 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:51:17,605 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:17" (1/1) ... [2018-11-23 05:51:17,612 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:51:17,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:51:17,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 05:51:17,634 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 05:51:17,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 05:51:17,636 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:51:17,677 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 05:51:17,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:51:17,703 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:51:17,714 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:51:17,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:51:17,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 05:51:17,723 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 05:51:17,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 05:51:17,724 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:51:17,725 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 05:51:21,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:51:22,171 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:51:27,934 WARN L180 SmtUtils]: Spent 1.72 s on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 05:51:31,929 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:51:59,774 WARN L180 SmtUtils]: Spent 4.35 s on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 05:53:04,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:53:04,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 41 states and 68 transitions. [2018-11-23 05:53:04,530 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2018-11-23 05:53:04,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 05:53:04,531 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:53:04,532 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 05:53:04,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:53:04,559 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:53:15,080 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:53:50,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:53:50,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 05:53:50,015 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 05:53:50,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 05:53:50,015 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 05:53:50,021 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 05:53:52,503 WARN L180 SmtUtils]: Spent 2.45 s on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 05:53:52,523 INFO L579 CodeCheckObserver]: Invariant with dag size 11 [2018-11-23 05:53:52,527 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,527 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,527 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,528 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,528 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,528 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,528 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,528 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,529 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,532 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,532 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,532 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,533 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,533 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,533 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,533 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,534 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,534 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,535 INFO L579 CodeCheckObserver]: Invariant with dag size 7 [2018-11-23 05:53:52,535 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,536 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,536 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,537 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,537 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 05:53:52,538 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 05:53:52 ImpRootNode [2018-11-23 05:53:52,538 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 05:53:52,538 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:53:52,538 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:53:52,538 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:53:52,539 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:51:17" (3/4) ... [2018-11-23 05:53:52,543 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 05:53:52,552 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 05:53:52,552 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 05:53:52,585 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_8d831f4f-a503-4ff3-a5a0-33a64a734440/bin-2019/ukojak/witness.graphml [2018-11-23 05:53:52,585 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:53:52,586 INFO L168 Benchmark]: Toolchain (without parser) took 163278.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.4 MB). Free memory was 948.7 MB in the beginning and 983.8 MB in the end (delta: -35.2 MB). Peak memory consumption was 103.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,586 INFO L168 Benchmark]: CDTParser took 0.13 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:53:52,587 INFO L168 Benchmark]: CACSL2BoogieTranslator took 259.47 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 932.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,587 INFO L168 Benchmark]: Boogie Procedure Inliner took 70.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.4 MB). Free memory was 932.6 MB in the beginning and 1.1 GB in the end (delta: -193.3 MB). Peak memory consumption was 20.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,587 INFO L168 Benchmark]: Boogie Preprocessor took 32.49 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:53:52,588 INFO L168 Benchmark]: RCFGBuilder took 7924.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 60.4 MB). Peak memory consumption was 60.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,588 INFO L168 Benchmark]: CodeCheck took 154940.55 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 990.6 MB in the end (delta: 74.9 MB). Peak memory consumption was 74.9 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,588 INFO L168 Benchmark]: Witness Printer took 47.18 ms. Allocated memory is still 1.2 GB. Free memory was 990.6 MB in the beginning and 983.8 MB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-23 05:53:52,592 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 55 locations, 1 error locations. SAFE Result, 152.3s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 114 SDtfs, 52 SDslu, 56 SDs, 0 SdLazy, 122 SolverSat, 26 SolverUnsat, 4 SolverUnknown, 0 SolverNotchecked, 123.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 255 GetRequests, 242 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 61.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 4.1s SatisfiabilityAnalysisTime, 20.6s InterpolantComputationTime, 30 NumberOfCodeBlocks, 30 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 27 ConstructedInterpolants, 6 QuantifiedInterpolants, 1985 SizeOfPredicates, 14 NumberOfNonLiveVariables, 161 ConjunctsInSsa, 19 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 176]: 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: 23]: Loop Invariant [2018-11-23 05:53:52,593 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,593 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,593 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,593 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,594 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,594 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,595 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 05:53:52,596 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,596 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,596 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,596 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_double_~y : C_DOUBLE :: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.mul~DOUBLE(~roundNearestTiesToEven, ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()), ULTIMATE.start_fmod_double_~y), ~fp.mul~DOUBLE(~roundNearestTiesToEven, ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()), ULTIMATE.start_fmod_double_~y)) == \result) - InvariantResult [Line: 27]: Loop Invariant [2018-11-23 05:53:52,596 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,597 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,597 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 05:53:52,597 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) == x - InvariantResult [Line: 163]: Loop Invariant Derived loop invariant: 1 * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 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 259.47 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 932.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 70.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.4 MB). Free memory was 932.6 MB in the beginning and 1.1 GB in the end (delta: -193.3 MB). Peak memory consumption was 20.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 32.49 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 7924.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 60.4 MB). Peak memory consumption was 60.4 MB. Max. memory is 11.5 GB. * CodeCheck took 154940.55 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 990.6 MB in the end (delta: 74.9 MB). Peak memory consumption was 74.9 MB. Max. memory is 11.5 GB. * Witness Printer took 47.18 ms. Allocated memory is still 1.2 GB. Free memory was 990.6 MB in the beginning and 983.8 MB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven RESULT: Ultimate proved your program to be correct! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forcibly destroying the process Received shutdown request...