./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_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_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/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 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 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_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/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 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb ........................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 12:22:56,666 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:22:56,667 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:22:56,676 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:22:56,676 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:22:56,677 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:22:56,678 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:22:56,679 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:22:56,680 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:22:56,681 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:22:56,681 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:22:56,681 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:22:56,682 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:22:56,683 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:22:56,683 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:22:56,684 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:22:56,685 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:22:56,686 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:22:56,687 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:22:56,688 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:22:56,689 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:22:56,690 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:22:56,691 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:22:56,691 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:22:56,692 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:22:56,692 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:22:56,693 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:22:56,693 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:22:56,694 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:22:56,695 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:22:56,695 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:22:56,695 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:22:56,696 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:22:56,696 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:22:56,696 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:22:56,697 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:22:56,697 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 12:22:56,707 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:22:56,707 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:22:56,708 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:22:56,708 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 12:22:56,709 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:22:56,709 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:22:56,709 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:22:56,709 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:22:56,709 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:22:56,710 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:22:56,711 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:22:56,711 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:22:56,711 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 12:22:56,711 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 12:22:56,711 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:22:56,711 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:22:56,711 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:22:56,712 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:22:56,712 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:22:56,712 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:22:56,712 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 12:22:56,712 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:22:56,712 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:22:56,712 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_9d380c06-e90c-4eba-a307-da478a60f4f7/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 -> 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb [2018-11-23 12:22:56,732 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:22:56,739 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:22:56,741 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:22:56,742 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:22:56,742 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:22:56,742 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 12:22:56,780 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/c41ed411b/9b8bd273b66d4af89a648fc22c298860/FLAGb6b0bb6d3 [2018-11-23 12:22:57,105 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:22:57,106 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 12:22:57,112 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/c41ed411b/9b8bd273b66d4af89a648fc22c298860/FLAGb6b0bb6d3 [2018-11-23 12:22:57,123 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/c41ed411b/9b8bd273b66d4af89a648fc22c298860 [2018-11-23 12:22:57,125 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:22:57,126 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:22:57,126 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:57,126 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:22:57,129 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:22:57,129 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,132 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@339f9895 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57, skipping insertion in model container [2018-11-23 12:22:57,132 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,140 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:22:57,156 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:22:57,282 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:57,285 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:22:57,306 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:57,355 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:22:57,355 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57 WrapperNode [2018-11-23 12:22:57,355 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:57,356 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:57,356 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:22:57,356 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:22:57,364 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,373 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,390 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:57,390 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:22:57,390 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:22:57,390 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:22:57,396 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,396 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,398 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,398 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,403 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,407 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,408 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,409 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:22:57,410 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:22:57,410 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:22:57,410 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:22:57,410 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:57" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:22:57,444 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:22:57,444 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 12:22:57,444 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 12:22:57,445 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:22:57,445 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:22:57,445 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:22:57,445 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:22:57,445 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 12:22:57,445 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:22:57,775 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:22:57,776 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 12:22:57,776 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:57 BoogieIcfgContainer [2018-11-23 12:22:57,776 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:22:57,777 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 12:22:57,777 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 12:22:57,784 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 12:22:57,784 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:57" (1/1) ... [2018-11-23 12:22:57,793 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:57,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:22:57,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 34 states and 56 transitions. [2018-11-23 12:22:57,817 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 56 transitions. [2018-11-23 12:22:57,819 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 12:22:57,819 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:22:57,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:57,888 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:57,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:22:57,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 34 states and 51 transitions. [2018-11-23 12:22:57,896 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 51 transitions. [2018-11-23 12:22:57,896 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 12:22:57,897 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:22:57,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:22:57,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:22:57,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:22:58,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:22:58,027 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~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0;main_~x~0 := main_#t~nondet12;havoc main_#t~nondet12;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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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~mem0;havoc fmod_float_#t~union1;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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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~mem2;havoc fmod_float_#t~union3;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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret13 := fmod_float_#res;main_~res~0 := main_#t~ret13;havoc main_#t~ret13;isnan_float_#in~x := main_~res~0;havoc isnan_float_#res;havoc isnan_float_~x;isnan_float_~x := isnan_float_#in~x;isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0);main_#t~ret14 := isnan_float_#res;assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; 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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_isnan_float_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.0, |ULTIMATE.start_fmod_float_#res|=8.0, |ULTIMATE.start_isnan_float_#in~x|=8.0, |ULTIMATE.start_isnan_float_#res|=0, |ULTIMATE.start_main_#t~ret14|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 == main_#t~ret14;havoc main_#t~ret14; 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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_isnan_float_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.0, |ULTIMATE.start_fmod_float_#res|=8.0, |ULTIMATE.start_isnan_float_#in~x|=8.0, |ULTIMATE.start_isnan_float_#res|=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=2.0, ULTIMATE.start_fmod_float_~y=0.0, ULTIMATE.start_isnan_float_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=0.0, |ULTIMATE.start_fmod_float_#res|=8.0, |ULTIMATE.start_isnan_float_#in~x|=8.0, |ULTIMATE.start_isnan_float_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [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~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := 0.0; [L119] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L119] havoc fmod_float_#res; [L119] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem0; [L23] havoc fmod_float_#t~union1; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem2; [L28] havoc fmod_float_#t~union3; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L119] main_#t~ret13 := fmod_float_#res; [L119] main_~res~0 := main_#t~ret13; [L119] havoc main_#t~ret13; [L122] isnan_float_#in~x := main_~res~0; [L122] havoc isnan_float_#res; [L122] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L122] main_#t~ret14 := isnan_float_#res; [L122] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_#t~ret14=0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L122-L125] assume 0 == main_#t~ret14; [L122] havoc main_#t~ret14; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L123] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.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~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := 0.0; [L119] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L119] havoc fmod_float_#res; [L119] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem0; [L23] havoc fmod_float_#t~union1; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem2; [L28] havoc fmod_float_#t~union3; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L119] main_#t~ret13 := fmod_float_#res; [L119] main_~res~0 := main_#t~ret13; [L119] havoc main_#t~ret13; [L122] isnan_float_#in~x := main_~res~0; [L122] havoc isnan_float_#res; [L122] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L122] main_#t~ret14 := isnan_float_#res; [L122] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_#t~ret14=0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L122-L125] assume 0 == main_#t~ret14; [L122] havoc main_#t~ret14; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L123] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.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~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := 0.0; [L119] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L119] havoc fmod_float_#res; [L119] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem0; [L23] havoc fmod_float_#t~union1; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem2; [L28] havoc fmod_float_#t~union3; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L119] main_#t~ret13 := fmod_float_#res; [L119] main_~res~0 := main_#t~ret13; [L119] havoc main_#t~ret13; [L122] isnan_float_#in~x := main_~res~0; [L122] havoc isnan_float_#res; [L122] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L122] main_#t~ret14 := isnan_float_#res; [L122] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_#t~ret14=0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] COND TRUE 0 == main_#t~ret14 [L122] havoc main_#t~ret14; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.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~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := 0.0; [L119] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L119] havoc fmod_float_#res; [L119] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem0; [L23] havoc fmod_float_#t~union1; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.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~mem2; [L28] havoc fmod_float_#t~union3; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L119] main_#t~ret13 := fmod_float_#res; [L119] main_~res~0 := main_#t~ret13; [L119] havoc main_#t~ret13; [L122] isnan_float_#in~x := main_~res~0; [L122] havoc isnan_float_#res; [L122] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L122] main_#t~ret14 := isnan_float_#res; [L122] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_#t~ret14=0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] COND TRUE 0 == main_#t~ret14 [L122] havoc main_#t~ret14; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=0.0, fmod_float_#res=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=0.0, isnan_float_#in~x=8.0, isnan_float_#res=0, isnan_float_~x=8.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=0.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); [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~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~mem0; [L23] havoc #t~union1; [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~mem2; [L28] havoc #t~union3; [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] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L123] 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); [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~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~mem0; [L23] havoc #t~union1; [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~mem2; [L28] havoc #t~union3; [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] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L123] 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, }; [L116] float x = __VERIFIER_nondet_float(); [L117] float 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}] [L119] float res = fmod_float(x, y); [L108] return x != x; [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 12:22:58,089 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 12:22:58 ImpRootNode [2018-11-23 12:22:58,089 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 12:22:58,090 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:22:58,090 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:22:58,090 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:22:58,090 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:57" (3/4) ... [2018-11-23 12:22:58,094 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 12:22:58,094 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:22:58,094 INFO L168 Benchmark]: Toolchain (without parser) took 969.20 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 128.5 MB). Free memory was 958.5 MB in the beginning and 1.1 GB in the end (delta: -102.9 MB). Peak memory consumption was 25.6 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,096 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:22:58,096 INFO L168 Benchmark]: CACSL2BoogieTranslator took 229.54 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 128.5 MB). Free memory was 958.5 MB in the beginning and 1.1 GB in the end (delta: -167.7 MB). Peak memory consumption was 28.2 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,097 INFO L168 Benchmark]: Boogie Procedure Inliner took 33.50 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,097 INFO L168 Benchmark]: Boogie Preprocessor took 19.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,098 INFO L168 Benchmark]: RCFGBuilder took 366.54 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: 32.1 MB). Peak memory consumption was 32.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,098 INFO L168 Benchmark]: CodeCheck took 312.80 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: 25.8 MB). Peak memory consumption was 25.8 MB. Max. memory is 11.5 GB. [2018-11-23 12:22:58,102 INFO L168 Benchmark]: Witness Printer took 4.17 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:22:58,106 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, 42 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 17 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 61 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 18 NumberOfCodeBlocks, 18 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 7 ConstructedInterpolants, 0 QuantifiedInterpolants, 49 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 123]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 108, 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, }; [L116] float x = __VERIFIER_nondet_float(); [L117] float 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}] [L119] float res = fmod_float(x, y); [L108] return x != x; [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 229.54 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 128.5 MB). Free memory was 958.5 MB in the beginning and 1.1 GB in the end (delta: -167.7 MB). Peak memory consumption was 28.2 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 33.50 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 366.54 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: 32.1 MB). Peak memory consumption was 32.1 MB. Max. memory is 11.5 GB. * CodeCheck took 312.80 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: 25.8 MB). Peak memory consumption was 25.8 MB. Max. memory is 11.5 GB. * Witness Printer took 4.17 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 12:22:59,579 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:22:59,580 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:22:59,589 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:22:59,589 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:22:59,590 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:22:59,591 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:22:59,592 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:22:59,593 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:22:59,593 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:22:59,594 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:22:59,594 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:22:59,595 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:22:59,595 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:22:59,596 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:22:59,597 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:22:59,597 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:22:59,598 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:22:59,599 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:22:59,600 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:22:59,601 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:22:59,602 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:22:59,604 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:22:59,604 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:22:59,604 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:22:59,604 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:22:59,605 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:22:59,606 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:22:59,606 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:22:59,607 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:22:59,607 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:22:59,608 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:22:59,608 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:22:59,608 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:22:59,608 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:22:59,609 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:22:59,609 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 12:22:59,619 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:22:59,619 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:22:59,620 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:22:59,620 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 12:22:59,621 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:22:59,621 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:22:59,621 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:22:59,621 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:22:59,621 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:22:59,621 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:22:59,622 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:22:59,623 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:22:59,623 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 12:22:59,623 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 12:22:59,623 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:22:59,623 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:22:59,623 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:22:59,623 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 12:22:59,624 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 12:22:59,624 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_9d380c06-e90c-4eba-a307-da478a60f4f7/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 -> 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb [2018-11-23 12:22:59,653 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:22:59,663 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:22:59,665 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:22:59,666 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:22:59,667 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:22:59,667 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 12:22:59,711 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/5c52f5e4f/d552dedd1b97484792427fd2a9090e4e/FLAG41f20ab54 [2018-11-23 12:23:00,058 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:23:00,059 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 12:23:00,063 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/5c52f5e4f/d552dedd1b97484792427fd2a9090e4e/FLAG41f20ab54 [2018-11-23 12:23:00,477 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/data/5c52f5e4f/d552dedd1b97484792427fd2a9090e4e [2018-11-23 12:23:00,479 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:23:00,480 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:23:00,481 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:23:00,481 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:23:00,483 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:23:00,484 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,486 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5cd7030e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00, skipping insertion in model container [2018-11-23 12:23:00,486 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,492 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:23:00,511 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:23:00,661 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:23:00,667 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:23:00,694 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:23:00,710 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:23:00,710 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00 WrapperNode [2018-11-23 12:23:00,711 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:23:00,711 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:23:00,711 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:23:00,711 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:23:00,717 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,724 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,739 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:23:00,739 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:23:00,740 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:23:00,740 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:23:00,786 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,786 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,790 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,790 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,797 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,801 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,802 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... [2018-11-23 12:23:00,804 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:23:00,805 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:23:00,805 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:23:00,805 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:23:00,805 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:23:00" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:23:00,838 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-23 12:23:00,838 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 12:23:00,838 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:23:00,838 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 12:23:00,839 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:23:00,839 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:23:00,839 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 12:23:00,839 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 12:23:00,839 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:23:01,968 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:23:01,968 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 12:23:01,968 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:23:01 BoogieIcfgContainer [2018-11-23 12:23:01,968 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:23:01,969 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 12:23:01,969 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 12:23:01,975 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 12:23:01,975 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:23:01" (1/1) ... [2018-11-23 12:23:01,983 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:02,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:23:02,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 34 states and 56 transitions. [2018-11-23 12:23:02,006 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 56 transitions. [2018-11-23 12:23:02,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 12:23:02,009 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:23:02,044 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:23:02,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:02,066 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:02,077 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:23:02,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:23:02,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 34 states and 51 transitions. [2018-11-23 12:23:02,085 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 51 transitions. [2018-11-23 12:23:02,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 12:23:02,085 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:23:02,086 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:23:02,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:02,453 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:03,653 WARN L180 SmtUtils]: Spent 383.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:23:04,130 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:23:08,826 WARN L180 SmtUtils]: Spent 420.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 12:23:22,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:23:22,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 36 states and 58 transitions. [2018-11-23 12:23:22,615 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 58 transitions. [2018-11-23 12:23:22,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 12:23:22,615 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:23:22,616 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:23:22,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:22,644 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:24,314 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:23:30,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:23:30,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 12:23:30,243 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 12:23:30,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:30,243 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 12:23:30,252 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 12:23:30,526 WARN L180 SmtUtils]: Spent 250.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:23:30,533 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 12:23:30,535 INFO L579 CodeCheckObserver]: Invariant with dag size 3 [2018-11-23 12:23:30,539 INFO L579 CodeCheckObserver]: Invariant with dag size 8 [2018-11-23 12:23:30,539 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,540 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,540 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,540 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,541 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,541 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,541 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,541 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,542 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,542 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,543 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 12:23:30 ImpRootNode [2018-11-23 12:23:30,543 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 12:23:30,543 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:23:30,543 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:23:30,543 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:23:30,544 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:23:01" (3/4) ... [2018-11-23 12:23:30,546 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 12:23:30,554 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 12:23:30,555 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 12:23:30,582 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_9d380c06-e90c-4eba-a307-da478a60f4f7/bin-2019/ukojak/witness.graphml [2018-11-23 12:23:30,582 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:23:30,583 INFO L168 Benchmark]: Toolchain (without parser) took 30103.44 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 114.3 MB). Free memory was 949.7 MB in the beginning and 995.5 MB in the end (delta: -45.7 MB). Peak memory consumption was 68.6 MB. Max. memory is 11.5 GB. [2018-11-23 12:23:30,584 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-23 12:23:30,584 INFO L168 Benchmark]: CACSL2BoogieTranslator took 229.93 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:23:30,584 INFO L168 Benchmark]: Boogie Procedure Inliner took 28.14 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:23:30,585 INFO L168 Benchmark]: Boogie Preprocessor took 64.89 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 114.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -173.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-23 12:23:30,585 INFO L168 Benchmark]: RCFGBuilder took 1163.76 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 38.4 MB). Peak memory consumption was 38.4 MB. Max. memory is 11.5 GB. [2018-11-23 12:23:30,586 INFO L168 Benchmark]: CodeCheck took 28574.28 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 995.5 MB in the end (delta: 67.8 MB). Peak memory consumption was 67.8 MB. Max. memory is 11.5 GB. [2018-11-23 12:23:30,586 INFO L168 Benchmark]: Witness Printer took 39.46 ms. Allocated memory is still 1.1 GB. Free memory is still 995.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:23:30,588 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, 42 locations, 1 error locations. SAFE Result, 28.2s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 110 SDtfs, 44 SDslu, 40 SDs, 0 SdLazy, 126 SolverSat, 26 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 27.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 241 GetRequests, 227 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 10.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 3.4s InterpolantComputationTime, 29 NumberOfCodeBlocks, 29 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 26 ConstructedInterpolants, 1 QuantifiedInterpolants, 782 SizeOfPredicates, 17 NumberOfNonLiveVariables, 124 ConjunctsInSsa, 19 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 123]: 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: 110]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 20]: Loop Invariant Derived loop invariant: ~Pluszero~LONGDOUBLE() == y - InvariantResult [Line: 17]: Loop Invariant [2018-11-23 12:23:30,590 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,590 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,590 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:23:30,591 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_float_~x : C_FLOAT :: ~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.mul~FLOAT(~roundNearestTiesToEven, ULTIMATE.start_fmod_float_~x, ~Pluszero~LONGDOUBLE()), ~fp.mul~FLOAT(~roundNearestTiesToEven, ULTIMATE.start_fmod_float_~x, ~Pluszero~LONGDOUBLE())) == \result) * 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 229.93 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 28.14 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 64.89 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 114.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -173.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * RCFGBuilder took 1163.76 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 38.4 MB). Peak memory consumption was 38.4 MB. Max. memory is 11.5 GB. * CodeCheck took 28574.28 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 995.5 MB in the end (delta: 67.8 MB). Peak memory consumption was 67.8 MB. Max. memory is 11.5 GB. * Witness Printer took 39.46 ms. Allocated memory is still 1.1 GB. Free memory is still 995.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] RESULT: Ultimate proved your program to be correct! Received shutdown request...