./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1131a_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_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/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 7996fde94937d363db08c14aa2955aadfd79e5c8 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/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 7996fde94937d363db08c14aa2955aadfd79e5c8 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-22 21:28:20,340 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 21:28:20,341 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 21:28:20,349 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 21:28:20,349 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 21:28:20,350 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 21:28:20,351 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 21:28:20,352 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 21:28:20,353 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 21:28:20,353 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 21:28:20,354 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 21:28:20,354 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 21:28:20,355 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 21:28:20,355 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 21:28:20,356 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 21:28:20,357 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 21:28:20,357 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 21:28:20,358 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 21:28:20,360 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 21:28:20,361 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 21:28:20,362 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 21:28:20,362 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 21:28:20,364 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 21:28:20,364 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 21:28:20,364 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 21:28:20,365 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 21:28:20,365 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 21:28:20,366 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 21:28:20,366 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 21:28:20,367 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 21:28:20,367 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 21:28:20,368 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 21:28:20,368 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 21:28:20,368 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 21:28:20,369 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 21:28:20,369 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 21:28:20,369 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-22 21:28:20,379 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 21:28:20,379 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 21:28:20,380 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 21:28:20,380 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 21:28:20,380 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 21:28:20,381 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 21:28:20,381 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 21:28:20,381 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 21:28:20,381 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 21:28:20,381 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 21:28:20,381 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 21:28:20,382 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 21:28:20,382 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 21:28:20,383 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 21:28:20,383 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 21:28:20,383 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 21:28:20,383 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 21:28:20,383 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 21:28:20,383 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 21:28:20,384 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 21:28:20,384 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-22 21:28:20,384 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 21:28:20,384 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 21:28:20,384 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_6b72a67f-39ed-4b07-9196-4084277ac920/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 -> 7996fde94937d363db08c14aa2955aadfd79e5c8 [2018-11-22 21:28:20,403 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 21:28:20,411 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 21:28:20,413 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 21:28:20,413 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 21:28:20,414 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 21:28:20,414 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c [2018-11-22 21:28:20,448 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/b5457a384/d0eed44390a7478b9d1a09d8e8a95d0b/FLAGb4e6b8cb1 [2018-11-22 21:28:20,849 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 21:28:20,850 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c [2018-11-22 21:28:20,856 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/b5457a384/d0eed44390a7478b9d1a09d8e8a95d0b/FLAGb4e6b8cb1 [2018-11-22 21:28:20,864 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/b5457a384/d0eed44390a7478b9d1a09d8e8a95d0b [2018-11-22 21:28:20,867 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 21:28:20,867 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 21:28:20,868 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 21:28:20,868 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 21:28:20,870 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 21:28:20,870 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:28:20" (1/1) ... [2018-11-22 21:28:20,872 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@58a31ddc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:20, skipping insertion in model container [2018-11-22 21:28:20,872 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:28:20" (1/1) ... [2018-11-22 21:28:20,878 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 21:28:20,894 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 21:28:21,023 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:28:21,026 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 21:28:21,051 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:28:21,102 INFO L195 MainTranslator]: Completed translation [2018-11-22 21:28:21,102 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21 WrapperNode [2018-11-22 21:28:21,102 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 21:28:21,102 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 21:28:21,103 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 21:28:21,103 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 21:28:21,110 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,119 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,141 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 21:28:21,141 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 21:28:21,141 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 21:28:21,141 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 21:28:21,149 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,149 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,152 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,153 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,160 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,166 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,167 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,169 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 21:28:21,170 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 21:28:21,170 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 21:28:21,170 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 21:28:21,171 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:21" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/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-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 21:28:21,208 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-22 21:28:21,208 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 21:28:21,600 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 21:28:21,600 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-22 21:28:21,601 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:21 BoogieIcfgContainer [2018-11-22 21:28:21,601 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 21:28:21,601 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 21:28:21,601 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 21:28:21,608 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 21:28:21,608 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:21" (1/1) ... [2018-11-22 21:28:21,616 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:28:21,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:21,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 39 states and 64 transitions. [2018-11-22 21:28:21,639 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 64 transitions. [2018-11-22 21:28:21,641 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-22 21:28:21,641 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:21,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:28:21,708 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-22 21:28:21,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:21,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 39 states and 57 transitions. [2018-11-22 21:28:21,718 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 57 transitions. [2018-11-22 21:28:21,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-22 21:28:21,718 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:21,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:28:21,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:28:21,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:28:21,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:28:21,866 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(8);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4);havoc main_#res;havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0);isfinite_float_#in~x := main_~x~0;havoc isfinite_float_#res;havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1;isfinite_float_~x := isfinite_float_#in~x;havoc isfinite_float_~ix~1; VAL [ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4);call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296);call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);havoc isfinite_float_#t~union13;havoc isfinite_float_#t~mem12;call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset);havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647);isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0);main_#t~ret15 := isfinite_float_#res;assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |ULTIMATE.start_main_#t~ret15|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 != main_#t~ret15;havoc main_#t~ret15;fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0;havoc fmod_float_#res;havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0;fmod_float_~x := fmod_float_#in~x;fmod_float_~y := fmod_float_#in~y;havoc fmod_float_~n~0;havoc fmod_float_~hx~0;havoc fmod_float_~hy~0;havoc fmod_float_~hz~0;havoc fmod_float_~ix~0;havoc fmod_float_~iy~0;havoc fmod_float_~sx~0;havoc fmod_float_~i~0; VAL [ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4);call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);havoc fmod_float_#t~union1;havoc fmod_float_#t~mem0;call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset);havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4);call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);havoc fmod_float_#t~union3;havoc fmod_float_#t~mem2;call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset);havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0);fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040;fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret16 := fmod_float_#res;main_~res~0 := main_#t~ret16;havoc main_#t~ret16; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#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]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L111] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4); [L112] call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset); [L111] havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume 0 != main_#t~ret15; [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.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]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L111] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4); [L112] call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset); [L111] havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume 0 != main_#t~ret15; [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call isfinite_float_~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(isfinite_float_~x, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] FCALL call isfinite_float_#t~mem12 := read~int({ base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(isfinite_float_#t~union13, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] FCALL call ULTIMATE.dealloc(isfinite_float_~#gf_u~2); [L111] havoc isfinite_float_~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != main_#t~ret15 [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.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; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call isfinite_float_~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(isfinite_float_~x, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] FCALL call isfinite_float_#t~mem12 := read~int({ base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(isfinite_float_#t~union13, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] FCALL call ULTIMATE.dealloc(isfinite_float_~#gf_u~2); [L111] havoc isfinite_float_~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != main_#t~ret15 [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L126] ~x~0 := #t~nondet14; [L126] havoc #t~nondet14; [L127] ~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L108-L117] ~x := #in~x; [L109] havoc ~ix~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call ~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(~x, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] FCALL call #t~mem12 := read~int({ base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] ~ix~1 := (if #t~mem12 % 4294967296 % 4294967296 <= 2147483647 then #t~mem12 % 4294967296 % 4294967296 else #t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(#t~union13, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] havoc #t~union13; [L113] havoc #t~mem12; [L111] FCALL call ULTIMATE.dealloc(~#gf_u~2); [L111] havoc ~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] ~ix~1 := ~bitwiseAnd(~ix~1, 2147483647); [L116] #res := (if ~ix~1 < 2139095040 then 1 else 0); [L129] assume -2147483648 <= #t~ret15 && #t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != #t~ret15 [L129] havoc #t~ret15; [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~union1; [L23] havoc #t~mem0; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~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); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~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] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] ~res~0 := #t~ret16; [L131] havoc #t~ret16; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] 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; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L126] ~x~0 := #t~nondet14; [L126] havoc #t~nondet14; [L127] ~y~0 := ~someBinaryArithmeticFLOAToperation(1.0, 0.0); [L108-L117] ~x := #in~x; [L109] havoc ~ix~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call ~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(~x, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] FCALL call #t~mem12 := read~int({ base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] ~ix~1 := (if #t~mem12 % 4294967296 % 4294967296 <= 2147483647 then #t~mem12 % 4294967296 % 4294967296 else #t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(#t~union13, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] havoc #t~union13; [L113] havoc #t~mem12; [L111] FCALL call ULTIMATE.dealloc(~#gf_u~2); [L111] havoc ~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] ~ix~1 := ~bitwiseAnd(~ix~1, 2147483647); [L116] #res := (if ~ix~1 < 2139095040 then 1 else 0); [L129] assume -2147483648 <= #t~ret15 && #t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != #t~ret15 [L129] havoc #t~ret15; [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~union1; [L23] havoc #t~mem0; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~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); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~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] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] ~res~0 := #t~ret16; [L131] havoc #t~ret16; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L126] float x = __VERIFIER_nondet_float(); [L127] float y = 1.0f / 0.0f; [L109] __int32_t ix; VAL [one_fmod=1, Zero_fmod={2:0}] [L111] ieee_float_shape_type gf_u; [L112] gf_u.value = (x) [L113] EXPR gf_u.word [L113] (ix) = gf_u.word [L115] ix &= 0x7fffffff [L116] return (((ix) < 0x7f800000L)); [L129] COND TRUE isfinite_float(x) [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L131] float res = fmod_float(x, y); [L134] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L135] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-22 21:28:21,917 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 09:28:21 ImpRootNode [2018-11-22 21:28:21,917 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 21:28:21,918 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 21:28:21,918 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 21:28:21,918 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 21:28:21,918 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:21" (3/4) ... [2018-11-22 21:28:21,921 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 21:28:21,921 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 21:28:21,922 INFO L168 Benchmark]: Toolchain (without parser) took 1055.11 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.7 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -88.8 MB). Peak memory consumption was 44.9 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,923 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 21:28:21,924 INFO L168 Benchmark]: CACSL2BoogieTranslator took 234.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.7 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -169.1 MB). Peak memory consumption was 28.1 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,924 INFO L168 Benchmark]: Boogie Procedure Inliner took 38.43 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-22 21:28:21,925 INFO L168 Benchmark]: Boogie Preprocessor took 28.47 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: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,925 INFO L168 Benchmark]: RCFGBuilder took 430.97 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: 45.1 MB). Peak memory consumption was 45.1 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,926 INFO L168 Benchmark]: CodeCheck took 316.26 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: 28.4 MB). Peak memory consumption was 28.4 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,926 INFO L168 Benchmark]: Witness Printer took 3.89 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: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:21,929 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, 47 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 22 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 82 GetRequests, 82 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, 25 NumberOfCodeBlocks, 25 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 10 ConstructedInterpolants, 0 QuantifiedInterpolants, 100 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: 135]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 134, overapproximation of someUnaryDOUBLEoperation at line 14, overapproximation of bitwiseAnd at line 30, overapproximation of someBinaryArithmeticFLOAToperation at line 35, overapproximation of bitwiseXor at line 31. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L126] float x = __VERIFIER_nondet_float(); [L127] float y = 1.0f / 0.0f; [L109] __int32_t ix; VAL [one_fmod=1, Zero_fmod={2:0}] [L111] ieee_float_shape_type gf_u; [L112] gf_u.value = (x) [L113] EXPR gf_u.word [L113] (ix) = gf_u.word [L115] ix &= 0x7fffffff [L116] return (((ix) < 0x7f800000L)); [L129] COND TRUE isfinite_float(x) [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L131] float res = fmod_float(x, y); [L134] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L135] __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.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 234.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.7 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -169.1 MB). Peak memory consumption was 28.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 38.43 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. * Boogie Preprocessor took 28.47 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: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 430.97 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: 45.1 MB). Peak memory consumption was 45.1 MB. Max. memory is 11.5 GB. * CodeCheck took 316.26 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: 28.4 MB). Peak memory consumption was 28.4 MB. Max. memory is 11.5 GB. * Witness Printer took 3.89 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: 3.4 MB). Peak memory consumption was 3.4 MB. 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-22 21:28:23,352 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 21:28:23,352 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 21:28:23,360 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 21:28:23,360 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 21:28:23,361 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 21:28:23,361 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 21:28:23,363 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 21:28:23,364 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 21:28:23,364 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 21:28:23,365 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 21:28:23,365 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 21:28:23,365 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 21:28:23,366 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 21:28:23,367 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 21:28:23,367 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 21:28:23,368 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 21:28:23,369 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 21:28:23,370 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 21:28:23,371 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 21:28:23,372 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 21:28:23,373 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 21:28:23,375 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 21:28:23,375 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 21:28:23,375 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 21:28:23,376 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 21:28:23,376 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 21:28:23,377 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 21:28:23,377 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 21:28:23,378 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 21:28:23,378 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 21:28:23,379 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 21:28:23,379 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 21:28:23,379 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 21:28:23,380 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 21:28:23,380 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 21:28:23,380 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-22 21:28:23,391 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 21:28:23,391 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 21:28:23,392 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 21:28:23,392 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 21:28:23,392 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 21:28:23,392 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 21:28:23,392 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 21:28:23,393 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 21:28:23,394 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 21:28:23,394 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 21:28:23,394 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 21:28:23,394 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 21:28:23,394 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 21:28:23,394 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 21:28:23,394 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 21:28:23,395 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 21:28:23,395 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 21:28:23,396 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 21:28:23,396 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_6b72a67f-39ed-4b07-9196-4084277ac920/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 -> 7996fde94937d363db08c14aa2955aadfd79e5c8 [2018-11-22 21:28:23,422 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 21:28:23,430 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 21:28:23,432 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 21:28:23,433 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 21:28:23,433 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 21:28:23,433 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c [2018-11-22 21:28:23,468 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/14132ec5b/2da348aea0a547cabe8822fe6bac19ef/FLAG2dd90439d [2018-11-22 21:28:23,868 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 21:28:23,869 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/sv-benchmarks/c/float-newlib/float_req_bl_1131a_true-unreach-call.c [2018-11-22 21:28:23,874 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/14132ec5b/2da348aea0a547cabe8822fe6bac19ef/FLAG2dd90439d [2018-11-22 21:28:23,882 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/data/14132ec5b/2da348aea0a547cabe8822fe6bac19ef [2018-11-22 21:28:23,884 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 21:28:23,885 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 21:28:23,885 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 21:28:23,886 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 21:28:23,888 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 21:28:23,889 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:28:23" (1/1) ... [2018-11-22 21:28:23,891 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e81ae50 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:23, skipping insertion in model container [2018-11-22 21:28:23,891 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:28:23" (1/1) ... [2018-11-22 21:28:23,899 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 21:28:23,919 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 21:28:24,072 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:28:24,076 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 21:28:24,104 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:28:24,118 INFO L195 MainTranslator]: Completed translation [2018-11-22 21:28:24,118 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24 WrapperNode [2018-11-22 21:28:24,118 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 21:28:24,119 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 21:28:24,119 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 21:28:24,119 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 21:28:24,124 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,131 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,192 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 21:28:24,192 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 21:28:24,192 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 21:28:24,192 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 21:28:24,199 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,199 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,202 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,202 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,209 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,214 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,216 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,219 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 21:28:24,219 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 21:28:24,219 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 21:28:24,219 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 21:28:24,220 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:28:24" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/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-22 21:28:24,259 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-22 21:28:24,259 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-22 21:28:24,259 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 21:28:24,260 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 21:28:24,260 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 21:28:24,260 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 21:28:24,260 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-22 21:28:24,260 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 21:28:24,260 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 21:28:24,390 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:28:24,422 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:28:24,441 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:28:24,924 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 21:28:24,924 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-22 21:28:24,925 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:24 BoogieIcfgContainer [2018-11-22 21:28:24,925 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 21:28:24,925 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 21:28:24,925 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 21:28:24,931 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 21:28:24,931 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:24" (1/1) ... [2018-11-22 21:28:24,938 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:28:24,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:24,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 39 states and 64 transitions. [2018-11-22 21:28:24,958 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 64 transitions. [2018-11-22 21:28:24,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-22 21:28:24,960 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:24,998 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 21:28:25,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:28:25,022 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:28:25,030 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-22 21:28:25,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:25,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 39 states and 57 transitions. [2018-11-22 21:28:25,039 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 57 transitions. [2018-11-22 21:28:25,039 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-22 21:28:25,040 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:25,041 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 21:28:25,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:28:25,179 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:28:25,455 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-22 21:28:26,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:26,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 39 states and 56 transitions. [2018-11-22 21:28:26,796 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 56 transitions. [2018-11-22 21:28:26,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-22 21:28:26,797 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:26,797 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 21:28:26,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:28:26,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:28:27,317 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-22 21:28:32,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:32,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 41 states and 62 transitions. [2018-11-22 21:28:32,779 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 62 transitions. [2018-11-22 21:28:32,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-22 21:28:32,779 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 21:28:32,780 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 21:28:32,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:28:32,794 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:28:33,226 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-22 21:28:34,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 21:28:34,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 17 transitions. [2018-11-22 21:28:34,098 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 17 transitions. [2018-11-22 21:28:34,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-22 21:28:34,098 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 5 iterations. [2018-11-22 21:28:34,104 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-22 21:28:34,340 INFO L579 CodeCheckObserver]: Invariant with dag size 23 [2018-11-22 21:28:34,342 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,343 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,343 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,343 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,346 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,346 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,349 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,349 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,350 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,350 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,350 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,350 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,351 INFO L579 CodeCheckObserver]: Invariant with dag size 17 [2018-11-22 21:28:34,351 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,351 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,352 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,352 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,352 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,353 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,353 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,353 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,353 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,353 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,354 INFO L579 CodeCheckObserver]: Invariant with dag size 15 [2018-11-22 21:28:34,354 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,354 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,354 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,354 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,355 INFO L579 CodeCheckObserver]: Invariant with dag size 11 [2018-11-22 21:28:34,355 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,355 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,355 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,355 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,356 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-22 21:28:34,356 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 09:28:34 ImpRootNode [2018-11-22 21:28:34,356 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 21:28:34,356 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 21:28:34,356 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 21:28:34,357 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 21:28:34,357 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:28:24" (3/4) ... [2018-11-22 21:28:34,360 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-22 21:28:34,367 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 10 nodes and edges [2018-11-22 21:28:34,367 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 6 nodes and edges [2018-11-22 21:28:34,384 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (x == x && (\exists v_prenex_5 : bv32 :: ~bvslt32(~bvand32(2147483647bv32, v_prenex_5), 2139095040bv32) && x == ~fp~LONGDOUBLE(v_prenex_5[31:31], v_prenex_5[30:23], v_prenex_5[22:0]))) && y == ~fp.div~FLOAT(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) [2018-11-22 21:28:34,396 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_6b72a67f-39ed-4b07-9196-4084277ac920/bin-2019/ukojak/witness.graphml [2018-11-22 21:28:34,396 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 21:28:34,397 INFO L168 Benchmark]: Toolchain (without parser) took 10512.19 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 204.5 MB). Free memory was 950.8 MB in the beginning and 1.0 GB in the end (delta: -65.8 MB). Peak memory consumption was 138.7 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,398 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-22 21:28:34,398 INFO L168 Benchmark]: CACSL2BoogieTranslator took 233.12 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,398 INFO L168 Benchmark]: Boogie Procedure Inliner took 72.82 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.8 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -198.8 MB). Peak memory consumption was 15.3 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,399 INFO L168 Benchmark]: Boogie Preprocessor took 26.77 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-22 21:28:34,399 INFO L168 Benchmark]: RCFGBuilder took 705.74 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: 51.7 MB). Peak memory consumption was 51.7 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,399 INFO L168 Benchmark]: CodeCheck took 9431.23 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.7 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 57.7 MB). Peak memory consumption was 116.4 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,400 INFO L168 Benchmark]: Witness Printer took 39.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 7.5 MB). Peak memory consumption was 7.5 MB. Max. memory is 11.5 GB. [2018-11-22 21:28:34,402 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, 47 locations, 1 error locations. SAFE Result, 9.1s OverallTime, 5 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 232 SDtfs, 86 SDslu, 80 SDs, 0 SdLazy, 470 SolverSat, 132 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 7.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 474 GetRequests, 417 SyntacticMatches, 3 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 5.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 1.2s InterpolantComputationTime, 56 NumberOfCodeBlocks, 56 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 52 ConstructedInterpolants, 11 QuantifiedInterpolants, 8426 SizeOfPredicates, 26 NumberOfNonLiveVariables, 206 ConjunctsInSsa, 36 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 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: 135]: 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: 20]: Loop Invariant [2018-11-22 21:28:34,403 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,403 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,404 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,404 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,404 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,404 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,404 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,405 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,405 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,405 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-22 21:28:34,405 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,405 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: (x == x && (\exists v_prenex_5 : bv32 :: ~bvslt32(~bvand32(2147483647bv32, v_prenex_5), 2139095040bv32) && x == ~fp~LONGDOUBLE(v_prenex_5[31:31], v_prenex_5[30:23], v_prenex_5[22:0]))) && y == ~fp.div~FLOAT(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) - InvariantResult [Line: 17]: Loop Invariant [2018-11-22 21:28:34,408 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,408 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,408 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,408 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,408 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-22 21:28:34,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] Derived loop invariant: x == \result && (\exists v_ULTIMATE.start_fmod_float_~hx~0_44 : bv32 :: \result == ~fp~LONGDOUBLE(v_ULTIMATE.start_fmod_float_~hx~0_44[31:31], v_ULTIMATE.start_fmod_float_~hx~0_44[30:23], v_ULTIMATE.start_fmod_float_~hx~0_44[22:0]) && ~bvslt32(~bvxor32(v_ULTIMATE.start_fmod_float_~hx~0_44, ~bvand32(2147483648bv32, v_ULTIMATE.start_fmod_float_~hx~0_44)), 2139095040bv32)) - InvariantResult [Line: 110]: Loop Invariant [2018-11-22 21:28:34,410 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,410 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,410 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,410 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: ~fp~LONGDOUBLE(ix[31:31], ix[30:23], ix[22:0]) == x && y == ~fp.div~FLOAT(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) - InvariantResult [Line: 110]: Loop Invariant [2018-11-22 21:28:34,411 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,411 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,411 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 21:28:34,411 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: x == x && y == ~fp.div~FLOAT(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) - InvariantResult [Line: 119]: 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 233.12 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 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 72.82 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.8 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -198.8 MB). Peak memory consumption was 15.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 26.77 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 705.74 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: 51.7 MB). Peak memory consumption was 51.7 MB. Max. memory is 11.5 GB. * CodeCheck took 9431.23 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.7 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 57.7 MB). Peak memory consumption was 116.4 MB. Max. memory is 11.5 GB. * Witness Printer took 39.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 7.5 MB). Peak memory consumption was 7.5 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,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 Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,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 Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,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[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,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 Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,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 Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,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 RESULT: Ultimate proved your program to be correct! Received shutdown request...