./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1130a_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_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 18318d2897bde0142dc4632253da5d46def4ecbb ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 18318d2897bde0142dc4632253da5d46def4ecbb .................................................................................................................................................................................................................................................................................. 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 22:20:58,736 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:20:58,738 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:20:58,747 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:20:58,747 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:20:58,748 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:20:58,748 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:20:58,749 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:20:58,751 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:20:58,751 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:20:58,752 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:20:58,752 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:20:58,753 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:20:58,753 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:20:58,754 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:20:58,755 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:20:58,755 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:20:58,756 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:20:58,757 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:20:58,758 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:20:58,759 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:20:58,760 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:20:58,761 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:20:58,762 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:20:58,762 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:20:58,762 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:20:58,763 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:20:58,764 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:20:58,764 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:20:58,765 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:20:58,765 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:20:58,765 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:20:58,765 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:20:58,766 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:20:58,766 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:20:58,767 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:20:58,767 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-22 22:20:58,777 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:20:58,777 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:20:58,778 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:20:58,778 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 22:20:58,778 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:20:58,778 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:20:58,778 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:20:58,779 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:20:58,780 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 22:20:58,780 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:20:58,780 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 22:20:58,781 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:20:58,781 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:20:58,782 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_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 -> 18318d2897bde0142dc4632253da5d46def4ecbb [2018-11-22 22:20:58,806 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:20:58,815 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:20:58,818 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:20:58,819 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:20:58,819 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:20:58,820 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c [2018-11-22 22:20:58,867 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/de3a2a90a/f1a18932873040a18ff655900fce81be/FLAGa047e3af4 [2018-11-22 22:20:59,214 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:20:59,214 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c [2018-11-22 22:20:59,219 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/de3a2a90a/f1a18932873040a18ff655900fce81be/FLAGa047e3af4 [2018-11-22 22:20:59,630 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/de3a2a90a/f1a18932873040a18ff655900fce81be [2018-11-22 22:20:59,633 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:20:59,635 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:20:59,635 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:20:59,636 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:20:59,638 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:20:59,639 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,641 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@9c9a7ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59, skipping insertion in model container [2018-11-22 22:20:59,641 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,650 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:20:59,669 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:20:59,811 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:20:59,813 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:20:59,838 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:20:59,851 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:20:59,851 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59 WrapperNode [2018-11-22 22:20:59,851 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:20:59,852 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:20:59,852 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:20:59,852 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:20:59,896 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,905 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,927 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:20:59,927 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:20:59,927 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:20:59,927 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:20:59,933 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,934 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,936 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,936 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,944 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,950 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,951 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... [2018-11-22 22:20:59,954 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:20:59,954 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:20:59,954 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:20:59,954 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:20:59,955 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:20:59" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 22:20:59,992 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 22:20:59,992 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 22:20:59,992 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 22:20:59,992 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:20:59,992 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:20:59,992 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:20:59,993 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 22:20:59,993 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-22 22:20:59,993 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:21:00,302 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:21:00,303 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-22 22:21:00,303 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:00 BoogieIcfgContainer [2018-11-22 22:21:00,303 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:21:00,303 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 22:21:00,304 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 22:21:00,313 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 22:21:00,313 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:00" (1/1) ... [2018-11-22 22:21:00,323 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:21:00,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:00,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 40 states and 66 transitions. [2018-11-22 22:21:00,354 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 66 transitions. [2018-11-22 22:21:00,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-22 22:21:00,357 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:00,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:00,442 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 22:21:00,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:00,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 40 states and 61 transitions. [2018-11-22 22:21:00,450 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 61 transitions. [2018-11-22 22:21:00,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-22 22:21:00,450 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:00,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:21:00,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:21:00,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:21:00,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:21:00,563 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_#t~short17, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := 0.0;main_~y~0 := main_#t~nondet14;havoc main_#t~nondet14; VAL [ULTIMATE.start_main_~x~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0);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=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#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=0, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#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=0, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#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=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#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=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret15 := fmod_float_#res;main_~res~0 := main_#t~ret15;havoc main_#t~ret15;main_#t~short17 := ~someBinaryFLOATComparisonOperation(main_~res~0, 0.0); VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |ULTIMATE.start_main_#t~short17|=false, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !main_#t~short17; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |ULTIMATE.start_main_#t~short17|=false, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !main_#t~short17;havoc main_#t~short17;havoc main_#t~ret16; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=0.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=0.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=0.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [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_#t~short17, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := 0.0; [L127] main_~y~0 := main_#t~nondet14; [L127] havoc main_#t~nondet14; VAL [#NULL.base=0, #NULL.offset=0, main_~x~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0); [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=0.0, fmod_float_#in~y=8.0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret15 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret15; [L131] havoc main_#t~ret15; [L134] main_#t~short17 := ~someBinaryFLOATComparisonOperation(main_~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134] assume !main_#t~short17; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume !main_#t~short17; [L134] havoc main_#t~short17; [L134] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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_#t~short17, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := 0.0; [L127] main_~y~0 := main_#t~nondet14; [L127] havoc main_#t~nondet14; VAL [#NULL.base=0, #NULL.offset=0, main_~x~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0); [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=0.0, fmod_float_#in~y=8.0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret15 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret15; [L131] havoc main_#t~ret15; [L134] main_#t~short17 := ~someBinaryFLOATComparisonOperation(main_~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134] assume !main_#t~short17; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume !main_#t~short17; [L134] havoc main_#t~short17; [L134] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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_#t~short17, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := 0.0; [L127] main_~y~0 := main_#t~nondet14; [L127] havoc main_#t~nondet14; VAL [#NULL!base=0, #NULL!offset=0, main_~x~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129] COND TRUE ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) [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=0.0, fmod_float_#in~y=8.0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret15 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret15; [L131] havoc main_#t~ret15; [L134] main_#t~short17 := ~someBinaryFLOATComparisonOperation(main_~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND FALSE !(main_#t~short17) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE !main_#t~short17 [L134] havoc main_#t~short17; [L134] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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_#t~short17, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := 0.0; [L127] main_~y~0 := main_#t~nondet14; [L127] havoc main_#t~nondet14; VAL [#NULL!base=0, #NULL!offset=0, main_~x~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129] COND TRUE ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(main_~y~0, 0.0) [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=0.0, fmod_float_#in~y=8.0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret15 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret15; [L131] havoc main_#t~ret15; [L134] main_#t~short17 := ~someBinaryFLOATComparisonOperation(main_~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND FALSE !(main_#t~short17) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_#t~short17=false, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE !main_#t~short17 [L134] havoc main_#t~short17; [L134] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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=0.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=0.0, fmod_float_~y=8.0, main_~res~0=9.0, main_~x~0=0.0, main_~y~0=8.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 := 0.0; [L127] ~y~0 := #t~nondet14; [L127] havoc #t~nondet14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129] COND TRUE ~someBinaryFLOATComparisonOperation(~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(~y~0, 0.0) [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~ret15; [L131] havoc #t~ret15; [L134] #t~short17 := ~someBinaryFLOATComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND FALSE !(#t~short17) 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 !#t~short17 [L134] havoc #t~short17; [L134] 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] [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 := 0.0; [L127] ~y~0 := #t~nondet14; [L127] havoc #t~nondet14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129] COND TRUE ~someBinaryFLOATComparisonOperation(~y~0, 0.0) || ~someBinaryFLOATComparisonOperation(~y~0, 0.0) [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~ret15; [L131] havoc #t~ret15; [L134] #t~short17 := ~someBinaryFLOATComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND FALSE !(#t~short17) 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 !#t~short17 [L134] havoc #t~short17; [L134] 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] [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 = 0.0f; [L127] float y = __VERIFIER_nondet_float(); [L129] COND TRUE (y < 0.0f || y > 0.0f) [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] EXPR res == 0.0f && __signbit_float(res) == 0 VAL [one_fmod=1, Zero_fmod={2:0}] [L134] COND TRUE !(res == 0.0f && __signbit_float(res) == 0) [L135] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-22 22:21:00,609 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 10:21:00 ImpRootNode [2018-11-22 22:21:00,609 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 22:21:00,610 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:21:00,610 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:21:00,610 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:21:00,610 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:00" (3/4) ... [2018-11-22 22:21:00,613 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 22:21:00,614 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:21:00,614 INFO L168 Benchmark]: Toolchain (without parser) took 980.54 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 146.8 MB). Free memory was 952.7 MB in the beginning and 1.1 GB in the end (delta: -119.7 MB). Peak memory consumption was 27.1 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,616 INFO L168 Benchmark]: CDTParser took 0.15 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 22:21:00,616 INFO L168 Benchmark]: CACSL2BoogieTranslator took 216.09 ms. Allocated memory is still 1.0 GB. Free memory was 952.7 MB in the beginning and 939.3 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,617 INFO L168 Benchmark]: Boogie Procedure Inliner took 75.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 146.8 MB). Free memory was 939.3 MB in the beginning and 1.1 GB in the end (delta: -202.8 MB). Peak memory consumption was 16.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,617 INFO L168 Benchmark]: Boogie Preprocessor took 26.77 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,618 INFO L168 Benchmark]: RCFGBuilder took 349.11 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: 33.8 MB). Peak memory consumption was 33.8 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,618 INFO L168 Benchmark]: CodeCheck took 306.03 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: 26.2 MB). Peak memory consumption was 26.2 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,619 INFO L168 Benchmark]: Witness Printer took 4.00 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: 6.5 MB). Peak memory consumption was 6.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:00,622 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, 48 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, 77 GetRequests, 77 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, 22 NumberOfCodeBlocks, 22 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 9 ConstructedInterpolants, 0 QuantifiedInterpolants, 81 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 bitwiseXor at line 31, overapproximation of someBinaryArithmeticFLOAToperation at line 35. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L126] float x = 0.0f; [L127] float y = __VERIFIER_nondet_float(); [L129] COND TRUE (y < 0.0f || y > 0.0f) [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] EXPR res == 0.0f && __signbit_float(res) == 0 VAL [one_fmod=1, Zero_fmod={2:0}] [L134] COND TRUE !(res == 0.0f && __signbit_float(res) == 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.15 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 216.09 ms. Allocated memory is still 1.0 GB. Free memory was 952.7 MB in the beginning and 939.3 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 75.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 146.8 MB). Free memory was 939.3 MB in the beginning and 1.1 GB in the end (delta: -202.8 MB). Peak memory consumption was 16.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 26.77 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 349.11 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: 33.8 MB). Peak memory consumption was 33.8 MB. Max. memory is 11.5 GB. * CodeCheck took 306.03 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: 26.2 MB). Peak memory consumption was 26.2 MB. Max. memory is 11.5 GB. * Witness Printer took 4.00 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: 6.5 MB). Peak memory consumption was 6.5 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 22:21:02,042 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:21:02,043 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:21:02,052 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:21:02,053 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:21:02,053 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:21:02,054 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:21:02,056 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:21:02,057 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:21:02,057 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:21:02,058 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:21:02,059 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:21:02,059 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:21:02,060 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:21:02,061 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:21:02,061 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:21:02,062 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:21:02,064 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:21:02,065 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:21:02,067 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:21:02,068 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:21:02,068 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:21:02,070 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:21:02,071 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:21:02,071 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:21:02,071 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:21:02,073 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:21:02,073 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:21:02,074 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:21:02,074 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:21:02,075 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:21:02,075 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:21:02,075 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:21:02,075 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:21:02,076 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:21:02,077 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:21:02,077 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-22 22:21:02,089 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:21:02,089 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:21:02,089 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:21:02,090 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 22:21:02,090 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:21:02,090 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:21:02,090 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:21:02,091 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:21:02,091 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:21:02,091 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:21:02,091 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:21:02,091 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:21:02,092 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:21:02,093 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 22:21:02,093 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 22:21:02,093 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:21:02,093 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:21:02,093 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 22:21:02,093 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 22:21:02,094 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 22:21:02,095 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_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 -> 18318d2897bde0142dc4632253da5d46def4ecbb [2018-11-22 22:21:02,126 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:21:02,135 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:21:02,138 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:21:02,139 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:21:02,139 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:21:02,140 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c [2018-11-22 22:21:02,178 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/3d39bc683/3f9693ba616e47ab85f72b3933dbc7ea/FLAG55b643730 [2018-11-22 22:21:02,517 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:21:02,518 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/sv-benchmarks/c/float-newlib/float_req_bl_1130a_true-unreach-call.c [2018-11-22 22:21:02,523 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/3d39bc683/3f9693ba616e47ab85f72b3933dbc7ea/FLAG55b643730 [2018-11-22 22:21:02,941 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/data/3d39bc683/3f9693ba616e47ab85f72b3933dbc7ea [2018-11-22 22:21:02,945 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:21:02,946 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:21:02,946 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:21:02,947 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:21:02,950 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:21:02,951 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:21:02" (1/1) ... [2018-11-22 22:21:02,954 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@490fdb22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:02, skipping insertion in model container [2018-11-22 22:21:02,954 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:21:02" (1/1) ... [2018-11-22 22:21:02,962 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:21:02,981 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:21:03,129 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:21:03,134 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:21:03,162 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:21:03,180 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:21:03,180 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03 WrapperNode [2018-11-22 22:21:03,180 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:21:03,181 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:21:03,181 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:21:03,181 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:21:03,186 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,194 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,215 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:21:03,215 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:21:03,216 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:21:03,216 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:21:03,269 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,270 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,273 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,273 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,282 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,287 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,289 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... [2018-11-22 22:21:03,293 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:21:03,293 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:21:03,293 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:21:03,293 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:21:03,294 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:21:03" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/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 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:21:03,328 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 22:21:03,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:21:03,475 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:21:04,040 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:21:04,040 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-22 22:21:04,040 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:04 BoogieIcfgContainer [2018-11-22 22:21:04,041 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:21:04,041 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 22:21:04,041 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 22:21:04,048 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 22:21:04,048 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:04" (1/1) ... [2018-11-22 22:21:04,056 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:21:04,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:04,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 40 states and 66 transitions. [2018-11-22 22:21:04,082 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 66 transitions. [2018-11-22 22:21:04,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-22 22:21:04,083 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:04,120 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:04,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:04,143 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:04,152 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 22:21:04,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:04,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 40 states and 61 transitions. [2018-11-22 22:21:04,159 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 61 transitions. [2018-11-22 22:21:04,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-22 22:21:04,159 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:04,160 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:04,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:04,397 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:04,606 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 22:21:07,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:07,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 40 states and 60 transitions. [2018-11-22 22:21:07,297 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 60 transitions. [2018-11-22 22:21:07,297 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-22 22:21:07,298 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:07,299 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:07,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:07,316 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:07,404 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 22:21:12,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:12,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 42 states and 66 transitions. [2018-11-22 22:21:12,646 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 66 transitions. [2018-11-22 22:21:12,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-22 22:21:12,647 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:12,648 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:12,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:12,663 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:12,912 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 22:21:13,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:13,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 20 states and 22 transitions. [2018-11-22 22:21:13,430 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-22 22:21:13,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-22 22:21:13,431 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:13,432 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:13,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:13,444 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:13,444 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 22:21:13,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:13,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 20 transitions. [2018-11-22 22:21:13,447 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 20 transitions. [2018-11-22 22:21:13,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-22 22:21:13,447 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:21:13,448 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 22:21:13,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:21:13,471 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:21:13,618 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 22:21:14,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:21:14,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 18 transitions. [2018-11-22 22:21:14,007 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 18 transitions. [2018-11-22 22:21:14,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-22 22:21:14,008 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 7 iterations. [2018-11-22 22:21:14,016 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-22 22:21:14,106 INFO L579 CodeCheckObserver]: Invariant with dag size 8 [2018-11-22 22:21:14,112 INFO L579 CodeCheckObserver]: Invariant with dag size 3 [2018-11-22 22:21:14,112 INFO L579 CodeCheckObserver]: Invariant with dag size 7 [2018-11-22 22:21:14,113 INFO L579 CodeCheckObserver]: Invariant with dag size 3 [2018-11-22 22:21:14,113 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-22 22:21:14,113 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 10:21:14 ImpRootNode [2018-11-22 22:21:14,113 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 22:21:14,114 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:21:14,114 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:21:14,114 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:21:14,114 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:21:04" (3/4) ... [2018-11-22 22:21:14,117 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-22 22:21:14,122 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 8 nodes and edges [2018-11-22 22:21:14,123 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-22 22:21:14,151 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_c0854e93-e6cf-49b8-8154-f368bdb22abd/bin-2019/ukojak/witness.graphml [2018-11-22 22:21:14,151 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:21:14,152 INFO L168 Benchmark]: Toolchain (without parser) took 11206.79 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 202.9 MB). Free memory was 949.2 MB in the beginning and 1.2 GB in the end (delta: -220.3 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:21:14,153 INFO L168 Benchmark]: CDTParser took 0.16 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 22:21:14,153 INFO L168 Benchmark]: CACSL2BoogieTranslator took 233.81 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 933.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:14,153 INFO L168 Benchmark]: Boogie Procedure Inliner took 34.78 ms. Allocated memory is still 1.0 GB. Free memory was 933.1 MB in the beginning and 927.7 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:14,154 INFO L168 Benchmark]: Boogie Preprocessor took 77.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 149.9 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -210.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:14,154 INFO L168 Benchmark]: RCFGBuilder took 747.51 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: 43.3 MB). Peak memory consumption was 43.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:14,154 INFO L168 Benchmark]: CodeCheck took 10072.52 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 53.0 MB). Free memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: -82.0 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:21:14,155 INFO L168 Benchmark]: Witness Printer took 37.47 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 7.4 MB). Peak memory consumption was 7.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:21:14,157 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, 48 locations, 1 error locations. SAFE Result, 9.9s OverallTime, 7 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 940 SDtfs, 294 SDslu, 260 SDs, 0 SdLazy, 1388 SolverSat, 474 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 29.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 658 GetRequests, 609 SyntacticMatches, 1 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 663 ImplicationChecksByTransitivity, 2.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.7s InterpolantComputationTime, 80 NumberOfCodeBlocks, 80 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 74 ConstructedInterpolants, 4 QuantifiedInterpolants, 4704 SizeOfPredicates, 33 NumberOfNonLiveVariables, 282 ConjunctsInSsa, 43 ConjunctsInUnsatCore, 6 InterpolantComputations, 6 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 Derived loop invariant: (~fp.lt~FLOAT(y, ~Pluszero~LONGDOUBLE()) || ~fp.gt~FLOAT(y, ~Pluszero~LONGDOUBLE())) && ~Pluszero~LONGDOUBLE() == x - InvariantResult [Line: 17]: Loop Invariant Derived loop invariant: ~Pluszero~LONGDOUBLE() == \result - InvariantResult [Line: 110]: Loop Invariant Derived loop invariant: ~fp~LONGDOUBLE(w[31:31], w[30:23], w[22:0]) == ~Pluszero~LONGDOUBLE() - InvariantResult [Line: 110]: Loop Invariant Derived loop invariant: x == ~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.16 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.81 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 933.1 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 34.78 ms. Allocated memory is still 1.0 GB. Free memory was 933.1 MB in the beginning and 927.7 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 77.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 149.9 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -210.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * RCFGBuilder took 747.51 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: 43.3 MB). Peak memory consumption was 43.3 MB. Max. memory is 11.5 GB. * CodeCheck took 10072.52 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 53.0 MB). Free memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: -82.0 MB). There was no memory consumed. Max. memory is 11.5 GB. * Witness Printer took 37.47 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 7.4 MB). Peak memory consumption was 7.4 MB. Max. memory is 11.5 GB. RESULT: Ultimate proved your program to be correct! Received shutdown request...