├── AUTHORS ├── src ├── proof_system │ ├── naive_evaluation.hpp │ ├── naive_evaluation.tcc │ ├── domain.tcc │ ├── prover.hpp │ ├── prover.tcc │ ├── common.tcc │ ├── verifier.tcc │ ├── common.hpp │ ├── verifier.hpp │ └── domain.hpp ├── CMakeLists.txt ├── profiling │ ├── plot │ │ └── runtime_plot.gp │ ├── logs │ │ └── 08-17_01:43 │ │ │ ├── prover-8-thread.csv │ │ │ ├── prover-4-thread.csv │ │ │ ├── prover-2-thread.csv │ │ │ ├── naive-2-thread.csv │ │ │ ├── naive-4-thread.csv │ │ │ ├── prover-1-thread.csv │ │ │ ├── naive-1-thread.csv │ │ │ ├── naive-8-thread.csv │ │ │ ├── verifier-1-thread.csv │ │ │ ├── verifier-8-thread.csv │ │ │ ├── verifier-2-thread.csv │ │ │ ├── verifier-4-thread.csv │ │ │ ├── naive-prover-1.ps │ │ │ ├── naive-prover-8.ps │ │ │ └── naive-prover-2.ps │ └── profile.cpp ├── test │ ├── test_verifier.cpp │ └── test_circuit.cpp └── arithmetic_circuit │ ├── arithmetic_circuit.hpp │ └── arithmetic_circuit.tcc ├── LICENSE ├── CMakeLists.txt └── README.md /AUTHORS: -------------------------------------------------------------------------------- 1 | SCIPR Lab: 2 | Alessandro Chiesa 3 | Howard Wu 4 | 5 | External contributors: 6 | -------------------------------------------------------------------------------- /src/proof_system/naive_evaluation.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for naive evaluation. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef NAIVE_EVALUATION_HPP_ 12 | #define NAIVE_EVALUATION_HPP_ 13 | 14 | #include "src/proof_system/common.hpp" 15 | 16 | namespace bace { 17 | 18 | /* 19 | * Performs the direct circuit evaluation of an input batch. 20 | * 21 | * Given a batch of inputs, all of equal length and matching the 22 | * circuit's input size, the circuit will evaluate the batch of inputs 23 | * and construct an ordered batch of outputs. 24 | */ 25 | template 26 | void naive_evaluate(const arithmetic_circuit_t &circuit, 27 | const input_batch_t &input_batch, 28 | output_batch_t &output_batch); 29 | 30 | } // bace 31 | 32 | #include "naive_evaluation.tcc" 33 | 34 | #endif // NAIVE_EVALUATION_HPP_ 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The bace library is developed by SCIPR Lab (http://scipr-lab.org) 2 | and contributors. 3 | 4 | Copyright (c) 2016 SCIPR Lab and contributors (see AUTHORS file). 5 | 6 | All files, with the exceptions below, are released under the MIT License: 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(.) 2 | 3 | # Profiling 4 | add_executable( 5 | profile 6 | 7 | profiling/profile.cpp 8 | ) 9 | target_link_libraries( 10 | profile 11 | 12 | ${LIBFF_LIBRARIES} 13 | ${GMP_LIBRARIES} 14 | ${GMPXX_LIBRARIES} 15 | ${PROCPS_LIBRARIES} 16 | ) 17 | set_target_properties( 18 | profile 19 | 20 | PROPERTIES 21 | COMPILE_FLAGS "-fopenmp" 22 | LINK_FLAGS "-fopenmp" 23 | RUNTIME_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY} 24 | ) 25 | target_compile_definitions( 26 | profile 27 | 28 | PUBLIC 29 | -DMULTICORE 30 | ) 31 | 32 | # Tests 33 | add_executable( 34 | test_circuit 35 | EXCLUDE_FROM_ALL 36 | 37 | test/test_circuit.cpp 38 | ) 39 | target_link_libraries( 40 | test_circuit 41 | 42 | ${LIBFF_LIBRARIES} 43 | ${GMP_LIBRARIES} 44 | ${GMPXX_LIBRARIES} 45 | ${PROCPS_LIBRARIES} 46 | ) 47 | 48 | add_executable( 49 | test_verifier 50 | EXCLUDE_FROM_ALL 51 | 52 | test/test_verifier.cpp 53 | ) 54 | target_link_libraries( 55 | test_verifier 56 | 57 | ${LIBFF_LIBRARIES} 58 | ${GMP_LIBRARIES} 59 | ${GMPXX_LIBRARIES} 60 | ${PROCPS_LIBRARIES} 61 | ) 62 | 63 | include(CTest) 64 | add_test( 65 | NAME test_circuit 66 | COMMAND test_circuit 67 | ) 68 | add_test( 69 | NAME test_verifier 70 | COMMAND test_verifier 71 | ) 72 | 73 | add_dependencies(check test_circuit) 74 | add_dependencies(check test_verifier) -------------------------------------------------------------------------------- /src/proof_system/naive_evaluation.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for naive evaluation. 4 | 5 | See naive_evaluation.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef NAIVE_EVALUATION_TCC_ 14 | #define NAIVE_EVALUATION_TCC_ 15 | 16 | #include 17 | #include 18 | 19 | #include "evaluation_domain/evaluation_domain.hpp" 20 | #include "polynomial_arithmetic/naive_evaluate.hpp" 21 | 22 | #include "src/arithmetic_circuit/arithmetic_circuit.hpp" 23 | 24 | namespace bace { 25 | 26 | template 27 | void naive_evaluate(const arithmetic_circuit_t &circuit, 28 | const input_batch_t &input_batch, 29 | output_batch_t &output_batch) 30 | { 31 | const size_t batch_size = input_batch.size(); 32 | 33 | output_batch.resize(batch_size); 34 | for (size_t i = 0; i < batch_size; i++) 35 | { 36 | output_batch[i] = circuit.evaluate(input_batch[i]); 37 | } 38 | } 39 | 40 | } // bace 41 | 42 | #endif // NAIVE_EVALUATION_TCC_ 43 | -------------------------------------------------------------------------------- /src/proof_system/domain.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for domain. 4 | 5 | See domain.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef DOMAIN_TCC_ 14 | #define DOMAIN_TCC_ 15 | 16 | namespace bace { 17 | 18 | template 19 | domain_t get_evaluation_domain(const size_t &domain_size) 20 | { 21 | return domain_t(new libfqfft::basic_radix2_domain(domain_size)); 22 | } 23 | 24 | unsigned int get_previous_power_of_two(const unsigned int &n) 25 | { 26 | uint32_t p = n; 27 | 28 | p |= (p >> 1); 29 | p |= (p >> 2); 30 | p |= (p >> 4); 31 | p |= (p >> 8); 32 | p |= (p >> 16); 33 | p = p - (p >> 1); 34 | 35 | return p; 36 | } 37 | 38 | unsigned int get_embedded_index(const size_t &index, 39 | const size_t &small_domain_size, 40 | const size_t &large_domain_size) 41 | { 42 | const unsigned int embedding_factor = large_domain_size / small_domain_size; 43 | const unsigned int jump = get_previous_power_of_two(embedding_factor); 44 | return index * jump; 45 | } 46 | 47 | size_t get_column_size(const size_t &batch_size) 48 | { 49 | return libff::get_power_of_two(batch_size); 50 | } 51 | 52 | size_t get_large_degree(const size_t &column_size, const size_t °ree) 53 | { 54 | return libff::get_power_of_two(column_size * degree); 55 | } 56 | 57 | } // bace 58 | 59 | #endif // DOMAIN_TCC_ 60 | -------------------------------------------------------------------------------- /src/profiling/plot/runtime_plot.gp: -------------------------------------------------------------------------------- 1 | ## Initialization ## 2 | cd input_directory 3 | set datafile separator "," 4 | 5 | ## Graph Formatting ## 6 | set title 'Runtime' 7 | set xlabel 'Batch Size' 8 | set ylabel 'Input Size' 9 | set zlabel 'Time (in seconds)' offset 0,-8 10 | 11 | set hidden3d 12 | set grid x y z 13 | set size ratio -1 14 | set logscale xyz 2 15 | set format x "2^{%L}" 16 | set format y "2^{%L}" 17 | set format z "2^{%L}" 18 | set xtics offset 0, -.4 19 | set ytics offset 0, -.4 20 | set key autotitle columnhead 21 | set term postscript enhanced color solid 22 | 23 | ## Plotting ## 24 | do for [i=0:5] { 25 | t = 2**i 26 | list = system(sprintf('ls *-%d-thread.csv 2>/dev/null', t)) 27 | if (words(list) == 3) { 28 | set output sprintf("naive-verifier-%d.ps", t) 29 | splot sprintf('naive-%d-thread.csv', t) using 1:2:5 with lines title sprintf('naive (%d-thread)', t),\ 30 | sprintf('verifier-%d-thread.csv', t) using 1:2:5 with lines title sprintf('verifier (%d-thread)', t) 31 | 32 | set output sprintf("naive-prover-%d.ps", t) 33 | splot sprintf('naive-%d-thread.csv', t) using 1:2:5 with lines title sprintf('naive (%d-thread)', t),\ 34 | sprintf('prover-%d-thread.csv', t) using 1:2:5 with lines title sprintf('prover (%d-thread)', t) 35 | } 36 | } 37 | 38 | list = system('ls naive-*.csv 2>/dev/null') 39 | if (words(list) > 1) { 40 | set output "naive.ps" 41 | splot for [i=1:words(list)] word(list,i) using 1:2:5 with lines title word(list,i) 42 | } 43 | 44 | list = system('ls prover-*.csv 2>/dev/null') 45 | if (words(list) > 1) { 46 | set output "prover.ps" 47 | splot for [i=1:words(list)] word(list,i) using 1:2:5 with lines title word(list,i) 48 | } 49 | 50 | list = system('ls verifier-*.csv 2>/dev/null') 51 | if (words(list) > 1) { 52 | set output "verifier.ps" 53 | splot for [i=1:words(list)] word(list,i) using 1:2:5 with lines title word(list,i) 54 | } 55 | -------------------------------------------------------------------------------- /src/proof_system/prover.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for the prover. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef PROVER_HPP_ 12 | #define PROVER_HPP_ 13 | 14 | #include "src/arithmetic_circuit/arithmetic_circuit.hpp" 15 | #include "src/proof_system/common.hpp" 16 | 17 | namespace bace { 18 | 19 | /* 20 | * Returns a proof for the verifier, given an arithmetic circuit and 21 | * a batch of inputs. 22 | * 23 | * The prover constructs a proof by using the input batch to compose a 24 | * column_lde_t and extend it to a large degree. The prover takes the FFT 25 | * of the each column_lde_t and evaluates the columns index-wise on the 26 | * provided circuit, then takes the inverse FFT of this vector construction. 27 | * This results in a large degree sized vector of circuit evaluations, which 28 | * serves as the basis for the proof that is provided to the verifier. 29 | * 30 | * proof = circuit.evaluate(column_lde[1][i], ... , column_lde[input_size][i]) 31 | * 32 | * In the case that there is a size mismatch among the batch of inputs, 33 | * the prover will return a proof composed of a vector of zeros, or error if 34 | * the input size fails to match the circuit's defined input size. 35 | */ 36 | template 37 | void prover(const arithmetic_circuit_t &circuit, 38 | const input_batch_t &input_batch, 39 | proof_t &proof); 40 | 41 | } // bace 42 | 43 | #include "prover.tcc" 44 | 45 | #endif // PROVER_HPP_ 46 | -------------------------------------------------------------------------------- /src/proof_system/prover.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for the prover. 4 | 5 | See prover.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef PROVER_TCC_ 14 | #define PROVER_TCC_ 15 | 16 | namespace bace { 17 | 18 | template 19 | void prover(const arithmetic_circuit_t &circuit, 20 | const input_batch_t &input_batch, 21 | proof_t &proof) 22 | { 23 | const size_t batch_size = input_batch.size(); 24 | const size_t input_size = get_input_size(input_batch); 25 | const size_t column_size = get_column_size(batch_size); 26 | const size_t large_degree = get_large_degree(column_size, circuit.degree()); 27 | const domain_t domain = get_evaluation_domain(large_degree); 28 | 29 | column_lde_t column_lde = compute_column_lde(input_batch, column_size); 30 | 31 | for (size_t i = 0; i < input_size; i++) 32 | { 33 | column_lde[i].resize(large_degree, FieldT::zero()); 34 | domain->FFT(column_lde[i]); 35 | } 36 | 37 | proof.resize(large_degree); 38 | std::vector input_column(input_size); 39 | for (size_t i = 0; i < large_degree; i++) 40 | { 41 | for (size_t j = 0; j < input_size; j++) 42 | { 43 | input_column[j] = column_lde[j][i]; 44 | } 45 | 46 | proof[i] = circuit.evaluate(input_column); 47 | } 48 | domain->iFFT(proof); 49 | } 50 | 51 | } // bace 52 | 53 | #endif // PROVER_TCC_ 54 | -------------------------------------------------------------------------------- /src/proof_system/common.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for common utilities. 4 | 5 | See common.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef COMMON_TCC_ 14 | #define COMMON_TCC_ 15 | 16 | namespace bace { 17 | 18 | template 19 | size_t get_input_size(const input_batch_t &input_batch) 20 | { 21 | const size_t input_size = input_batch[0].size(); 22 | const bool match = std::all_of(begin(input_batch), end(input_batch), 23 | [input_size](const input_t& input){ return input.size() == input_size; }); 24 | return match ? input_size : 0; 25 | } 26 | 27 | template 28 | column_lde_t compute_column_lde(const input_batch_t &input_batch, 29 | const size_t &column_size) 30 | { 31 | const size_t batch_size = input_batch.size(); 32 | const size_t input_size = get_input_size(input_batch); 33 | const domain_t domain = get_evaluation_domain(column_size); 34 | 35 | column_lde_t column_lde(input_size); 36 | for (size_t i = 0; i < input_size; i++) 37 | { 38 | column_lde[i] = std::vector(column_size); 39 | for (size_t j = 0; j < batch_size; j++) // Only fill up to batch_size 40 | { 41 | column_lde[i][j] = input_batch[j][i]; 42 | } 43 | domain->iFFT(column_lde[i]); 44 | } 45 | 46 | return column_lde; 47 | } 48 | 49 | } // bace 50 | 51 | #endif // COMMON_TCC_ 52 | -------------------------------------------------------------------------------- /src/proof_system/verifier.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for the verifier. 4 | 5 | See verifier.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef VERIFIER_TCC_ 14 | #define VERIFIER_TCC_ 15 | 16 | #include "polynomial_arithmetic/naive_evaluate.hpp" 17 | 18 | namespace bace { 19 | 20 | template 21 | void verifier(const arithmetic_circuit_t &circuit, 22 | const input_batch_t &input_batch, 23 | output_batch_t &output_batch, 24 | const proof_t &proof) 25 | { 26 | const size_t batch_size = input_batch.size(); 27 | const size_t input_size = get_input_size(input_batch); 28 | const size_t column_size = get_column_size(batch_size); 29 | const size_t large_degree = get_large_degree(column_size, circuit.degree()); 30 | const domain_t domain = get_evaluation_domain(large_degree); 31 | 32 | const column_lde_t column_lde = compute_column_lde(input_batch, column_size); 33 | 34 | const FieldT random_element = FieldT::random_element(); 35 | std::vector random_input(input_size); 36 | for (size_t i = 0; i < input_size; i++) 37 | { 38 | random_input[i] = libfqfft::evaluate_polynomial(column_size, column_lde[i], random_element); 39 | } 40 | 41 | output_batch.clear(); 42 | const FieldT output_mine = circuit.evaluate(random_input); 43 | const FieldT output_proof = libfqfft::evaluate_polynomial(large_degree, proof, random_element); 44 | if (output_mine == output_proof) 45 | { 46 | output_batch = proof; 47 | domain->FFT(output_batch); 48 | 49 | for (size_t i = 0; i < batch_size; i++) 50 | { 51 | output_batch[i] = output_batch[get_embedded_index(i, column_size, large_degree)]; 52 | } 53 | output_batch.resize(batch_size); 54 | } 55 | } 56 | 57 | } // bace 58 | 59 | #endif // VERIFIER_TCC_ 60 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | project(bace) 4 | 5 | option( 6 | MULTICORE 7 | "Enable parallelized execution, using OpenMP" 8 | OFF 9 | ) 10 | 11 | option( 12 | WITH_PROCPS 13 | "Use procps for memory profiling" 14 | ON 15 | ) 16 | 17 | set( 18 | OPT_FLAGS 19 | "" 20 | CACHE 21 | STRING 22 | "Override C++ compiler optimization flags" 23 | ) 24 | 25 | option( 26 | VERBOSE 27 | "Print internal messages" 28 | OFF 29 | ) 30 | 31 | if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") 32 | # Common compilation flags and warning configuration 33 | set( 34 | CMAKE_CXX_FLAGS 35 | 36 | "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wfatal-errors -pthread" 37 | ) 38 | 39 | if("${MULTICORE}") 40 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") 41 | endif() 42 | 43 | # Default optimizations flags (to override, use -DOPT_FLAGS=...) 44 | if("${OPT_FLAGS}" STREQUAL "") 45 | set( 46 | OPT_FLAGS 47 | "-ggdb3 -O2 -march=native -mtune=native" 48 | ) 49 | endif() 50 | endif() 51 | 52 | if("${VERBOSE}") 53 | add_definitions(-DVERBOSE=1) 54 | endif() 55 | 56 | if("${MULTICORE}") 57 | add_definitions(-DMULTICORE=1) 58 | endif() 59 | 60 | set( 61 | CMAKE_CXX_FLAGS 62 | "${CMAKE_CXX_FLAGS} ${OPT_FLAGS}" 63 | ) 64 | 65 | include(FindPkgConfig) 66 | if("${WITH_PROCPS}") 67 | pkg_check_modules( 68 | PROCPS 69 | REQUIRED 70 | 71 | libprocps 72 | ) 73 | else() 74 | add_definitions( 75 | -DNO_PROCPS 76 | ) 77 | endif() 78 | 79 | # GMP 80 | find_path(GMP_INCLUDE_DIR NAMES gmp.h) 81 | find_library(GMP_LIBRARIES NAMES gmp libgmp) 82 | find_library(GMPXX_LIBRARIES NAMES gmpxx libgmpxx) 83 | 84 | # libfqfft 85 | find_path(LIBFQFFT_INCLUDE_DIR NAMES libfqfft) 86 | set(LIBFQFFT_DIRECTORY ${LIBFQFFT_INCLUDE_DIR}/libfqfft) 87 | include_directories(${LIBFQFFT_DIRECTORY}) 88 | 89 | # libff 90 | find_path(LIBFF_INCLUDE_DIR NAMES libff) 91 | include_directories(${LIBFF_INCLUDE_DIR}/libff) 92 | find_library(LIBFF_LIBRARIES NAMES ff libff) 93 | 94 | enable_testing() 95 | 96 | # Add a `make check` target that builds and tests 97 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) 98 | 99 | include_directories(.) 100 | add_subdirectory(src) -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/prover-8-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,6.7964e-05 3 | 2,4,13,3,9.144e-05 4 | 2,8,33,3,0.000109379 5 | 2,16,97,3,0.00017604 6 | 2,32,321,3,0.000387608 7 | 2,64,1153,3,0.00104733 8 | 2,128,4353,3,0.00341244 9 | 2,256,16897,3,0.0124403 10 | 2,512,66561,3,0.0491973 11 | 2,1024,264193,3,0.183652 12 | 2,2048,1052673,3,0.719106 13 | 2,4096,4202497,3,2.92123 14 | ,,,, 15 | 4,2,6,3,0.0082571 16 | 4,4,13,3,0.000141136 17 | 4,8,33,3,0.000288553 18 | 4,16,97,3,0.00143704 19 | 4,32,321,3,0.00121539 20 | 4,64,1153,3,0.00327977 21 | 4,128,4353,3,0.0212136 22 | 4,256,16897,3,0.0273173 23 | 4,512,66561,3,0.106079 24 | 4,1024,264193,3,0.360661 25 | 4,2048,1052673,3,1.38047 26 | 4,4096,4202497,3,5.60262 27 | ,,,, 28 | 8,2,6,3,0.0254364 29 | 8,4,13,3,0.0108566 30 | 8,8,33,3,0.000420488 31 | 8,16,97,3,0.000872772 32 | 8,32,321,3,0.00223891 33 | 8,64,1153,3,0.0053292 34 | 8,128,4353,3,0.0275113 35 | 8,256,16897,3,0.0662912 36 | 8,512,66561,3,0.196229 37 | 8,1024,264193,3,0.683043 38 | 8,2048,1052673,3,2.717 39 | 8,4096,4202497,3,10.911 40 | ,,,, 41 | 16,2,6,3,0.0128155 42 | 16,4,13,3,0.000811754 43 | 16,8,33,3,0.000640991 44 | 16,16,97,3,0.00140458 45 | 16,32,321,3,0.0066276 46 | 16,64,1153,3,0.0309965 47 | 16,128,4353,3,0.0398716 48 | 16,256,16897,3,0.0954096 49 | 16,512,66561,3,0.358115 50 | 16,1024,264193,3,1.31782 51 | 16,2048,1052673,3,5.51628 52 | 16,4096,4202497,3,21.1438 53 | ,,,, 54 | 32,2,6,3,0.0124429 55 | 32,4,13,3,0.000525348 56 | 32,8,33,3,0.00106704 57 | 32,16,97,3,0.00250024 58 | 32,32,321,3,0.0224196 59 | 32,64,1153,3,0.015358 60 | 32,128,4353,3,0.0578228 61 | 32,256,16897,3,0.179974 62 | 32,512,66561,3,0.687894 63 | 32,1024,264193,3,2.70938 64 | 32,2048,1052673,3,10.976 65 | 32,4096,4202497,3,43.1632 66 | ,,,, 67 | 64,2,6,3,0.0129042 68 | 64,4,13,3,0.00092581 69 | 64,8,33,3,0.0018941 70 | 64,16,97,3,0.0058795 71 | 64,32,321,3,0.0277163 72 | 64,64,1153,3,0.0478477 73 | 64,128,4353,3,0.098126 74 | 64,256,16897,3,0.361591 75 | 64,512,66561,3,1.36875 76 | 64,1024,264193,3,5.17776 77 | 64,2048,1052673,3,21.0047 78 | 64,4096,4202497,3,85.9163 79 | ,,,, 80 | 128,2,6,3,0.016503 81 | 128,4,13,3,0.00167238 82 | 128,8,33,3,0.018081 83 | 128,16,97,3,0.00757026 84 | 128,32,321,3,0.0347152 85 | 128,64,1153,3,0.0571891 86 | 128,128,4353,3,0.210017 87 | 128,256,16897,3,0.723424 88 | 128,512,66561,3,2.74015 89 | 128,1024,264193,3,10.2986 90 | 128,2048,1052673,3,42.8436 91 | 128,4096,4202497,3,172.913 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/prover-4-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,0.00664736 3 | 2,4,13,3,0.000102888 4 | 2,8,33,3,0.000167462 5 | 2,16,97,3,0.000311685 6 | 2,32,321,3,0.000697072 7 | 2,64,1153,3,0.00188999 8 | 2,128,4353,3,0.00623035 9 | 2,256,16897,3,0.01498 10 | 2,512,66561,3,0.0545319 11 | 2,1024,264193,3,0.187745 12 | 2,2048,1052673,3,0.74155 13 | 2,4096,4202497,3,2.98178 14 | ,,,, 15 | 4,2,6,3,0.00134005 16 | 4,4,13,3,0.000152508 17 | 4,8,33,3,0.000274383 18 | 4,16,97,3,0.000536742 19 | 4,32,321,3,0.00126397 20 | 4,64,1153,3,0.00339415 21 | 4,128,4353,3,0.00779619 22 | 4,256,16897,3,0.0261175 23 | 4,512,66561,3,0.096522 24 | 4,1024,264193,3,0.360375 25 | 4,2048,1052673,3,1.43505 26 | 4,4096,4202497,3,5.65839 27 | ,,,, 28 | 8,2,6,3,0.0129065 29 | 8,4,13,3,0.000303027 30 | 8,8,33,3,0.000410286 31 | 8,16,97,3,0.000834458 32 | 8,32,321,3,0.00209932 33 | 8,64,1153,3,0.00519294 34 | 8,128,4353,3,0.0140015 35 | 8,256,16897,3,0.0494543 36 | 8,512,66561,3,0.182368 37 | 8,1024,264193,3,0.688061 38 | 8,2048,1052673,3,2.70801 39 | 8,4096,4202497,3,10.7193 40 | ,,,, 41 | 16,2,6,3,0.0130356 42 | 16,4,13,3,0.000431156 43 | 16,8,33,3,0.000628409 44 | 16,16,97,3,0.0013927 45 | 16,32,321,3,0.00348247 46 | 16,64,1153,3,0.00870293 47 | 16,128,4353,3,0.0269116 48 | 16,256,16897,3,0.0927836 49 | 16,512,66561,3,0.347045 50 | 16,1024,264193,3,1.35355 51 | 16,2048,1052673,3,5.36106 52 | 16,4096,4202497,3,21.8742 53 | ,,,, 54 | 32,2,6,3,0.0135859 55 | 32,4,13,3,0.000539487 56 | 32,8,33,3,0.00110389 57 | 32,16,97,3,0.00257184 58 | 32,32,321,3,0.00574612 59 | 32,64,1153,3,0.0155934 60 | 32,128,4353,3,0.0501281 61 | 32,256,16897,3,0.173612 62 | 32,512,66561,3,0.689706 63 | 32,1024,264193,3,2.67852 64 | 32,2048,1052673,3,10.5963 65 | 32,4096,4202497,3,43.3852 66 | ,,,, 67 | 64,2,6,3,0.0138003 68 | 64,4,13,3,0.000979557 69 | 64,8,33,3,0.00205983 70 | 64,16,97,3,0.0044466 71 | 64,32,321,3,0.0104222 72 | 64,64,1153,3,0.0297183 73 | 64,128,4353,3,0.0959137 74 | 64,256,16897,3,0.34615 75 | 64,512,66561,3,1.34921 76 | 64,1024,264193,3,5.33647 77 | 64,2048,1052673,3,21.2584 78 | 64,4096,4202497,3,85.7326 79 | ,,,, 80 | 128,2,6,3,0.0146312 81 | 128,4,13,3,0.00189772 82 | 128,8,33,3,0.00396394 83 | 128,16,97,3,0.0080712 84 | 128,32,321,3,0.0200628 85 | 128,64,1153,3,0.051902 86 | 128,128,4353,3,0.192766 87 | 128,256,16897,3,0.683072 88 | 128,512,66561,3,2.67944 89 | 128,1024,264193,3,10.5961 90 | 128,2048,1052673,3,43.1343 91 | 128,4096,4202497,3,172.393 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/prover-2-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,0.000182655 3 | 2,4,13,3,9.4881e-05 4 | 2,8,33,3,0.000137811 5 | 2,16,97,3,0.000262945 6 | 2,32,321,3,0.000569824 7 | 2,64,1153,3,0.00149464 8 | 2,128,4353,3,0.00420589 9 | 2,256,16897,3,0.0143626 10 | 2,512,66561,3,0.052121 11 | 2,1024,264193,3,0.189838 12 | 2,2048,1052673,3,0.75316 13 | 2,4096,4202497,3,2.95166 14 | ,,,, 15 | 4,2,6,3,0.000178614 16 | 4,4,13,3,0.000107708 17 | 4,8,33,3,0.000179555 18 | 4,16,97,3,0.00036138 19 | 4,32,321,3,0.000828152 20 | 4,64,1153,3,0.00228296 21 | 4,128,4353,3,0.0071285 22 | 4,256,16897,3,0.0256372 23 | 4,512,66561,3,0.0915323 24 | 4,1024,264193,3,0.346048 25 | 4,2048,1052673,3,1.38083 26 | 4,4096,4202497,3,5.43982 27 | ,,,, 28 | 8,2,6,3,0.01223 29 | 8,4,13,3,0.000216815 30 | 8,8,33,3,0.000441658 31 | 8,16,97,3,0.000865483 32 | 8,32,321,3,0.00214061 33 | 8,64,1153,3,0.00527952 34 | 8,128,4353,3,0.0129564 35 | 8,256,16897,3,0.0466944 36 | 8,512,66561,3,0.170581 37 | 8,1024,264193,3,0.664755 38 | 8,2048,1052673,3,2.69289 39 | 8,4096,4202497,3,10.6515 40 | ,,,, 41 | 16,2,6,3,0.0123886 42 | 16,4,13,3,0.000220248 43 | 16,8,33,3,0.00042414 44 | 16,16,97,3,0.000918767 45 | 16,32,321,3,0.00241935 46 | 16,64,1153,3,0.00726913 47 | 16,128,4353,3,0.0245439 48 | 16,256,16897,3,0.087202 49 | 16,512,66561,3,0.332004 50 | 16,1024,264193,3,1.30962 51 | 16,2048,1052673,3,5.31614 52 | 16,4096,4202497,3,21.2561 53 | ,,,, 54 | 32,2,6,3,0.0125502 55 | 32,4,13,3,0.000371507 56 | 32,8,33,3,0.000742072 57 | 32,16,97,3,0.00166563 58 | 32,32,321,3,0.0045108 59 | 32,64,1153,3,0.0139596 60 | 32,128,4353,3,0.047028 61 | 32,256,16897,3,0.169254 62 | 32,512,66561,3,0.658793 63 | 32,1024,264193,3,2.59564 64 | 32,2048,1052673,3,10.7211 65 | 32,4096,4202497,3,42.4351 66 | ,,,, 67 | 64,2,6,3,0.0131123 68 | 64,4,13,3,0.000696471 69 | 64,8,33,3,0.00141018 70 | 64,16,97,3,0.00327275 71 | 64,32,321,3,0.00875437 72 | 64,64,1153,3,0.0271506 73 | 64,128,4353,3,0.0919453 74 | 64,256,16897,3,0.333441 75 | 64,512,66561,3,1.29862 76 | 64,1024,264193,3,5.14828 77 | 64,2048,1052673,3,21.0029 78 | 64,4096,4202497,3,85.8915 79 | ,,,, 80 | 128,2,6,3,0.0138698 81 | 128,4,13,3,0.00137436 82 | 128,8,33,3,0.00278936 83 | 128,16,97,3,0.00645959 84 | 128,32,321,3,0.0233698 85 | 128,64,1153,3,0.0544769 86 | 128,128,4353,3,0.185363 87 | 128,256,16897,3,0.685997 88 | 128,512,66561,3,2.68983 89 | 128,1024,264193,3,10.6753 90 | 128,2048,1052673,3,42.1215 91 | 128,4096,4202497,3,169.419 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-2-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,1.865e-06 3 | 2,4,13,3,2.232e-06 4 | 2,8,33,3,4.708e-06 5 | 2,16,97,3,1.227e-05 6 | 2,32,321,3,4.0766e-05 7 | 2,64,1153,3,0.000160732 8 | 2,128,4353,3,0.000666413 9 | 2,256,16897,3,0.00274308 10 | 2,512,66561,3,0.0113727 11 | 2,1024,264193,3,0.0448322 12 | 2,2048,1052673,3,0.180207 13 | 2,4096,4202497,3,0.716541 14 | ,,,, 15 | 4,2,6,3,4.101e-06 16 | 4,4,13,3,3.963e-06 17 | 4,8,33,3,8.405e-06 18 | 4,16,97,3,2.4011e-05 19 | 4,32,321,3,9.8034e-05 20 | 4,64,1153,3,0.000322573 21 | 4,128,4353,3,0.00132723 22 | 4,256,16897,3,0.00538443 23 | 4,512,66561,3,0.0235848 24 | 4,1024,264193,3,0.0881839 25 | 4,2048,1052673,3,0.351345 26 | 4,4096,4202497,3,1.38174 27 | ,,,, 28 | 8,2,6,3,5.355e-06 29 | 8,4,13,3,6.744e-06 30 | 8,8,33,3,1.6412e-05 31 | 8,16,97,3,5.5942e-05 32 | 8,32,321,3,0.000166204 33 | 8,64,1153,3,0.000662042 34 | 8,128,4353,3,0.00256799 35 | 8,256,16897,3,0.0107684 36 | 8,512,66561,3,0.0448995 37 | 8,1024,264193,3,0.171752 38 | 8,2048,1052673,3,0.694237 39 | 8,4096,4202497,3,2.87031 40 | ,,,, 41 | 16,2,6,3,7.961e-06 42 | 16,4,13,3,1.1547e-05 43 | 16,8,33,3,3.0981e-05 44 | 16,16,97,3,0.000147579 45 | 16,32,321,3,0.00036279 46 | 16,64,1153,3,0.00141445 47 | 16,128,4353,3,0.00528051 48 | 16,256,16897,3,0.0216662 49 | 16,512,66561,3,0.0886633 50 | 16,1024,264193,3,0.348374 51 | 16,2048,1052673,3,1.43444 52 | 16,4096,4202497,3,5.58145 53 | ,,,, 54 | 32,2,6,3,1.2931e-05 55 | 32,4,13,3,2.195e-05 56 | 32,8,33,3,8.1744e-05 57 | 32,16,97,3,0.000193397 58 | 32,32,321,3,0.000712639 59 | 32,64,1153,3,0.00254451 60 | 32,128,4353,3,0.0102104 61 | 32,256,16897,3,0.0429879 62 | 32,512,66561,3,0.166981 63 | 32,1024,264193,3,0.673839 64 | 32,2048,1052673,3,2.77435 65 | 32,4096,4202497,3,11.4193 66 | ,,,, 67 | 64,2,6,3,2.4962e-05 68 | 64,4,13,3,4.2477e-05 69 | 64,8,33,3,0.000128719 70 | 64,16,97,3,0.000396049 71 | 64,32,321,3,0.0013773 72 | 64,64,1153,3,0.00538543 73 | 64,128,4353,3,0.0208543 74 | 64,256,16897,3,0.0838799 75 | 64,512,66561,3,0.343107 76 | 64,1024,264193,3,1.39047 77 | 64,2048,1052673,3,5.7578 78 | 64,4096,4202497,3,22.421 79 | ,,,, 80 | 128,2,6,3,4.5555e-05 81 | 128,4,13,3,8.525e-05 82 | 128,8,33,3,0.000254468 83 | 128,16,97,3,0.000751657 84 | 128,32,321,3,0.00260678 85 | 128,64,1153,3,0.0104097 86 | 128,128,4353,3,0.0414101 87 | 128,256,16897,3,0.161508 88 | 128,512,66561,3,0.66227 89 | 128,1024,264193,3,2.66748 90 | 128,2048,1052673,3,11.0805 91 | 128,4096,4202497,3,44.5607 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-4-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,1.714e-06 3 | 2,4,13,3,2.229e-06 4 | 2,8,33,3,5.415e-06 5 | 2,16,97,3,1.5656e-05 6 | 2,32,321,3,6.594e-05 7 | 2,64,1153,3,0.000197481 8 | 2,128,4353,3,0.000829071 9 | 2,256,16897,3,0.00331541 10 | 2,512,66561,3,0.0145428 11 | 2,1024,264193,3,0.0544543 12 | 2,2048,1052673,3,0.211647 13 | 2,4096,4202497,3,0.881724 14 | ,,,, 15 | 4,2,6,3,3.437e-06 16 | 4,4,13,3,3.673e-06 17 | 4,8,33,3,1.0304e-05 18 | 4,16,97,3,3.003e-05 19 | 4,32,321,3,0.00011798 20 | 4,64,1153,3,0.000436922 21 | 4,128,4353,3,0.00170434 22 | 4,256,16897,3,0.00645083 23 | 4,512,66561,3,0.0281007 24 | 4,1024,264193,3,0.108231 25 | 4,2048,1052673,3,0.422676 26 | 4,4096,4202497,3,1.76792 27 | ,,,, 28 | 8,2,6,3,4.763e-06 29 | 8,4,13,3,6.833e-06 30 | 8,8,33,3,1.9543e-05 31 | 8,16,97,3,5.9313e-05 32 | 8,32,321,3,0.000210022 33 | 8,64,1153,3,0.000837595 34 | 8,128,4353,3,0.0032613 35 | 8,256,16897,3,0.013178 36 | 8,512,66561,3,0.0547784 37 | 8,1024,264193,3,0.218445 38 | 8,2048,1052673,3,0.868623 39 | 8,4096,4202497,3,3.8915 40 | ,,,, 41 | 16,2,6,3,7.694e-06 42 | 16,4,13,3,1.3326e-05 43 | 16,8,33,3,3.8097e-05 44 | 16,16,97,3,0.00011794 45 | 16,32,321,3,0.000423823 46 | 16,64,1153,3,0.00166562 47 | 16,128,4353,3,0.00651927 48 | 16,256,16897,3,0.0277122 49 | 16,512,66561,3,0.108206 50 | 16,1024,264193,3,0.435223 51 | 16,2048,1052673,3,1.72035 52 | 16,4096,4202497,3,7.28557 53 | ,,,, 54 | 32,2,6,3,1.4278e-05 55 | 32,4,13,3,2.6138e-05 56 | 32,8,33,3,9.2062e-05 57 | 32,16,97,3,0.000237356 58 | 32,32,321,3,0.000908386 59 | 32,64,1153,3,0.0033104 60 | 32,128,4353,3,0.0129616 61 | 32,256,16897,3,0.0534217 62 | 32,512,66561,3,0.210283 63 | 32,1024,264193,3,0.843448 64 | 32,2048,1052673,3,3.36025 65 | 32,4096,4202497,3,13.8626 66 | ,,,, 67 | 64,2,6,3,2.5816e-05 68 | 64,4,13,3,5.1026e-05 69 | 64,8,33,3,0.0001483 70 | 64,16,97,3,0.000489398 71 | 64,32,321,3,0.0016859 72 | 64,64,1153,3,0.00671014 73 | 64,128,4353,3,0.0263359 74 | 64,256,16897,3,0.105847 75 | 64,512,66561,3,0.433156 76 | 64,1024,264193,3,1.73245 77 | 64,2048,1052673,3,6.99523 78 | 64,4096,4202497,3,28.196 79 | ,,,, 80 | 128,2,6,3,6.0394e-05 81 | 128,4,13,3,0.000104683 82 | 128,8,33,3,0.000288138 83 | 128,16,97,3,0.000959429 84 | 128,32,321,3,0.00339429 85 | 128,64,1153,3,0.0136193 86 | 128,128,4353,3,0.0523516 87 | 128,256,16897,3,0.211174 88 | 128,512,66561,3,0.857622 89 | 128,1024,264193,3,3.46887 90 | 128,2048,1052673,3,13.9752 91 | 128,4096,4202497,3,56.9118 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/prover-1-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,0.000130745 3 | 2,4,13,3,5.3805e-05 4 | 2,8,33,3,9.2191e-05 5 | 2,16,97,3,0.000176163 6 | 2,32,321,3,0.000349333 7 | 2,64,1153,3,0.000843757 8 | 2,128,4353,3,0.00272879 9 | 2,256,16897,3,0.00962704 10 | 2,512,66561,3,0.0381697 11 | 2,1024,264193,3,0.143504 12 | 2,2048,1052673,3,0.569187 13 | 2,4096,4202497,3,2.23313 14 | ,,,, 15 | 4,2,6,3,9.5423e-05 16 | 4,4,13,3,8.5048e-05 17 | 4,8,33,3,0.000141254 18 | 4,16,97,3,0.00023018 19 | 4,32,321,3,0.000563244 20 | 4,64,1153,3,0.0015044 21 | 4,128,4353,3,0.00497713 22 | 4,256,16897,3,0.0189012 23 | 4,512,66561,3,0.0722619 24 | 4,1024,264193,3,0.279612 25 | 4,2048,1052673,3,1.1096 26 | 4,4096,4202497,3,4.39304 27 | ,,,, 28 | 8,2,6,3,0.000110253 29 | 8,4,13,3,0.000124495 30 | 8,8,33,3,0.000238462 31 | 8,16,97,3,0.00045558 32 | 8,32,321,3,0.00103207 33 | 8,64,1153,3,0.0029901 34 | 8,128,4353,3,0.00962503 35 | 8,256,16897,3,0.0366498 36 | 8,512,66561,3,0.147368 37 | 8,1024,264193,3,0.537882 38 | 8,2048,1052673,3,2.1869 39 | 8,4096,4202497,3,8.74598 40 | ,,,, 41 | 16,2,6,3,0.000186305 42 | 16,4,13,3,0.000212388 43 | 16,8,33,3,0.000357169 44 | 16,16,97,3,0.000851244 45 | 16,32,321,3,0.00198059 46 | 16,64,1153,3,0.00582306 47 | 16,128,4353,3,0.0191757 48 | 16,256,16897,3,0.0702826 49 | 16,512,66561,3,0.270876 50 | 16,1024,264193,3,1.06817 51 | 16,2048,1052673,3,4.36567 52 | 16,4096,4202497,3,16.7619 53 | ,,,, 54 | 32,2,6,3,0.000261862 55 | 32,4,13,3,0.000383252 56 | 32,8,33,3,0.000716145 57 | 32,16,97,3,0.00152782 58 | 32,32,321,3,0.0038149 59 | 32,64,1153,3,0.0116896 60 | 32,128,4353,3,0.0384061 61 | 32,256,16897,3,0.136559 62 | 32,512,66561,3,0.521055 63 | 32,1024,264193,3,2.04798 64 | 32,2048,1052673,3,8.42214 65 | 32,4096,4202497,3,33.1684 66 | ,,,, 67 | 64,2,6,3,0.000471328 68 | 64,4,13,3,0.000764406 69 | 64,8,33,3,0.00148315 70 | 64,16,97,3,0.0032314 71 | 64,32,321,3,0.00796952 72 | 64,64,1153,3,0.0237558 73 | 64,128,4353,3,0.0773076 74 | 64,256,16897,3,0.269403 75 | 64,512,66561,3,1.03704 76 | 64,1024,264193,3,4.0962 77 | 64,2048,1052673,3,16.9022 78 | 64,4096,4202497,3,68.3729 79 | ,,,, 80 | 128,2,6,3,0.000965935 81 | 128,4,13,3,0.0016068 82 | 128,8,33,3,0.00312274 83 | 128,16,97,3,0.00703498 84 | 128,32,321,3,0.0169001 85 | 128,64,1153,3,0.0487154 86 | 128,128,4353,3,0.157937 87 | 128,256,16897,3,0.560784 88 | 128,512,66561,3,2.08928 89 | 128,1024,264193,3,8.2469 90 | 128,2048,1052673,3,34.7028 91 | 128,4096,4202497,3,135.797 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-1-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,1.981e-06 3 | 2,4,13,3,2.147e-06 4 | 2,8,33,3,4.441e-06 5 | 2,16,97,3,1.3062e-05 6 | 2,32,321,3,5.7746e-05 7 | 2,64,1153,3,0.000165669 8 | 2,128,4353,3,0.000726171 9 | 2,256,16897,3,0.00292835 10 | 2,512,66561,3,0.0124223 11 | 2,1024,264193,3,0.0461969 12 | 2,2048,1052673,3,0.199169 13 | 2,4096,4202497,3,0.789575 14 | ,,,, 15 | 4,2,6,3,3.567e-06 16 | 4,4,13,3,3.94e-06 17 | 4,8,33,3,8.131e-06 18 | 4,16,97,3,2.4153e-05 19 | 4,32,321,3,0.000118985 20 | 4,64,1153,3,0.000345926 21 | 4,128,4353,3,0.00127994 22 | 4,256,16897,3,0.00497732 23 | 4,512,66561,3,0.0252684 24 | 4,1024,264193,3,0.0865308 25 | 4,2048,1052673,3,0.347153 26 | 4,4096,4202497,3,1.40063 27 | ,,,, 28 | 8,2,6,3,5.113e-06 29 | 8,4,13,3,1.8599e-05 30 | 8,8,33,3,1.6532e-05 31 | 8,16,97,3,4.7262e-05 32 | 8,32,321,3,0.000205686 33 | 8,64,1153,3,0.00063789 34 | 8,128,4353,3,0.0025154 35 | 8,256,16897,3,0.0107923 36 | 8,512,66561,3,0.0453205 37 | 8,1024,264193,3,0.172756 38 | 8,2048,1052673,3,0.696944 39 | 8,4096,4202497,3,2.77742 40 | ,,,, 41 | 16,2,6,3,8.429e-06 42 | 16,4,13,3,1.1657e-05 43 | 16,8,33,3,3.1198e-05 44 | 16,16,97,3,0.000104972 45 | 16,32,321,3,0.000328828 46 | 16,64,1153,3,0.00124726 47 | 16,128,4353,3,0.00501182 48 | 16,256,16897,3,0.0221591 49 | 16,512,66561,3,0.0866601 50 | 16,1024,264193,3,0.336587 51 | 16,2048,1052673,3,1.38775 52 | 16,4096,4202497,3,5.6751 53 | ,,,, 54 | 32,2,6,3,1.3562e-05 55 | 32,4,13,3,2.1732e-05 56 | 32,8,33,3,6.2101e-05 57 | 32,16,97,3,0.000188254 58 | 32,32,321,3,0.000662656 59 | 32,64,1153,3,0.00260167 60 | 32,128,4353,3,0.0102747 61 | 32,256,16897,3,0.0433731 62 | 32,512,66561,3,0.170737 63 | 32,1024,264193,3,0.691771 64 | 32,2048,1052673,3,2.85256 65 | 32,4096,4202497,3,11.2258 66 | ,,,, 67 | 64,2,6,3,2.4197e-05 68 | 64,4,13,3,4.2636e-05 69 | 64,8,33,3,0.000132918 70 | 64,16,97,3,0.000381543 71 | 64,32,321,3,0.00132221 72 | 64,64,1153,3,0.00513081 73 | 64,128,4353,3,0.0206987 74 | 64,256,16897,3,0.0849041 75 | 64,512,66561,3,0.33993 76 | 64,1024,264193,3,1.38016 77 | 64,2048,1052673,3,5.70653 78 | 64,4096,4202497,3,23.0195 79 | ,,,, 80 | 128,2,6,3,4.9206e-05 81 | 128,4,13,3,0.000111267 82 | 128,8,33,3,0.00025218 83 | 128,16,97,3,0.000789735 84 | 128,32,321,3,0.00292809 85 | 128,64,1153,3,0.0127229 86 | 128,128,4353,3,0.0419486 87 | 128,256,16897,3,0.16453 88 | 128,512,66561,3,0.675367 89 | 128,1024,264193,3,2.74952 90 | 128,2048,1052673,3,11.4217 91 | 128,4096,4202497,3,44.6043 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-8-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,1.834e-06 3 | 2,4,13,3,2.219e-06 4 | 2,8,33,3,1.8706e-05 5 | 2,16,97,3,1.5366e-05 6 | 2,32,321,3,5.3275e-05 7 | 2,64,1153,3,0.000197957 8 | 2,128,4353,3,0.000845115 9 | 2,256,16897,3,0.00337998 10 | 2,512,66561,3,0.0147969 11 | 2,1024,264193,3,0.0555424 12 | 2,2048,1052673,3,0.217976 13 | 2,4096,4202497,3,0.904106 14 | ,,,, 15 | 4,2,6,3,3.105e-06 16 | 4,4,13,3,3.922e-06 17 | 4,8,33,3,1.013e-05 18 | 4,16,97,3,2.9792e-05 19 | 4,32,321,3,0.000106894 20 | 4,64,1153,3,0.000421508 21 | 4,128,4353,3,0.00179171 22 | 4,256,16897,3,0.00679437 23 | 4,512,66561,3,0.0294255 24 | 4,1024,264193,3,0.110915 25 | 4,2048,1052673,3,0.437034 26 | 4,4096,4202497,3,1.80816 27 | ,,,, 28 | 8,2,6,3,4.575e-06 29 | 8,4,13,3,6.891e-06 30 | 8,8,33,3,1.9282e-05 31 | 8,16,97,3,6.6032e-05 32 | 8,32,321,3,0.00020991 33 | 8,64,1153,3,0.000826243 34 | 8,128,4353,3,0.00328252 35 | 8,256,16897,3,0.0135814 36 | 8,512,66561,3,0.0555348 37 | 8,1024,264193,3,0.220409 38 | 8,2048,1052673,3,0.873476 39 | 8,4096,4202497,3,3.61396 40 | ,,,, 41 | 16,2,6,3,7.706e-06 42 | 16,4,13,3,1.3514e-05 43 | 16,8,33,3,4.5434e-05 44 | 16,16,97,3,0.00014168 45 | 16,32,321,3,0.000446564 46 | 16,64,1153,3,0.00174746 47 | 16,128,4353,3,0.00672007 48 | 16,256,16897,3,0.0276901 49 | 16,512,66561,3,0.110651 50 | 16,1024,264193,3,0.436467 51 | 16,2048,1052673,3,1.75899 52 | 16,4096,4202497,3,7.20784 53 | ,,,, 54 | 32,2,6,3,1.4024e-05 55 | 32,4,13,3,2.5958e-05 56 | 32,8,33,3,7.4717e-05 57 | 32,16,97,3,0.000244541 58 | 32,32,321,3,0.000848398 59 | 32,64,1153,3,0.00333074 60 | 32,128,4353,3,0.0133683 61 | 32,256,16897,3,0.055228 62 | 32,512,66561,3,0.219003 63 | 32,1024,264193,3,0.872287 64 | 32,2048,1052673,3,3.51672 65 | 32,4096,4202497,3,14.4273 66 | ,,,, 67 | 64,2,6,3,2.5472e-05 68 | 64,4,13,3,6.3101e-05 69 | 64,8,33,3,0.000158765 70 | 64,16,97,3,0.000510346 71 | 64,32,321,3,0.00172817 72 | 64,64,1153,3,0.00674815 73 | 64,128,4353,3,0.0263946 74 | 64,256,16897,3,0.106578 75 | 64,512,66561,3,0.420253 76 | 64,1024,264193,3,1.68291 77 | 64,2048,1052673,3,6.77581 78 | 64,4096,4202497,3,28.5181 79 | ,,,, 80 | 128,2,6,3,6.6837e-05 81 | 128,4,13,3,0.000112989 82 | 128,8,33,3,0.000324711 83 | 128,16,97,3,0.000974018 84 | 128,32,321,3,0.00342667 85 | 128,64,1153,3,0.0133691 86 | 128,128,4353,3,0.0525576 87 | 128,256,16897,3,0.210441 88 | 128,512,66561,3,0.859662 89 | 128,1024,264193,3,3.49606 90 | 128,2048,1052673,3,13.9386 91 | 128,4096,4202497,3,56.8204 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/verifier-1-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,2.3131e-05 3 | 2,4,13,3,5.0876e-05 4 | 2,8,33,3,3.4939e-05 5 | 2,16,97,3,5.4796e-05 6 | 2,32,321,3,0.000105586 7 | 2,64,1153,3,0.000282463 8 | 2,128,4353,3,0.000759578 9 | 2,256,16897,3,0.00228021 10 | 2,512,66561,3,0.00815161 11 | 2,1024,264193,3,0.0309956 12 | 2,2048,1052673,3,0.12257 13 | 2,4096,4202497,3,0.46672 14 | ,,,, 15 | 4,2,6,3,3.9465e-05 16 | 4,4,13,3,2.9939e-05 17 | 4,8,33,3,4.9948e-05 18 | 4,16,97,3,7.0724e-05 19 | 4,32,321,3,0.000147639 20 | 4,64,1153,3,0.000339998 21 | 4,128,4353,3,0.000795832 22 | 4,256,16897,3,0.00269241 23 | 4,512,66561,3,0.00853315 24 | 4,1024,264193,3,0.0316484 25 | 4,2048,1052673,3,0.123941 26 | 4,4096,4202497,3,0.481597 27 | ,,,, 28 | 8,2,6,3,4.9941e-05 29 | 8,4,13,3,5.4325e-05 30 | 8,8,33,3,6.1245e-05 31 | 8,16,97,3,9.9307e-05 32 | 8,32,321,3,0.000202581 33 | 8,64,1153,3,0.000442043 34 | 8,128,4353,3,0.00102382 35 | 8,256,16897,3,0.00286994 36 | 8,512,66561,3,0.00958658 37 | 8,1024,264193,3,0.0335338 38 | 8,2048,1052673,3,0.127338 39 | 8,4096,4202497,3,0.490595 40 | ,,,, 41 | 16,2,6,3,5.419e-05 42 | 16,4,13,3,6.6531e-05 43 | 16,8,33,3,9.8503e-05 44 | 16,16,97,3,0.000210793 45 | 16,32,321,3,0.000317629 46 | 16,64,1153,3,0.00065148 47 | 16,128,4353,3,0.00156986 48 | 16,256,16897,3,0.00376793 49 | 16,512,66561,3,0.0112198 50 | 16,1024,264193,3,0.0373658 51 | 16,2048,1052673,3,0.134397 52 | 16,4096,4202497,3,0.484465 53 | ,,,, 54 | 32,2,6,3,9.295e-05 55 | 32,4,13,3,0.000135835 56 | 32,8,33,3,0.000180143 57 | 32,16,97,3,0.00033926 58 | 32,32,321,3,0.000588939 59 | 32,64,1153,3,0.00118399 60 | 32,128,4353,3,0.00249965 61 | 32,256,16897,3,0.00554241 62 | 32,512,66561,3,0.0147427 63 | 32,1024,264193,3,0.0430991 64 | 32,2048,1052673,3,0.145665 65 | 32,4096,4202497,3,0.514738 66 | ,,,, 67 | 64,2,6,3,0.000213171 68 | 64,4,13,3,0.0002414 69 | 64,8,33,3,0.00036914 70 | 64,16,97,3,0.0006486 71 | 64,32,321,3,0.00116718 72 | 64,64,1153,3,0.00228649 73 | 64,128,4353,3,0.00448088 74 | 64,256,16897,3,0.0099335 75 | 64,512,66561,3,0.0234351 76 | 64,1024,264193,3,0.0598246 77 | 64,2048,1052673,3,0.186025 78 | 64,4096,4202497,3,0.612551 79 | ,,,, 80 | 128,2,6,3,0.000392085 81 | 128,4,13,3,0.00055556 82 | 128,8,33,3,0.000804 83 | 128,16,97,3,0.00135661 84 | 128,32,321,3,0.00255472 85 | 128,64,1153,3,0.00489625 86 | 128,128,4353,3,0.00955021 87 | 128,256,16897,3,0.0201971 88 | 128,512,66561,3,0.0415531 89 | 128,1024,264193,3,0.0968295 90 | 128,2048,1052673,3,0.261903 91 | 128,4096,4202497,3,0.751273 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/verifier-8-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,2.3048e-05 3 | 2,4,13,3,2.709e-05 4 | 2,8,33,3,3.5118e-05 5 | 2,16,97,3,9.4505e-05 6 | 2,32,321,3,0.00011837 7 | 2,64,1153,3,0.000325701 8 | 2,128,4353,3,0.000977875 9 | 2,256,16897,3,0.00350825 10 | 2,512,66561,3,0.0116384 11 | 2,1024,264193,3,0.0433666 12 | 2,2048,1052673,3,0.167957 13 | 2,4096,4202497,3,0.676202 14 | ,,,, 15 | 4,2,6,3,6.0632e-05 16 | 4,4,13,3,5.8935e-05 17 | 4,8,33,3,8.7319e-05 18 | 4,16,97,3,0.000147949 19 | 4,32,321,3,0.000289135 20 | 4,64,1153,3,0.000640126 21 | 4,128,4353,3,0.00170383 22 | 4,256,16897,3,0.00371348 23 | 4,512,66561,3,0.0119029 24 | 4,1024,264193,3,0.0452574 25 | 4,2048,1052673,3,0.165894 26 | 4,4096,4202497,3,0.682788 27 | ,,,, 28 | 8,2,6,3,8.4537e-05 29 | 8,4,13,3,0.00010242 30 | 8,8,33,3,0.000140917 31 | 8,16,97,3,0.000247514 32 | 8,32,321,3,0.000460019 33 | 8,64,1153,3,0.00103376 34 | 8,128,4353,3,0.00244383 35 | 8,256,16897,3,0.00603025 36 | 8,512,66561,3,0.0166512 37 | 8,1024,264193,3,0.0509237 38 | 8,2048,1052673,3,0.184343 39 | 8,4096,4202497,3,0.709591 40 | ,,,, 41 | 16,2,6,3,9.9884e-05 42 | 16,4,13,3,0.000119181 43 | 16,8,33,3,0.000177547 44 | 16,16,97,3,0.000305734 45 | 16,32,321,3,0.000593034 46 | 16,64,1153,3,0.00131712 47 | 16,128,4353,3,0.00849482 48 | 16,256,16897,3,0.00681946 49 | 16,512,66561,3,0.0181581 50 | 16,1024,264193,3,0.0545039 51 | 16,2048,1052673,3,0.195096 52 | 16,4096,4202497,3,0.696258 53 | ,,,, 54 | 32,2,6,3,0.00060904 55 | 32,4,13,3,0.000167615 56 | 32,8,33,3,0.00025881 57 | 32,16,97,3,0.00044768 58 | 32,32,321,3,0.00345608 59 | 32,64,1153,3,0.00172793 60 | 32,128,4353,3,0.00376578 61 | 32,256,16897,3,0.00854 62 | 32,512,66561,3,0.0211154 63 | 32,1024,264193,3,0.0623028 64 | 32,2048,1052673,3,0.209804 65 | 32,4096,4202497,3,0.748223 66 | ,,,, 67 | 64,2,6,3,0.000210834 68 | 64,4,13,3,0.000281782 69 | 64,8,33,3,0.000407982 70 | 64,16,97,3,0.000720298 71 | 64,32,321,3,0.00132348 72 | 64,64,1153,3,0.0271723 73 | 64,128,4353,3,0.00561181 74 | 64,256,16897,3,0.0117811 75 | 64,512,66561,3,0.0277232 76 | 64,1024,264193,3,0.0744899 77 | 64,2048,1052673,3,0.230022 78 | 64,4096,4202497,3,0.801636 79 | ,,,, 80 | 128,2,6,3,0.000363814 81 | 128,4,13,3,0.000478418 82 | 128,8,33,3,0.0127439 83 | 128,16,97,3,0.00141906 84 | 128,32,321,3,0.00237843 85 | 128,64,1153,3,0.0044941 86 | 128,128,4353,3,0.00896587 87 | 128,256,16897,3,0.0185007 88 | 128,512,66561,3,0.041569 89 | 128,1024,264193,3,0.276371 90 | 128,2048,1052673,3,0.288084 91 | 128,4096,4202497,3,0.893898 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/verifier-2-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,3.4405e-05 3 | 2,4,13,3,4.0535e-05 4 | 2,8,33,3,5.8787e-05 5 | 2,16,97,3,0.000101992 6 | 2,32,321,3,0.000205463 7 | 2,64,1153,3,0.000464844 8 | 2,128,4353,3,0.00117662 9 | 2,256,16897,3,0.00398863 10 | 2,512,66561,3,0.0124327 11 | 2,1024,264193,3,0.0451397 12 | 2,2048,1052673,3,0.175964 13 | 2,4096,4202497,3,0.685573 14 | ,,,, 15 | 4,2,6,3,3.8621e-05 16 | 4,4,13,3,7.4309e-05 17 | 4,8,33,3,6.8993e-05 18 | 4,16,97,3,0.000117943 19 | 4,32,321,3,0.000229711 20 | 4,64,1153,3,0.000517176 21 | 4,128,4353,3,0.00131012 22 | 4,256,16897,3,0.00391622 23 | 4,512,66561,3,0.0126915 24 | 4,1024,264193,3,0.0443038 25 | 4,2048,1052673,3,0.170578 26 | 4,4096,4202497,3,0.661747 27 | ,,,, 28 | 8,2,6,3,7.87e-05 29 | 8,4,13,3,9.8702e-05 30 | 8,8,33,3,0.000132271 31 | 8,16,97,3,0.000222624 32 | 8,32,321,3,0.000440542 33 | 8,64,1153,3,0.000642418 34 | 8,128,4353,3,0.00152152 35 | 8,256,16897,3,0.00423261 36 | 8,512,66561,3,0.0134547 37 | 8,1024,264193,3,0.0460644 38 | 8,2048,1052673,3,0.173643 39 | 8,4096,4202497,3,0.665901 40 | ,,,, 41 | 16,2,6,3,7.4937e-05 42 | 16,4,13,3,8.0347e-05 43 | 16,8,33,3,0.000132651 44 | 16,16,97,3,0.000209036 45 | 16,32,321,3,0.000401655 46 | 16,64,1153,3,0.00082621 47 | 16,128,4353,3,0.00192219 48 | 16,256,16897,3,0.00501716 49 | 16,512,66561,3,0.0148135 50 | 16,1024,264193,3,0.0499485 51 | 16,2048,1052673,3,0.179889 52 | 16,4096,4202497,3,0.688697 53 | ,,,, 54 | 32,2,6,3,0.000123701 55 | 32,4,13,3,0.000137845 56 | 32,8,33,3,0.000202039 57 | 32,16,97,3,0.00033522 58 | 32,32,321,3,0.000624253 59 | 32,64,1153,3,0.00127131 60 | 32,128,4353,3,0.00276132 61 | 32,256,16897,3,0.00668426 62 | 32,512,66561,3,0.018103 63 | 32,1024,264193,3,0.0575996 64 | 32,2048,1052673,3,0.198625 65 | 32,4096,4202497,3,0.706862 66 | ,,,, 67 | 64,2,6,3,0.000180552 68 | 64,4,13,3,0.000220648 69 | 64,8,33,3,0.000347676 70 | 64,16,97,3,0.000597101 71 | 64,32,321,3,0.00109876 72 | 64,64,1153,3,0.00212524 73 | 64,128,4353,3,0.00443605 74 | 64,256,16897,3,0.0100389 75 | 64,512,66561,3,0.025346 76 | 64,1024,264193,3,0.0694057 77 | 64,2048,1052673,3,0.21954 78 | 64,4096,4202497,3,0.78494 79 | ,,,, 80 | 128,2,6,3,0.00036766 81 | 128,4,13,3,0.000426628 82 | 128,8,33,3,0.000657438 83 | 128,16,97,3,0.00112513 84 | 128,32,321,3,0.00207878 85 | 128,64,1153,3,0.0039871 86 | 128,128,4353,3,0.0080414 87 | 128,256,16897,3,0.0172229 88 | 128,512,66561,3,0.0393264 89 | 128,1024,264193,3,0.0979671 90 | 128,2048,1052673,3,0.282536 91 | 128,4096,4202497,3,0.887477 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/verifier-4-thread.csv: -------------------------------------------------------------------------------- 1 | batch_size, input_size, circuit_size, degree, time (in sec) 2 | 2,2,6,3,5.3839e-05 3 | 2,4,13,3,4.7512e-05 4 | 2,8,33,3,6.7606e-05 5 | 2,16,97,3,0.000112353 6 | 2,32,321,3,0.000238357 7 | 2,64,1153,3,0.000517255 8 | 2,128,4353,3,0.00151841 9 | 2,256,16897,3,0.00369142 10 | 2,512,66561,3,0.0116302 11 | 2,1024,264193,3,0.0430954 12 | 2,2048,1052673,3,0.176606 13 | 2,4096,4202497,3,0.683354 14 | ,,,, 15 | 4,2,6,3,5.9243e-05 16 | 4,4,13,3,6.8266e-05 17 | 4,8,33,3,0.000104129 18 | 4,16,97,3,0.000192884 19 | 4,32,321,3,0.000349642 20 | 4,64,1153,3,0.000538406 21 | 4,128,4353,3,0.00207449 22 | 4,256,16897,3,0.00519722 23 | 4,512,66561,3,0.0130519 24 | 4,1024,264193,3,0.0465827 25 | 4,2048,1052673,3,0.177198 26 | 4,4096,4202497,3,0.690294 27 | ,,,, 28 | 8,2,6,3,8.2205e-05 29 | 8,4,13,3,8.6026e-05 30 | 8,8,33,3,0.000147791 31 | 8,16,97,3,0.000225178 32 | 8,32,321,3,0.000462508 33 | 8,64,1153,3,0.000927299 34 | 8,128,4353,3,0.00223793 35 | 8,256,16897,3,0.00427506 36 | 8,512,66561,3,0.0156107 37 | 8,1024,264193,3,0.047779 38 | 8,2048,1052673,3,0.182579 39 | 8,4096,4202497,3,0.677081 40 | ,,,, 41 | 16,2,6,3,0.000113992 42 | 16,4,13,3,0.000116032 43 | 16,8,33,3,0.000186084 44 | 16,16,97,3,0.000306078 45 | 16,32,321,3,0.000571837 46 | 16,64,1153,3,0.00120589 47 | 16,128,4353,3,0.00178515 48 | 16,256,16897,3,0.00493896 49 | 16,512,66561,3,0.0149692 50 | 16,1024,264193,3,0.0504539 51 | 16,2048,1052673,3,0.190385 52 | 16,4096,4202497,3,0.703268 53 | ,,,, 54 | 32,2,6,3,0.00015046 55 | 32,4,13,3,0.000175527 56 | 32,8,33,3,0.000277581 57 | 32,16,97,3,0.000463356 58 | 32,32,321,3,0.000866356 59 | 32,64,1153,3,0.00178517 60 | 32,128,4353,3,0.00254003 61 | 32,256,16897,3,0.00617187 62 | 32,512,66561,3,0.0174866 63 | 32,1024,264193,3,0.0551472 64 | 32,2048,1052673,3,0.191426 65 | 32,4096,4202497,3,0.696981 66 | ,,,, 67 | 64,2,6,3,0.000241695 68 | 64,4,13,3,0.000294681 69 | 64,8,33,3,0.000450447 70 | 64,16,97,3,0.000787916 71 | 64,32,321,3,0.00158392 72 | 64,64,1153,3,0.00296593 73 | 64,128,4353,3,0.00616482 74 | 64,256,16897,3,0.00868897 75 | 64,512,66561,3,0.0225492 76 | 64,1024,264193,3,0.0654059 77 | 64,2048,1052673,3,0.208555 78 | 64,4096,4202497,3,0.770678 79 | ,,,, 80 | 128,2,6,3,0.000419589 81 | 128,4,13,3,0.000549739 82 | 128,8,33,3,0.000851143 83 | 128,16,97,3,0.00158347 84 | 128,32,321,3,0.00157838 85 | 128,64,1153,3,0.0030849 86 | 128,128,4353,3,0.00638896 87 | 128,256,16897,3,0.016818 88 | 128,512,66561,3,0.0327509 89 | 128,1024,264193,3,0.0853533 90 | 128,2048,1052673,3,0.256377 91 | 128,4096,4202497,3,0.854242 92 | ,,,, 93 | -------------------------------------------------------------------------------- /src/proof_system/common.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for common utilities. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef COMMON_HPP_ 12 | #define COMMON_HPP_ 13 | 14 | #include "src/proof_system/domain.hpp" 15 | 16 | namespace bace { 17 | 18 | /***************************** INPUT / OUTPUT ********************************/ 19 | 20 | template 21 | using input_t = std::vector; 22 | 23 | template 24 | using input_batch_t = std::vector >; 25 | 26 | template 27 | using output_batch_t = std::vector; 28 | 29 | /**************************** PROVER / VERIFIER ******************************/ 30 | 31 | template 32 | using column_lde_t = std::vector >; 33 | 34 | template 35 | using proof_t = std::vector; 36 | 37 | /* 38 | * Returns the input size of a given batch of inputs, or 0 if there is a 39 | * mismatch among input sizes in the batch. 40 | * 41 | * Given a batch of inputs, the function determines whether all inputs have 42 | * matching input size. As inputs should have, by definition, at least 43 | * one element, the function returns 0 in the case that there is a mismatch 44 | * of input sizes. One can use this return value as a sanity check for 45 | * input size correctness. 46 | */ 47 | template 48 | size_t get_input_size(const input_batch_t &input_batch); 49 | 50 | /* 51 | * Returns the column_lde_t of a given input batch in vector form, or an 52 | * empty vector if there is a mismatch among input sizes. 53 | * 54 | * Given a batch of inputs, consider these to be ordered as rows of inputs. 55 | * The function computes the column-wise low degree extension by taking 56 | * the inverse FFT of the columns on a column_size domain. 57 | * 58 | * column_lde[i] = IFFT([input_batch[1][i], ... , input_batch[batch_size][i]]) 59 | */ 60 | template 61 | column_lde_t compute_column_lde(const input_batch_t &input_batch, 62 | const size_t &column_size); 63 | 64 | } // bace 65 | 66 | #include "common.tcc" 67 | 68 | #endif // COMMON_HPP_ 69 | -------------------------------------------------------------------------------- /src/proof_system/verifier.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for the verifier. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef VERIFIER_HPP_ 12 | #define VERIFIER_HPP_ 13 | 14 | #include "src/arithmetic_circuit/arithmetic_circuit.hpp" 15 | #include "src/proof_system/common.hpp" 16 | 17 | namespace bace { 18 | 19 | /* 20 | * Returns a batch of outputs, given an arithmetic circuit, batch of inputs, 21 | * and proof from the prover. 22 | * 23 | * The verifier first performs a probabilistic check of the proof provided by 24 | * the prover. The verifier constructs the column_lde_t and selects a random 25 | * field element, evaluating the random element on the columns to compose an 26 | * input vector of input_size. Then, the verifier evaluates this input vector 27 | * on the given circuit and evaluates the random field element on the proof to 28 | * verify that the two outputs match. 29 | * 30 | * If the two evaluations match, there is a large probability 31 | * that the proof is correct, and the verifier proceeds to derive 32 | * the batch of outputs from the proof. After evaluating on a large degree 33 | * by taking the FFT of the proof, the verifier selects the outputs, seperated 34 | * approximately degree indices apart by properties of the FFT. 35 | * 36 | * random = FieldT::random_element() 37 | * random_input = [column_lde[1](random), ... , column_lde[input_size](random)] 38 | * output_mine = circuit.evaluate(random_input) 39 | * output_proof = proof(random) 40 | * 41 | * In the case that the outputs from the evaluation of the random input and 42 | * proof do not match, the verifier will return an empty vector as output. If 43 | * there is a size mismatch among the batch of inputs, the verifier will either 44 | * return an output batch composed of zeros, or error if the input size fails 45 | * to match the circuit's defined input size. 46 | */ 47 | template 48 | void verifier(const arithmetic_circuit_t &circuit, 49 | const input_batch_t &input_batch, 50 | output_batch_t &output_batch, 51 | const proof_t &proof); 52 | 53 | } // bace 54 | 55 | #include "verifier.tcc" 56 | 57 | #endif // VERIFIER_HPP_ 58 | -------------------------------------------------------------------------------- /src/test/test_verifier.cpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | * @author This file is part of bace, developed by SCIPR Lab 4 | * and contributors (see AUTHORS). 5 | * @copyright MIT license (see LICENSE file) 6 | *****************************************************************************/ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #include "algebra/curves/mnt/mnt4/mnt4_pp.hpp" 14 | 15 | #include "src/arithmetic_circuit/arithmetic_circuit.hpp" 16 | #include "src/proof_system/prover.hpp" 17 | #include "src/proof_system/verifier.hpp" 18 | #include "src/proof_system/naive_evaluation.hpp" 19 | 20 | using namespace bace; 21 | 22 | template 23 | void test_verifier() 24 | { 25 | /* Arithmetic circuit over F_q with input_size variables */ 26 | const size_t input_size = 8; 27 | 28 | /* Evaluation for batch_size points */ 29 | const size_t batch_size = 8; 30 | 31 | /* Input input_batch_1, ... , input_batch_{batch_size} in (F_q)^input_size */ 32 | input_batch_t input_batch(batch_size); 33 | for (int i = 0; i < batch_size; i++) 34 | { 35 | input_batch[i] = std::vector(input_size); 36 | for (int j = 0; j < input_size; j++) 37 | { 38 | input_batch[i][j] = FieldT(rand() % FieldT::s); 39 | } 40 | } 41 | 42 | /* Arithmetic circuit construction */ 43 | arithmetic_circuit_t circuit = arithmetic_circuit_t(input_size); 44 | circuit.add_quadratic_inner_product_gates(); 45 | 46 | /* Proof */ 47 | proof_t proof; 48 | prover(circuit, input_batch, proof); 49 | 50 | /* Output output_batch_1, ... , output_batch_k in F_q, s.t. output_batch_i = circuit(input_batch_i) */ 51 | output_batch_t output_batch; 52 | output_batch_t output_batch_naive; 53 | verifier(circuit, input_batch, output_batch, proof); 54 | naive_evaluate(circuit, input_batch, output_batch_naive); 55 | 56 | printf("%ld == %ld\n", output_batch.size(), output_batch_naive.size()); 57 | assert(output_batch.size() == output_batch_naive.size()); 58 | for (size_t i = 0; i < output_batch.size(); i++) 59 | { 60 | printf("%ld == %ld\n", output_batch[i].as_ulong(), output_batch_naive[i].as_ulong()); 61 | assert(output_batch[i] == output_batch_naive[i]); 62 | } 63 | } 64 | 65 | int main() 66 | { 67 | libff::mnt4_pp::init_public_params(); 68 | test_verifier >(); 69 | return 0; 70 | } 71 | -------------------------------------------------------------------------------- /src/proof_system/domain.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for domain. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef DOMAIN_HPP_ 12 | #define DOMAIN_HPP_ 13 | 14 | #include "evaluation_domain/evaluation_domain.hpp" 15 | 16 | namespace bace { 17 | 18 | template 19 | using domain_t = std::shared_ptr >; 20 | 21 | /* 22 | * Returns an evaluation domain given the domain_size. 23 | * 24 | * Our construction makes the assumption that the roots of unity always exist 25 | * by choosing to use the basic radix-2 domain. This ensures the small domain 26 | * used to construct the column_lde_t will always be embedded within the 27 | * large domain. This structure makes it convenient to select the embedded 28 | * indices of the output on the large domain, as the points will be a power 29 | * of two apart. 30 | */ 31 | template 32 | domain_t get_evaluation_domain(const size_t &domain_size); 33 | 34 | /* 35 | * Returns the closest previous power of two, or itself if it's a power of two. 36 | * 37 | * Note: The technique will only work up to 32-bit values. For the purposes of 38 | * this library, this issue should not arise, as it is used with respect to 39 | * the circuit's degree size. 40 | * 41 | * https://stackoverflow.com/questions/2679815/previous-power-of-2 42 | */ 43 | unsigned int get_previous_power_of_two(const unsigned int &n); 44 | 45 | /* 46 | * Returns the corresponding, embedded index in the large_domain_size for a 47 | * given index in the small_domain_size. 48 | * 49 | * The function assumes the small domain is embedded in the large domain, 50 | * allowing it to find a corresponding relation in index between the the 51 | * two domains. This implementation uses the basic radix-2 domain, where 52 | * the large_domain_size is a factor of the small_domain_size. So the jump 53 | * between points of interest in the large domain is some distance apart, 54 | * namely the factor's previous power of two in a radix-2 domain. 55 | */ 56 | unsigned int get_embedded_index(const size_t &index, 57 | const size_t &small_domain_size, 58 | const size_t &large_domain_size); 59 | 60 | /* 61 | * Returns the column size given a batch_size. 62 | * 63 | * This function extends the batch size to the nearest power of two. This is 64 | * necessary for constructing a column_lde_t on the radix-2 domain. 65 | */ 66 | size_t get_column_size(const size_t &batch_size); 67 | 68 | /* 69 | * Returns the large_degree domain size given a column_size and circuit degree. 70 | * 71 | * This function determines the large_degree domain size by extending the 72 | * product of the column_size and degree to the nearest power of two. This 73 | * ensures there exists an embedding of the small domain in the large domain. 74 | */ 75 | size_t get_large_degree(const size_t &column_size, const size_t °ree); 76 | 77 | } // bace 78 | 79 | #include "domain.tcc" 80 | 81 | #endif // DOMAIN_HPP_ 82 | -------------------------------------------------------------------------------- /src/test/test_circuit.cpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | * @author This file is part of bace, developed by SCIPR Lab 4 | * and contributors (see AUTHORS). 5 | * @copyright MIT license (see LICENSE file) 6 | *****************************************************************************/ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #include "algebra/curves/mnt/mnt4/mnt4_pp.hpp" 14 | 15 | #include "src/arithmetic_circuit/arithmetic_circuit.hpp" 16 | 17 | using namespace bace; 18 | 19 | template 20 | void test_circuit_evaluate() 21 | { 22 | /* Arithmetic circuit C over F_q with n variables 23 | * C = ((x_1 + x_2) + x_3 + x_3) * (x_1 + x_2) * x_4 */ 24 | const size_t n = 4; 25 | arithmetic_circuit_t C = arithmetic_circuit_t(n); 26 | 27 | /* First gate */ 28 | const input_element_t e1 = { VARIABLE, 1 }; 29 | const input_element_t e2 = { VARIABLE, 2 }; 30 | const gate_t g1 = { SUM, std::vector > { e1, e2 } }; 31 | const int g1_number = C.add_gate(g1); 32 | 33 | /* Second gate */ 34 | const input_element_t e3 = { VARIABLE, g1_number }; 35 | const input_element_t e4 = { VARIABLE, 3 }; 36 | const gate_t g2 = { SUM, std::vector > { e3, e4, e4 } }; 37 | const int g2_number = C.add_gate(g2); 38 | 39 | /* Second gate */ 40 | const input_element_t e5 = { VARIABLE, g2_number }; 41 | const input_element_t e6 = { VARIABLE, 4 }; 42 | const gate_t g3 = { PRODUCT, std::vector > { e5, e6, e3 } }; 43 | C.add_gate(g3); 44 | 45 | /* Output y_1, ... , y_k in F_q, s.t. y_i = C(x_i) */ 46 | const FieldT res = C.evaluate(std::vector { 2, 7, 6, 2 }); 47 | printf("%ld == 378\n", res.as_ulong()); 48 | assert(res == 378); 49 | } 50 | 51 | template 52 | void test_circuit_evaluate_inner_product() 53 | { 54 | /* Arithmetic circuit C over F_q with input_size variables */ 55 | const size_t input_size = 4; 56 | arithmetic_circuit_t circuit = arithmetic_circuit_t(input_size); 57 | circuit.add_inner_product_gates(); 58 | 59 | /* Output y_1, ... , y_k in F_q, s.t. y_i = C(x_i) */ 60 | const FieldT res = circuit.evaluate(std::vector { 2, 7, 6, 2 }); 61 | printf("%ld == 26\n", res.as_ulong()); 62 | assert(res == 26); 63 | } 64 | 65 | template 66 | void test_circuit_evaluate_quadratic_inner_product() 67 | { 68 | /* Arithmetic circuit C over F_q with input_size variables */ 69 | const size_t input_size = 4; 70 | arithmetic_circuit_t circuit = arithmetic_circuit_t(input_size); 71 | circuit.add_quadratic_inner_product_gates(); 72 | 73 | /* Output y_1, ... , y_k in F_q, s.t. y_i = C(x_i) */ 74 | const FieldT res = circuit.evaluate(std::vector { 2, 7, 6, 2 }); 75 | printf("%ld == 424\n", res.as_ulong()); 76 | assert(res == 424); 77 | } 78 | 79 | int main() 80 | { 81 | libff::mnt4_pp::init_public_params(); 82 | test_circuit_evaluate >(); 83 | test_circuit_evaluate_inner_product >(); 84 | test_circuit_evaluate_quadratic_inner_product >(); 85 | return 0; 86 | } 87 | -------------------------------------------------------------------------------- /src/arithmetic_circuit/arithmetic_circuit.hpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Declaration of interfaces for arithmetic circuit. 4 | 5 | ***************************************************************************** 6 | * @author This file is part of bace, developed by SCIPR Lab 7 | * and contributors (see AUTHORS). 8 | * @copyright MIT license (see LICENSE file) 9 | *****************************************************************************/ 10 | 11 | #ifndef ARITHMETIC_CIRCUIT_HPP_ 12 | #define ARITHMETIC_CIRCUIT_HPP_ 13 | 14 | #include "src/proof_system/common.hpp" 15 | 16 | namespace bace { 17 | 18 | /************************ ARITHMETIC CIRCUIT GATE ****************************/ 19 | 20 | /* 21 | * A circuit gate is composed of a type (ex. SUM, PRODUCT) and a vector of 22 | * input gates. Each input gate is defined by its input type, which is 23 | * either an index reference to the variable (gate number), or a field element 24 | * treated as a constant value. 25 | * 26 | * For a detailed explanation and example, see the evaluate() function below. 27 | */ 28 | 29 | enum input_type_t { CONSTANT, VARIABLE }; 30 | 31 | template 32 | union input_value_t 33 | { 34 | int variable; 35 | FieldT constant; 36 | }; 37 | 38 | template 39 | struct input_element_t 40 | { 41 | input_type_t type; 42 | input_value_t value; 43 | }; 44 | 45 | enum gate_type_t { SUM, PRODUCT }; 46 | 47 | template 48 | struct gate_t 49 | { 50 | gate_type_t type; 51 | std::vector > input_gates; 52 | }; 53 | 54 | /*************************** ARITHMETIC CIRCUIT ******************************/ 55 | 56 | template 57 | class arithmetic_circuit_t { 58 | public: 59 | arithmetic_circuit_t(const size_t &input_size) : _input_size(input_size) {}; 60 | 61 | /* 62 | * Returns the evaluation of the circuit for the given input. Note that 63 | * the size of input_t must match the circuit's input size. If the circuit 64 | * contains no gates, the evaluation will return 0. 65 | */ 66 | FieldT evaluate(const input_t &input) const; 67 | 68 | /* 69 | * Adds the provided gate to the circuit. Each gate is composed of 70 | * two parts, a gate type (ex. SUM, PRODUCT) and a vector of input gates. 71 | * 72 | * The input gates are composed of input_element_t's. Each input_element_t 73 | * is composed of a type (ex. CONSTANT, VARIABLE) and a value. For an 74 | * input type of CONSTANT, provide the constant field element. For an 75 | * input type of VARIABLE, provide the integer gate number. 76 | * 77 | * The following is an example construction: 78 | * 79 | * input_element_t e1 = { VARIABLE, gate_number_1 }; 80 | * input_element_t e2 = { VARIABLE, gate_number_2 }; 81 | * gate_t gate = { PRODUCT, std::vector > { e1, e2 } }; 82 | */ 83 | int add_gate(const gate_t &g); 84 | 85 | /* Clears all sum and product gates from the circuit */ 86 | void clear_gates(); 87 | 88 | /* Returns the sum of input gates, sum gates, and product gates. */ 89 | size_t size() const; 90 | 91 | /* Returns the largest degree computed by any particular gate. */ 92 | size_t degree() const; 93 | 94 | /* Returns the number of inputs for the circuit */ 95 | size_t num_inputs() const; 96 | 97 | /* Prints circuit size, circuit degree, and number of inputs */ 98 | void print_info() const; 99 | 100 | /* 101 | * Adds a quadratic circuit of degree 3, by dividing the input length 102 | * into two components, left and right, each of length middle = input / 2. 103 | * The circuit takes an inner product of the left component with the 104 | * right component. 105 | */ 106 | void add_inner_product_gates(); 107 | 108 | /* 109 | * Adds a quadratic circuit of degree 3, by dividing the input length 110 | * into two components, left and right, each of length middle = input / 2. 111 | * The circuit takes an inner product of the left component with itself 112 | * length middle times. This constructs a new length middle component, 113 | * call it square. The circuit then takes an inner product of the 114 | * square component with the right component. 115 | */ 116 | void add_quadratic_inner_product_gates(); 117 | 118 | private: 119 | const size_t _input_size; 120 | std::vector > _gates; 121 | }; 122 | 123 | } // bace 124 | 125 | #include "arithmetic_circuit.tcc" 126 | 127 | #endif // ARITHMETIC_CIRCUIT_HPP_ 128 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Batch Arithmetic Circuit Evaluation (BACE)

2 | 3 | __BACE__ is a C++ library for evaluating arithmetic circuits on batches of inputs. 4 | 5 | The protocol is an efficient implementation of the Merlin-Arthur proof system presented in the paper "_Strong ETH Breaks With Merlin and Arthur: Short Non-Interactive Proofs of Batch Evaluation_" (Williams, CCC 2016). The paper can be found [here](https://arxiv.org/pdf/1601.04743v1) and slides can be found [here](http://computationalcomplexity.org/Archive/2016/slides/williams-ccc2016.pdf). The proof system consists of a single message from the (deterministic) prover to the (probabilistic) verifier; the statement being proved is about the correctness of evaluating an arithmetic circuit on a batch of inputs. 6 | 7 | The library is developed by [SCIPR Lab] and contributors (see [AUTHORS] file) and is released under the MIT License (see [LICENSE] file). Check out the [__Performance__](#performance) section for runtime data. 8 | 9 | ## Table of contents 10 | 11 | - [Directory Structure](#directory-structure) 12 | - [Build guide](#build-guide) 13 | - [Testing](#testing) 14 | - [Profiling](#profiling) 15 | - [Performance](#performance) 16 | 17 | ## Directory structure 18 | 19 | The directory structure is as follows: 20 | 21 | * [__src__](src): C++ source code, containing the following modules: 22 | * [__arithmetic\_circuit__](src/arithmetic_circuit): interface for arithmetic circuit 23 | * [__proof\_system__](src/proof_system): prover, verifier, and naive evaluation 24 | * [__profiling__](src/profiling): profile and plot runtimes 25 | * [__tests__](src/tests): collection of tests 26 | 27 | ## Build guide 28 | 29 | The library has the following dependencies: 30 | 31 | * [CMake](http://cmake.org/) 32 | * [GMP](http://gmplib.org/) 33 | * [gnuplot](http://www.gnuplot.info/) 34 | * [libprocps](http://packages.ubuntu.com/trusty/libprocps3-dev) 35 | * [libff](https://github.com/scipr-lab/libff) 36 | * [libfqfft](https://github.com/scipr-lab/libfqfft) 37 | 38 | The library has been tested on Linux, but it is compatible with Windows and Mac OS X. 39 | 40 | ### Installation 41 | 42 | On Ubuntu 14.04 LTS: 43 | 44 | ``` 45 | sudo apt-get install build-essential git cmake gnuplot-x11 libgmp3-dev libprocps3-dev 46 | ``` 47 | 48 | Then follow the build guide for [libff](https://github.com/scipr-lab/libff) and [libfqfft](https://github.com/scipr-lab/libfqfft). 49 | 50 | ### Compilation 51 | 52 | To compile, starting at the project root directory and setup the `build` directory: 53 | 54 | ``` 55 | mkdir build && cd build && cmake .. 56 | ``` 57 | 58 | Then, to compile the library and profiler, run: 59 | 60 | ``` 61 | make 62 | ``` 63 | 64 | The above makes the `build` folder and compiles the profiler to the project root directory. To remove all executables, from the build folder, run `make clean`. 65 | 66 | #### Options 67 | 68 | The following flags change the behavior of the compiled code: 69 | 70 | * `cmake .. -DMULTICORE=ON` 71 | Enables parallelized execution using OpenMP. This will utilize all cores on the CPU for heavyweight parallelizable operations such as FFT. 72 | 73 | * `cmake .. -DOPT_FLAGS={ FLAGS }` 74 | Passes specified optimizations flags to compiler. 75 | 76 | * `cmake .. -PROF_DOUBLE=ON` 77 | Enables profiling with Double (default: ON). If the flag is turned off, profiling will use `Fr`. 78 | 79 | ## Testing 80 | 81 | This library includes unit tests that cover arithmetic circuit, prover, and verifier evaluation. The test suite is easily extensible to support a wide range of fields and domain sizes. To run the tests for this library, after [Compilation](#compilation), run: 82 | 83 | ``` 84 | make check 85 | ``` 86 | 87 | ## Profiling 88 | 89 | The library profiles runtimes with multi-threading support, and plots the resulting data using [gnuplot](http://www.gnuplot.info/). All profiling and plotting activity is logged under `src/profiling/logs`; logs are sorted into a directory hierarchy by timestamp. 90 | 91 | After [Compilation](#compilation), start the profiler by running ```./profile``` from the project root directory. The profiler logs runtimes for the naive evaluation, prover, and verifier, across varying batch and input sizes. Then, it plots graphs comparing naive evaluation with the verifier, naive evaluation with the prover, and runtimes across threads for the naive evaluation, prover, and verifier. Profiling results and plots are saved under ```src/profiling/logs/{datetime}```. 92 | 93 | ## Performance 94 | 95 | __Machine Specification:__ The following benchmark data was obtained on a 64-bit Intel i7 Quad-Core machine with 16GB RAM (2x8GB) running Ubuntu 14.04 LTS. The code is compiled using g++ 4.8.4. 96 | 97 | ``` 98 | Architecture: x86_64 99 | CPU op-mode(s): 32-bit, 64-bit 100 | Byte Order: Little Endian 101 | CPU(s): 8 102 | On-line CPU(s) list: 0-7 103 | Thread(s) per core: 1 104 | Core(s) per socket: 2 105 | Socket(s): 4 106 | NUMA node(s): 1 107 | Vendor ID: GenuineIntel 108 | CPU family: 6 109 | Model: 94 110 | Stepping: 3 111 | CPU MHz: 4008.007 112 | BogoMIPS: 8016.01 113 | Virtualization: VT-x 114 | L1d cache: 32K 115 | L1i cache: 32K 116 | L2 cache: 256K 117 | L3 cache: 8192K 118 | NUMA node0 CPU(s): 0-7 119 | ``` 120 | 121 | ### Runtime 122 | 123 | These runtime benchmarks are determined by constructing an arithmetic circuit of degree 3 using quadratic inner product gates. For every batch size, the input size is varied by powers of two to determine the threshold values for which the verifier's evaluation becomes more cost effective than performing the naive evaluation. 124 | 125 |

126 | 127 | The left graph compares the runtime cost of naive evaluation with the prover's cost of constructing a proof for the verifier. The right graph compares runtime cost of naive evaluation with the verifier's cost of performing a probabilistic check and evaluation from the proof. 128 | 129 | [SCIPR Lab]: http://www.scipr-lab.org/ (Succinct Computational Integrity and Privacy Research Lab) 130 | 131 | [LICENSE]: LICENSE (LICENSE file in top directory of bace distribution) 132 | 133 | [AUTHORS]: AUTHORS (AUTHORS file in top directory of bace distribution) -------------------------------------------------------------------------------- /src/profiling/profile.cpp: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of functions for profiler. 4 | ***************************************************************************** 5 | * @author This file is part of bace, developed by SCIPR Lab 6 | * and contributors (see AUTHORS). 7 | * @copyright MIT license (see LICENSE file) 8 | *****************************************************************************/ 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "algebra/curves/alt_bn128/alt_bn128_pp.hpp" 24 | #include "common/double.hpp" 25 | 26 | #include "src/proof_system/prover.hpp" 27 | #include "src/proof_system/verifier.hpp" 28 | #include "src/proof_system/naive_evaluation.hpp" 29 | 30 | using namespace bace; 31 | 32 | void plot(const std::string &path) 33 | { 34 | /* System Call */ 35 | std::string cmd = "gnuplot -e \"input_directory=\'" + path + "\'\" src/profiling/plot/runtime_plot.gp"; 36 | if (system(cmd.c_str()) == 0) printf("Plotted profile to %s\n", path.c_str()); 37 | } 38 | 39 | template 40 | std::pair, std::pair > profile(const std::vector > &input_batch, 41 | const size_t &input_size, 42 | const std::string &type) 43 | { 44 | double start; 45 | double end; 46 | 47 | double start_prover; 48 | double end_prover; 49 | 50 | proof_t proof; 51 | std::vector output_batch; 52 | 53 | arithmetic_circuit_t circuit = arithmetic_circuit_t(input_size); 54 | circuit.add_quadratic_inner_product_gates(); 55 | 56 | /* Perform operation */ 57 | if (type == "naive") 58 | { 59 | start = omp_get_wtime(); 60 | naive_evaluate(circuit, input_batch, output_batch); 61 | end = omp_get_wtime() - start; 62 | } 63 | else 64 | { 65 | start_prover = omp_get_wtime(); 66 | prover(circuit, input_batch, proof); 67 | end_prover = omp_get_wtime() - start_prover; 68 | 69 | start = omp_get_wtime(); 70 | verifier(circuit, input_batch, output_batch, proof); 71 | end = omp_get_wtime() - start; 72 | } 73 | 74 | return std::make_pair(std::make_pair(end, end_prover), std::make_pair(circuit.degree(), circuit.size())); 75 | } 76 | 77 | template 78 | void initialize(const std::string &path, const std::string &type, const int &num_threads) 79 | { 80 | size_t batch_size; 81 | size_t input_size; 82 | 83 | double runtime; 84 | double runtime_prover; 85 | size_t degree; 86 | size_t circuit_size; 87 | 88 | std::pair, std::pair > profile_stats; 89 | 90 | /* Runtime File */ 91 | std::ofstream runtime_file; 92 | runtime_file.open(path + type + "-" + std::to_string(num_threads) + "-thread.csv"); 93 | runtime_file << "batch_size, input_size, circuit_size, degree, time (in sec)\n"; 94 | 95 | std::ofstream prover_runtime_file; 96 | if (type == "verifier") 97 | { 98 | prover_runtime_file.open(path + "prover-" + std::to_string(num_threads) + "-thread.csv"); 99 | prover_runtime_file << "batch_size, input_size, circuit_size, degree, time (in sec)\n"; 100 | } 101 | 102 | printf("\n%s-%d-thread\n", type.c_str(), num_threads); 103 | 104 | /* Assess on varying domain sizes */ 105 | std::vector > input_batch; 106 | for (int i = 1; i < 8; i++) /* batch_size */ 107 | { 108 | for (int j = 1; j < 13; j++) /* input_size */ 109 | { 110 | /* Initialization */ 111 | batch_size = pow(2, i); 112 | input_size = pow(2, j); 113 | 114 | input_batch.resize(batch_size); 115 | for (int k = 0; k < batch_size; k++) 116 | { 117 | input_batch[k] = std::vector(input_size); 118 | for (int l = 0; l < input_size; l++) 119 | { 120 | input_batch[k][l] = FieldT::random_element(); 121 | } 122 | } 123 | 124 | /* Profiling */ 125 | profile_stats = profile(input_batch, input_size, type); 126 | runtime = profile_stats.first.first; 127 | runtime_prover = profile_stats.first.second; 128 | degree = profile_stats.second.first; 129 | circuit_size = profile_stats.second.second; 130 | 131 | /* Logging */ 132 | runtime_file << batch_size << "," << input_size << "," << circuit_size << "," << degree << "," << runtime << "\n"; 133 | if (type == "verifier") 134 | { 135 | prover_runtime_file << batch_size << "," << input_size << "," << circuit_size << "," << degree << "," << runtime_prover << "\n"; 136 | prover_runtime_file.flush(); 137 | } 138 | printf("batch_size %ld, input_size %ld, circuit_size %ld, degree %ld, %f seconds\n", batch_size, input_size, circuit_size, degree, runtime); 139 | 140 | runtime_file.flush(); 141 | input_batch.clear(); 142 | } 143 | 144 | runtime_file << ",,,,\n"; 145 | runtime_file.flush(); 146 | if (type == "verifier") 147 | { 148 | prover_runtime_file << ",,,,\n"; 149 | prover_runtime_file.flush(); 150 | } 151 | printf("\n"); 152 | } 153 | 154 | /* Close file */ 155 | runtime_file.close(); 156 | if (type == "verifier") prover_runtime_file.close(); 157 | } 158 | 159 | int main() 160 | { 161 | /* Get Current Timestamp */ 162 | time_t rawtime; 163 | time(&rawtime); 164 | struct tm* timeinfo = localtime(&rawtime); 165 | char buffer[40]; 166 | strftime(buffer, 40, "%m-%d_%I:%M", timeinfo); 167 | std::string datetime(buffer); 168 | 169 | /* Make log file directory */ 170 | std::string path = "src/profiling/logs/" + datetime + "/"; 171 | if (system( ("mkdir -p " + path).c_str() )) return 0; 172 | 173 | /* Profile on 1, 2, 4, or 8 threads */ 174 | const int max_threads = omp_get_max_threads(); 175 | for (int num_threads = 1; num_threads <= max_threads; num_threads *= 2) 176 | { 177 | /* Fix number of threads, no dynamic adjustment */ 178 | omp_set_dynamic(0); 179 | omp_set_num_threads(num_threads); 180 | 181 | #ifndef PROF_DOUBLE 182 | printf("Profiling with alt_bn128_pp\n"); 183 | libff::alt_bn128_pp::init_public_params(); 184 | initialize >(path, "naive", num_threads); 185 | initialize >(path, "verifier", num_threads); 186 | #else 187 | printf("Profiling with Double\n"); 188 | initialize(path, "naive", num_threads); 189 | initialize(path, "verifier", num_threads); 190 | #endif 191 | } 192 | 193 | plot(path); 194 | 195 | return 0; 196 | } 197 | -------------------------------------------------------------------------------- /src/arithmetic_circuit/arithmetic_circuit.tcc: -------------------------------------------------------------------------------- 1 | /** @file 2 | ***************************************************************************** 3 | Implementation of interfaces for arithmetic circuit. 4 | 5 | See arithmetic_circuit.hpp . 6 | 7 | ***************************************************************************** 8 | * @author This file is part of bace, developed by SCIPR Lab 9 | * and contributors (see AUTHORS). 10 | * @copyright MIT license (see LICENSE file) 11 | *****************************************************************************/ 12 | 13 | #ifndef ARITHMETIC_CIRCUIT_TCC_ 14 | #define ARITHMETIC_CIRCUIT_TCC_ 15 | 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | namespace bace { 22 | 23 | template 24 | FieldT arithmetic_circuit_t::evaluate(const input_t &input) const 25 | { 26 | assert(input.size() == this->_input_size); 27 | assert(this->_gates.size() > 0); 28 | 29 | std::vector gate_output(input); 30 | gate_output.resize(this->size(), FieldT::zero()); 31 | 32 | FieldT output; 33 | size_t i = this->_input_size; 34 | for (auto gate: this->_gates) 35 | { 36 | if (gate.type == SUM) 37 | { 38 | output = FieldT::zero(); 39 | for (auto input_gate: gate.input_gates) 40 | { 41 | if (input_gate.type == CONSTANT) output += input_gate.value.constant; 42 | else output += gate_output[input_gate.value.variable - 1]; 43 | } 44 | } 45 | else if (gate.type == PRODUCT) 46 | { 47 | if (gate.input_gates[0].type == CONSTANT) output = gate.input_gates[0].value.constant; 48 | else output = gate_output[gate.input_gates[0].value.variable - 1]; 49 | 50 | for (int j = 1; j < gate.input_gates.size(); j++) 51 | { 52 | if (gate.input_gates[j].type == CONSTANT) output *= gate.input_gates[j].value.constant; 53 | else output *= gate_output[gate.input_gates[j].value.variable - 1]; 54 | } 55 | } 56 | gate_output[i++] = output; 57 | } 58 | 59 | return output; 60 | } 61 | 62 | template 63 | int arithmetic_circuit_t::add_gate(const gate_t &g) 64 | { 65 | assert(g.input_gates.size() > 0); 66 | assert(g.type == SUM || g.type == PRODUCT); 67 | 68 | this->_gates.emplace_back(g); 69 | return this->size(); 70 | } 71 | 72 | template 73 | void arithmetic_circuit_t::clear_gates() 74 | { 75 | this->_gates.clear(); 76 | } 77 | 78 | template 79 | size_t arithmetic_circuit_t::size() const 80 | { 81 | return this->_input_size + this->_gates.size(); 82 | } 83 | 84 | template 85 | size_t arithmetic_circuit_t::degree() const 86 | { 87 | std::vector degree(this->_input_size, 1); 88 | degree.resize(this->size(), 0); 89 | 90 | size_t max_degree = 0; 91 | size_t i = this->_input_size; 92 | for (auto gate: this->_gates) 93 | { 94 | size_t gate_degree = 0; 95 | if (gate.type == SUM) 96 | { 97 | for (auto input_gate: gate.input_gates) 98 | { 99 | if (input_gate.type == VARIABLE) 100 | { 101 | gate_degree = std::max(gate_degree, degree[input_gate.value.variable - 1]); 102 | } 103 | } 104 | } 105 | else if (gate.type == PRODUCT) 106 | { 107 | for (auto input_gate: gate.input_gates) 108 | { 109 | if (input_gate.type == VARIABLE) 110 | { 111 | gate_degree += degree[input_gate.value.variable - 1]; 112 | } 113 | } 114 | } 115 | 116 | degree[i++] = gate_degree; 117 | max_degree = std::max(max_degree, gate_degree); 118 | } 119 | 120 | return max_degree; 121 | } 122 | 123 | template 124 | size_t arithmetic_circuit_t::num_inputs() const 125 | { 126 | return this->_input_size; 127 | } 128 | 129 | template 130 | void arithmetic_circuit_t::print_info() const 131 | { 132 | printf("* Circuit size: %zu\n", this->size()); 133 | printf("* Circuit degree: %zu\n", this->degree()); 134 | printf("* Number of inputs: %zu\n", this->num_inputs()); 135 | } 136 | 137 | template 138 | void arithmetic_circuit_t::add_inner_product_gates() 139 | { 140 | const bool odd = this->_input_size % 2 == 1; 141 | const int mid = odd ? (this->_input_size / 2) + 1 : this->_input_size / 2; 142 | 143 | std::vector > input_gates; 144 | for (int i = 1; i <= mid; i++) 145 | { 146 | if (i == mid - 1 && odd) continue; 147 | 148 | const input_element_t left = { VARIABLE, i }; 149 | const input_element_t right = { VARIABLE, mid + i }; 150 | const gate_t product_gate = { PRODUCT, std::vector > { left, right } }; 151 | const int gate_number = this->add_gate(product_gate); 152 | 153 | const input_element_t element = { VARIABLE, gate_number }; 154 | input_gates.emplace_back(element); 155 | } 156 | 157 | const gate_t sum_gate = { SUM, input_gates }; 158 | this->add_gate(sum_gate); 159 | } 160 | 161 | template 162 | void arithmetic_circuit_t::add_quadratic_inner_product_gates() 163 | { 164 | const bool odd = this->_input_size % 2 == 1; 165 | const int mid = odd ? (this->_input_size / 2) + 1 : this->_input_size / 2; 166 | 167 | std::vector > product_input_gates; 168 | for (int i = 0; i < mid; i++) 169 | { 170 | std::vector > input_gates; 171 | for (int j = 1; j <= mid; j++) 172 | { 173 | if (j == mid - 1 && odd) continue; 174 | 175 | const input_element_t left = { VARIABLE, j }; 176 | const input_element_t right = { VARIABLE, j }; 177 | const gate_t product_gate = { PRODUCT, std::vector > { left, right } }; 178 | const int gate_number = this->add_gate(product_gate); 179 | 180 | const input_element_t element = { VARIABLE, gate_number }; 181 | input_gates.emplace_back(element); 182 | } 183 | 184 | const gate_t sum_gate = { SUM, input_gates }; 185 | const int gate_number = this->add_gate(sum_gate); 186 | 187 | const input_element_t element = { VARIABLE, gate_number }; 188 | product_input_gates.emplace_back(element); 189 | } 190 | 191 | std::vector > input_gates; 192 | for (int i = 1; i <= mid; i++) 193 | { 194 | if (i == mid - 1 && odd) continue; 195 | 196 | const input_element_t right = { VARIABLE, mid + i }; 197 | const gate_t product_gate = { PRODUCT, std::vector > { product_input_gates[i-1], right } }; 198 | const int gate_number = this->add_gate(product_gate); 199 | 200 | const input_element_t element = { VARIABLE, gate_number }; 201 | input_gates.emplace_back(element); 202 | } 203 | 204 | const gate_t sum_gate = { SUM, input_gates }; 205 | this->add_gate(sum_gate); 206 | } 207 | 208 | } // bace 209 | 210 | #endif // ARITHMETIC_CIRCUIT_TCC_ 211 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-prover-1.ps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 2 | %%Title: naive-prover-1.ps 3 | %%Creator: gnuplot 4.6 patchlevel 4 4 | %%CreationDate: Wed Aug 17 09:40:33 2016 5 | %%DocumentFonts: (atend) 6 | %%BoundingBox: 50 50 554 770 7 | %%Orientation: Landscape 8 | %%Pages: (atend) 9 | %%EndComments 10 | %%BeginProlog 11 | /gnudict 256 dict def 12 | gnudict begin 13 | % 14 | % The following true/false flags may be edited by hand if desired. 15 | % The unit line width and grayscale image gamma correction may also be changed. 16 | % 17 | /Color true def 18 | /Blacktext false def 19 | /Solid true def 20 | /Dashlength 1 def 21 | /Landscape true def 22 | /Level1 false def 23 | /Rounded false def 24 | /ClipToBoundingBox false def 25 | /SuppressPDFMark false def 26 | /TransparentPatterns false def 27 | /gnulinewidth 5.000 def 28 | /userlinewidth gnulinewidth def 29 | /Gamma 1.0 def 30 | /BackgroundColor {-1.000 -1.000 -1.000} def 31 | % 32 | /vshift -46 def 33 | /dl1 { 34 | 10.0 Dashlength mul mul 35 | Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 36 | } def 37 | /dl2 { 38 | 10.0 Dashlength mul mul 39 | Rounded { currentlinewidth 0.75 mul add } if 40 | } def 41 | /hpt_ 31.5 def 42 | /vpt_ 31.5 def 43 | /hpt hpt_ def 44 | /vpt vpt_ def 45 | /doclip { 46 | ClipToBoundingBox { 47 | newpath 50 50 moveto 554 50 lineto 554 770 lineto 50 770 lineto closepath 48 | clip 49 | } if 50 | } def 51 | % 52 | % Gnuplot Prolog Version 4.6 (September 2012) 53 | % 54 | %/SuppressPDFMark true def 55 | % 56 | /M {moveto} bind def 57 | /L {lineto} bind def 58 | /R {rmoveto} bind def 59 | /V {rlineto} bind def 60 | /N {newpath moveto} bind def 61 | /Z {closepath} bind def 62 | /C {setrgbcolor} bind def 63 | /f {rlineto fill} bind def 64 | /g {setgray} bind def 65 | /Gshow {show} def % May be redefined later in the file to support UTF-8 66 | /vpt2 vpt 2 mul def 67 | /hpt2 hpt 2 mul def 68 | /Lshow {currentpoint stroke M 0 vshift R 69 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 70 | /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 71 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 72 | /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 73 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 74 | /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 75 | /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 76 | /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 77 | {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 78 | /BL {stroke userlinewidth 2 mul setlinewidth 79 | Rounded {1 setlinejoin 1 setlinecap} if} def 80 | /AL {stroke userlinewidth 2 div setlinewidth 81 | Rounded {1 setlinejoin 1 setlinecap} if} def 82 | /UL {dup gnulinewidth mul /userlinewidth exch def 83 | dup 1 lt {pop 1} if 10 mul /udl exch def} def 84 | /PL {stroke userlinewidth setlinewidth 85 | Rounded {1 setlinejoin 1 setlinecap} if} def 86 | 3.8 setmiterlimit 87 | % Default Line colors 88 | /LCw {1 1 1} def 89 | /LCb {0 0 0} def 90 | /LCa {0 0 0} def 91 | /LC0 {1 0 0} def 92 | /LC1 {0 1 0} def 93 | /LC2 {0 0 1} def 94 | /LC3 {1 0 1} def 95 | /LC4 {0 1 1} def 96 | /LC5 {1 1 0} def 97 | /LC6 {0 0 0} def 98 | /LC7 {1 0.3 0} def 99 | /LC8 {0.5 0.5 0.5} def 100 | % Default Line Types 101 | /LTw {PL [] 1 setgray} def 102 | /LTb {BL [] LCb DL} def 103 | /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 104 | /LT0 {PL [] LC0 DL} def 105 | /LT1 {PL [4 dl1 2 dl2] LC1 DL} def 106 | /LT2 {PL [2 dl1 3 dl2] LC2 DL} def 107 | /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 108 | /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 109 | /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 110 | /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 111 | /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 112 | /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 113 | /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 114 | /Dia {stroke [] 0 setdash 2 copy vpt add M 115 | hpt neg vpt neg V hpt vpt neg V 116 | hpt vpt V hpt neg vpt V closepath stroke 117 | Pnt} def 118 | /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 119 | currentpoint stroke M 120 | hpt neg vpt neg R hpt2 0 V stroke 121 | } def 122 | /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 123 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 124 | hpt2 neg 0 V closepath stroke 125 | Pnt} def 126 | /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 127 | hpt2 vpt2 neg V currentpoint stroke M 128 | hpt2 neg 0 R hpt2 vpt2 V stroke} def 129 | /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 130 | hpt neg vpt -1.62 mul V 131 | hpt 2 mul 0 V 132 | hpt neg vpt 1.62 mul V closepath stroke 133 | Pnt} def 134 | /Star {2 copy Pls Crs} def 135 | /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 136 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 137 | hpt2 neg 0 V closepath fill} def 138 | /TriUF {stroke [] 0 setdash vpt 1.12 mul add M 139 | hpt neg vpt -1.62 mul V 140 | hpt 2 mul 0 V 141 | hpt neg vpt 1.62 mul V closepath fill} def 142 | /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 143 | hpt neg vpt 1.62 mul V 144 | hpt 2 mul 0 V 145 | hpt neg vpt -1.62 mul V closepath stroke 146 | Pnt} def 147 | /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 148 | hpt neg vpt 1.62 mul V 149 | hpt 2 mul 0 V 150 | hpt neg vpt -1.62 mul V closepath fill} def 151 | /DiaF {stroke [] 0 setdash vpt add M 152 | hpt neg vpt neg V hpt vpt neg V 153 | hpt vpt V hpt neg vpt V closepath fill} def 154 | /Pent {stroke [] 0 setdash 2 copy gsave 155 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 156 | closepath stroke grestore Pnt} def 157 | /PentF {stroke [] 0 setdash gsave 158 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 159 | closepath fill grestore} def 160 | /Circle {stroke [] 0 setdash 2 copy 161 | hpt 0 360 arc stroke Pnt} def 162 | /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 163 | /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 164 | /C1 {BL [] 0 setdash 2 copy moveto 165 | 2 copy vpt 0 90 arc closepath fill 166 | vpt 0 360 arc closepath} bind def 167 | /C2 {BL [] 0 setdash 2 copy moveto 168 | 2 copy vpt 90 180 arc closepath fill 169 | vpt 0 360 arc closepath} bind def 170 | /C3 {BL [] 0 setdash 2 copy moveto 171 | 2 copy vpt 0 180 arc closepath fill 172 | vpt 0 360 arc closepath} bind def 173 | /C4 {BL [] 0 setdash 2 copy moveto 174 | 2 copy vpt 180 270 arc closepath fill 175 | vpt 0 360 arc closepath} bind def 176 | /C5 {BL [] 0 setdash 2 copy moveto 177 | 2 copy vpt 0 90 arc 178 | 2 copy moveto 179 | 2 copy vpt 180 270 arc closepath fill 180 | vpt 0 360 arc} bind def 181 | /C6 {BL [] 0 setdash 2 copy moveto 182 | 2 copy vpt 90 270 arc closepath fill 183 | vpt 0 360 arc closepath} bind def 184 | /C7 {BL [] 0 setdash 2 copy moveto 185 | 2 copy vpt 0 270 arc closepath fill 186 | vpt 0 360 arc closepath} bind def 187 | /C8 {BL [] 0 setdash 2 copy moveto 188 | 2 copy vpt 270 360 arc closepath fill 189 | vpt 0 360 arc closepath} bind def 190 | /C9 {BL [] 0 setdash 2 copy moveto 191 | 2 copy vpt 270 450 arc closepath fill 192 | vpt 0 360 arc closepath} bind def 193 | /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 194 | 2 copy moveto 195 | 2 copy vpt 90 180 arc closepath fill 196 | vpt 0 360 arc closepath} bind def 197 | /C11 {BL [] 0 setdash 2 copy moveto 198 | 2 copy vpt 0 180 arc closepath fill 199 | 2 copy moveto 200 | 2 copy vpt 270 360 arc closepath fill 201 | vpt 0 360 arc closepath} bind def 202 | /C12 {BL [] 0 setdash 2 copy moveto 203 | 2 copy vpt 180 360 arc closepath fill 204 | vpt 0 360 arc closepath} bind def 205 | /C13 {BL [] 0 setdash 2 copy moveto 206 | 2 copy vpt 0 90 arc closepath fill 207 | 2 copy moveto 208 | 2 copy vpt 180 360 arc closepath fill 209 | vpt 0 360 arc closepath} bind def 210 | /C14 {BL [] 0 setdash 2 copy moveto 211 | 2 copy vpt 90 360 arc closepath fill 212 | vpt 0 360 arc} bind def 213 | /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 214 | vpt 0 360 arc closepath} bind def 215 | /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 216 | neg 0 rlineto closepath} bind def 217 | /Square {dup Rec} bind def 218 | /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 219 | /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 220 | /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 221 | /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 222 | /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 223 | /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 224 | /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 225 | exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 226 | /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 227 | /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 228 | 2 copy vpt Square fill Bsquare} bind def 229 | /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 230 | /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 231 | /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 232 | Bsquare} bind def 233 | /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 234 | Bsquare} bind def 235 | /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 236 | /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 237 | 2 copy vpt Square fill Bsquare} bind def 238 | /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 239 | 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 240 | /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 241 | /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 242 | /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 243 | /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 244 | /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 245 | /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 246 | /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 247 | /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 248 | /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 249 | /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 250 | /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 251 | /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 252 | /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 253 | /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 254 | /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 255 | /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 256 | /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 257 | /DiaE {stroke [] 0 setdash vpt add M 258 | hpt neg vpt neg V hpt vpt neg V 259 | hpt vpt V hpt neg vpt V closepath stroke} def 260 | /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 261 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 262 | hpt2 neg 0 V closepath stroke} def 263 | /TriUE {stroke [] 0 setdash vpt 1.12 mul add M 264 | hpt neg vpt -1.62 mul V 265 | hpt 2 mul 0 V 266 | hpt neg vpt 1.62 mul V closepath stroke} def 267 | /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 268 | hpt neg vpt 1.62 mul V 269 | hpt 2 mul 0 V 270 | hpt neg vpt -1.62 mul V closepath stroke} def 271 | /PentE {stroke [] 0 setdash gsave 272 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 273 | closepath stroke grestore} def 274 | /CircE {stroke [] 0 setdash 275 | hpt 0 360 arc stroke} def 276 | /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 277 | /DiaW {stroke [] 0 setdash vpt add M 278 | hpt neg vpt neg V hpt vpt neg V 279 | hpt vpt V hpt neg vpt V Opaque stroke} def 280 | /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 281 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 282 | hpt2 neg 0 V Opaque stroke} def 283 | /TriUW {stroke [] 0 setdash vpt 1.12 mul add M 284 | hpt neg vpt -1.62 mul V 285 | hpt 2 mul 0 V 286 | hpt neg vpt 1.62 mul V Opaque stroke} def 287 | /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 288 | hpt neg vpt 1.62 mul V 289 | hpt 2 mul 0 V 290 | hpt neg vpt -1.62 mul V Opaque stroke} def 291 | /PentW {stroke [] 0 setdash gsave 292 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 293 | Opaque stroke grestore} def 294 | /CircW {stroke [] 0 setdash 295 | hpt 0 360 arc Opaque stroke} def 296 | /BoxFill {gsave Rec 1 setgray fill grestore} def 297 | /Density { 298 | /Fillden exch def 299 | currentrgbcolor 300 | /ColB exch def /ColG exch def /ColR exch def 301 | /ColR ColR Fillden mul Fillden sub 1 add def 302 | /ColG ColG Fillden mul Fillden sub 1 add def 303 | /ColB ColB Fillden mul Fillden sub 1 add def 304 | ColR ColG ColB setrgbcolor} def 305 | /BoxColFill {gsave Rec PolyFill} def 306 | /PolyFill {gsave Density fill grestore grestore} def 307 | /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 308 | % 309 | % PostScript Level 1 Pattern Fill routine for rectangles 310 | % Usage: x y w h s a XX PatternFill 311 | % x,y = lower left corner of box to be filled 312 | % w,h = width and height of box 313 | % a = angle in degrees between lines and x-axis 314 | % XX = 0/1 for no/yes cross-hatch 315 | % 316 | /PatternFill {gsave /PFa [ 9 2 roll ] def 317 | PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 318 | PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 319 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 320 | clip 321 | currentlinewidth 0.5 mul setlinewidth 322 | /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 323 | 0 0 M PFa 5 get rotate PFs -2 div dup translate 324 | 0 1 PFs PFa 4 get div 1 add floor cvi 325 | {PFa 4 get mul 0 M 0 PFs V} for 326 | 0 PFa 6 get ne { 327 | 0 1 PFs PFa 4 get div 1 add floor cvi 328 | {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 329 | } if 330 | stroke grestore} def 331 | % 332 | /languagelevel where 333 | {pop languagelevel} {1} ifelse 334 | 2 lt 335 | {/InterpretLevel1 true def} 336 | {/InterpretLevel1 Level1 def} 337 | ifelse 338 | % 339 | % PostScript level 2 pattern fill definitions 340 | % 341 | /Level2PatternFill { 342 | /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 343 | bind def 344 | /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 345 | << Tile8x8 346 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 347 | >> matrix makepattern 348 | /Pat1 exch def 349 | << Tile8x8 350 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 351 | 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 352 | >> matrix makepattern 353 | /Pat2 exch def 354 | << Tile8x8 355 | /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 356 | 8 8 L 8 0 L 0 0 L fill} 357 | >> matrix makepattern 358 | /Pat3 exch def 359 | << Tile8x8 360 | /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 361 | 0 12 M 12 0 L stroke} 362 | >> matrix makepattern 363 | /Pat4 exch def 364 | << Tile8x8 365 | /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 366 | 0 -4 M 12 8 L stroke} 367 | >> matrix makepattern 368 | /Pat5 exch def 369 | << Tile8x8 370 | /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 371 | 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 372 | >> matrix makepattern 373 | /Pat6 exch def 374 | << Tile8x8 375 | /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 376 | 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 377 | >> matrix makepattern 378 | /Pat7 exch def 379 | << Tile8x8 380 | /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 381 | 12 0 M -4 8 L 12 4 M 0 10 L stroke} 382 | >> matrix makepattern 383 | /Pat8 exch def 384 | << Tile8x8 385 | /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 386 | -4 0 M 12 8 L -4 4 M 8 10 L stroke} 387 | >> matrix makepattern 388 | /Pat9 exch def 389 | /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 390 | /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 391 | /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 392 | /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 393 | /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 394 | /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 395 | /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 396 | } def 397 | % 398 | % 399 | %End of PostScript Level 2 code 400 | % 401 | /PatternBgnd { 402 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 403 | } def 404 | % 405 | % Substitute for Level 2 pattern fill codes with 406 | % grayscale if Level 2 support is not selected. 407 | % 408 | /Level1PatternFill { 409 | /Pattern1 {0.250 Density} bind def 410 | /Pattern2 {0.500 Density} bind def 411 | /Pattern3 {0.750 Density} bind def 412 | /Pattern4 {0.125 Density} bind def 413 | /Pattern5 {0.375 Density} bind def 414 | /Pattern6 {0.625 Density} bind def 415 | /Pattern7 {0.875 Density} bind def 416 | } def 417 | % 418 | % Now test for support of Level 2 code 419 | % 420 | Level1 {Level1PatternFill} {Level2PatternFill} ifelse 421 | % 422 | /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 423 | dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 424 | currentdict end definefont pop 425 | /MFshow { 426 | { dup 5 get 3 ge 427 | { 5 get 3 eq {gsave} {grestore} ifelse } 428 | {dup dup 0 get findfont exch 1 get scalefont setfont 429 | [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 430 | get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 431 | {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 432 | get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 433 | dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 434 | show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 435 | pop aload pop M} ifelse }ifelse }ifelse } 436 | ifelse } 437 | forall} def 438 | /Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 439 | /MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 440 | {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 441 | 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 442 | /MLshow { currentpoint stroke M 443 | 0 exch R 444 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 445 | /MRshow { currentpoint stroke M 446 | exch dup MFwidth neg 3 -1 roll R 447 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 448 | /MCshow { currentpoint stroke M 449 | exch dup MFwidth -2 div 3 -1 roll R 450 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 451 | /XYsave { [( ) 1 2 true false 3 ()] } bind def 452 | /XYrestore { [( ) 1 2 true false 4 ()] } bind def 453 | Level1 SuppressPDFMark or 454 | {} { 455 | /SDict 10 dict def 456 | systemdict /pdfmark known not { 457 | userdict /pdfmark systemdict /cleartomark get put 458 | } if 459 | SDict begin [ 460 | /Title (naive-prover-1.ps) 461 | /Subject (gnuplot plot) 462 | /Creator (gnuplot 4.6 patchlevel 4) 463 | /Author (vagrant) 464 | % /Producer (gnuplot) 465 | % /Keywords () 466 | /CreationDate (Wed Aug 17 09:40:33 2016) 467 | /DOCINFO pdfmark 468 | end 469 | } ifelse 470 | end 471 | %%EndProlog 472 | %%Page: 1 1 473 | gnudict begin 474 | gsave 475 | doclip 476 | 50 50 translate 477 | 0.100 0.100 scale 478 | 90 rotate 479 | 0 -5040 translate 480 | 0 setgray 481 | newpath 482 | (Helvetica) findfont 140 scalefont setfont 483 | BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if 484 | 1.000 UL 485 | LTb 486 | LCb setrgbcolor 487 | LTb 488 | 3600 4773 M 489 | [ [(Helvetica) 140.0 0.0 true true 0 (Runtime)] 490 | ] -46.7 MCshow 491 | 1.000 UP 492 | % Begin plot #1 493 | 1.000 UL 494 | LT0 495 | LC0 setrgbcolor 496 | 2735 3761 M 497 | 161 185 V 498 | stroke 499 | LT2 500 | LC2 setrgbcolor 501 | 2735 3834 M 502 | 161 183 V 503 | stroke 504 | LT0 505 | LC0 setrgbcolor 506 | 2575 3571 M 507 | 160 190 V 508 | stroke 509 | LT2 510 | LC2 setrgbcolor 511 | 2575 3649 M 512 | 160 185 V 513 | stroke 514 | LT0 515 | LC0 setrgbcolor 516 | 2415 3392 M 517 | 160 179 V 518 | stroke 519 | LT0 520 | LC0 setrgbcolor 521 | 3291 3696 M 522 | 161 186 V 523 | stroke 524 | LT2 525 | LC2 setrgbcolor 526 | 2415 3469 M 527 | 160 180 V 528 | stroke 529 | LT2 530 | LC2 setrgbcolor 531 | 3291 3776 M 532 | 161 184 V 533 | stroke 534 | LT0 535 | LC0 setrgbcolor 536 | 2254 3203 M 537 | 161 189 V 538 | stroke 539 | LT0 540 | LC0 setrgbcolor 541 | 3131 3511 M 542 | 160 185 V 543 | stroke 544 | LT2 545 | LC2 setrgbcolor 546 | 2254 3285 M 547 | 161 184 V 548 | stroke 549 | LT2 550 | LC2 setrgbcolor 551 | 3131 3592 M 552 | 160 184 V 553 | stroke 554 | LT0 555 | LC0 setrgbcolor 556 | 2094 3018 M 557 | 160 185 V 558 | stroke 559 | LT0 560 | LC0 setrgbcolor 561 | 2970 3337 M 562 | 161 174 V 563 | stroke 564 | LT0 565 | LC0 setrgbcolor 566 | 3846 3641 M 567 | 160 185 V 568 | stroke 569 | LT2 570 | LC2 setrgbcolor 571 | 2094 3109 M 572 | 160 176 V 573 | stroke 574 | LT2 575 | LC2 setrgbcolor 576 | 2970 3410 M 577 | 161 182 V 578 | stroke 579 | LT2 580 | LC2 setrgbcolor 581 | 3846 3720 M 582 | 160 185 V 583 | stroke 584 | LT0 585 | LC0 setrgbcolor 586 | 1933 2826 M 587 | 161 192 V 588 | stroke 589 | LT0 590 | LC0 setrgbcolor 591 | 2810 3136 M 592 | 160 201 V 593 | stroke 594 | LT0 595 | LC0 setrgbcolor 596 | 3685 3456 M 597 | 161 185 V 598 | stroke 599 | LT2 600 | LC2 setrgbcolor 601 | 2810 3228 M 602 | 160 182 V 603 | stroke 604 | LT2 605 | LC2 setrgbcolor 606 | 1933 2938 M 607 | 161 171 V 608 | stroke 609 | LT2 610 | LC2 setrgbcolor 611 | 3685 3534 M 612 | 161 186 V 613 | stroke 614 | LT0 615 | LC0 setrgbcolor 616 | 1773 2664 M 617 | 160 162 V 618 | stroke 619 | LT0 620 | LC0 setrgbcolor 621 | 2650 2953 M 622 | 160 183 V 623 | stroke 624 | LT0 625 | LC0 setrgbcolor 626 | 3526 3274 M 627 | 159 182 V 628 | stroke 629 | LT0 630 | LC0 setrgbcolor 631 | 4402 3585 M 632 | 160 187 V 633 | stroke 634 | LT2 635 | LC2 setrgbcolor 636 | 2650 3047 M 637 | 160 181 V 638 | stroke 639 | LT2 640 | LC2 setrgbcolor 641 | 3526 3355 M 642 | 159 179 V 643 | stroke 644 | LT2 645 | LC2 setrgbcolor 646 | 1773 2788 M 647 | 160 150 V 648 | stroke 649 | LT2 650 | LC2 setrgbcolor 651 | 4402 3664 M 652 | 160 182 V 653 | stroke 654 | LT0 655 | LC0 setrgbcolor 656 | 2489 2774 M 657 | 161 179 V 658 | stroke 659 | LT0 660 | LC0 setrgbcolor 661 | 1613 2474 M 662 | 160 190 V 663 | stroke 664 | LT0 665 | LC0 setrgbcolor 666 | 3366 3086 M 667 | 160 188 V 668 | stroke 669 | LT0 670 | LC0 setrgbcolor 671 | 4241 3398 M 672 | 161 187 V 673 | stroke 674 | LT2 675 | LC2 setrgbcolor 676 | 2489 2875 M 677 | 161 172 V 678 | stroke 679 | LT2 680 | LC2 setrgbcolor 681 | 3366 3170 M 682 | 160 185 V 683 | stroke 684 | LT2 685 | LC2 setrgbcolor 686 | 4241 3478 M 687 | 161 186 V 688 | stroke 689 | LT2 690 | LC2 setrgbcolor 691 | 1613 2652 M 692 | 160 136 V 693 | stroke 694 | LT0 695 | LC0 setrgbcolor 696 | 2329 2611 M 697 | 160 163 V 698 | stroke 699 | LT0 700 | LC0 setrgbcolor 701 | 1452 2310 M 702 | 161 164 V 703 | stroke 704 | LT0 705 | LC0 setrgbcolor 706 | 3205 2896 M 707 | 161 190 V 708 | stroke 709 | LT0 710 | LC0 setrgbcolor 711 | 4081 3216 M 712 | 160 182 V 713 | stroke 714 | LT0 715 | LC0 setrgbcolor 716 | 4957 3532 M 717 | 161 183 V 718 | stroke 719 | LT2 720 | LC2 setrgbcolor 721 | 3205 2989 M 722 | 161 181 V 723 | stroke 724 | LT2 725 | LC2 setrgbcolor 726 | 4081 3294 M 727 | 160 184 V 728 | stroke 729 | LT2 730 | LC2 setrgbcolor 731 | 2329 2718 M 732 | 160 157 V 733 | stroke 734 | LT2 735 | LC2 setrgbcolor 736 | 4957 3606 M 737 | 161 184 V 738 | stroke 739 | LT0 740 | LC0 setrgbcolor 741 | 3045 2713 M 742 | 160 183 V 743 | stroke 744 | LT2 745 | LC2 setrgbcolor 746 | 1452 2519 M 747 | 161 133 V 748 | stroke 749 | LT0 750 | LC0 setrgbcolor 751 | 3920 3032 M 752 | 161 184 V 753 | stroke 754 | LT0 755 | LC0 setrgbcolor 756 | 2168 2413 M 757 | 161 198 V 758 | stroke 759 | LT0 760 | LC0 setrgbcolor 761 | 1292 2171 M 762 | 160 139 V 763 | stroke 764 | LT0 765 | LC0 setrgbcolor 766 | 4797 3345 M 767 | 160 187 V 768 | stroke 769 | LT2 770 | LC2 setrgbcolor 771 | 3045 2819 M 772 | 160 170 V 773 | stroke 774 | LT2 775 | LC2 setrgbcolor 776 | 3920 3112 M 777 | 161 182 V 778 | stroke 779 | LT2 780 | LC2 setrgbcolor 781 | 4797 3419 M 782 | 160 187 V 783 | stroke 784 | LT2 785 | LC2 setrgbcolor 786 | 2168 2567 M 787 | 161 151 V 788 | stroke 789 | LT0 790 | LC0 setrgbcolor 791 | 2884 2545 M 792 | 161 168 V 793 | stroke 794 | LT0 795 | LC0 setrgbcolor 796 | 2008 2249 M 797 | 160 164 V 798 | stroke 799 | LT0 800 | LC0 setrgbcolor 801 | 3760 2841 M 802 | 160 191 V 803 | stroke 804 | LT0 805 | LC0 setrgbcolor 806 | 4636 3159 M 807 | 161 186 V 808 | stroke 809 | LT0 810 | LC0 setrgbcolor 811 | 5513 3476 M 812 | 160 185 V 813 | stroke 814 | LT2 815 | LC2 setrgbcolor 816 | 1292 2392 M 817 | 160 127 V 818 | stroke 819 | LT0 820 | LC0 setrgbcolor 821 | 1131 2076 M 822 | 161 95 V 823 | stroke 824 | LT2 825 | LC2 setrgbcolor 826 | 3760 2933 M 827 | 160 179 V 828 | stroke 829 | LT2 830 | LC2 setrgbcolor 831 | 4636 3236 M 832 | 161 183 V 833 | stroke 834 | LT2 835 | LC2 setrgbcolor 836 | 2884 2656 M 837 | 161 163 V 838 | stroke 839 | LT2 840 | LC2 setrgbcolor 841 | 5513 3551 M 842 | 160 185 V 843 | stroke 844 | LT2 845 | LC2 setrgbcolor 846 | 2008 2445 M 847 | 160 122 V 848 | stroke 849 | LT0 850 | LC0 setrgbcolor 851 | 3600 2656 M 852 | 160 185 V 853 | stroke 854 | LT0 855 | LC0 setrgbcolor 856 | 2724 2356 M 857 | 160 189 V 858 | stroke 859 | LT0 860 | LC0 setrgbcolor 861 | 1847 2109 M 862 | 161 140 V 863 | stroke 864 | LT0 865 | LC0 setrgbcolor 866 | 4476 2975 M 867 | 160 184 V 868 | stroke 869 | LT0 870 | LC0 setrgbcolor 871 | 5353 3289 M 872 | 160 187 V 873 | stroke 874 | LT2 875 | LC2 setrgbcolor 876 | 3600 2762 M 877 | 160 171 V 878 | stroke 879 | LT2 880 | LC2 setrgbcolor 881 | 4476 3054 M 882 | 160 182 V 883 | stroke 884 | LT2 885 | LC2 setrgbcolor 886 | 1131 2364 M 887 | 161 28 V 888 | stroke 889 | LT2 890 | LC2 setrgbcolor 891 | 5353 3364 M 892 | 160 187 V 893 | stroke 894 | LT2 895 | LC2 setrgbcolor 896 | 2724 2512 M 897 | 160 144 V 898 | stroke 899 | LT0 900 | LC0 setrgbcolor 901 | 3440 2475 M 902 | 160 181 V 903 | stroke 904 | LT0 905 | LC0 setrgbcolor 906 | 2564 2194 M 907 | 160 162 V 908 | stroke 909 | LT0 910 | LC0 setrgbcolor 911 | 4316 2787 M 912 | 160 188 V 913 | stroke 914 | LT0 915 | LC0 setrgbcolor 916 | 5192 3103 M 917 | 161 186 V 918 | stroke 919 | LT2 920 | LC2 setrgbcolor 921 | 1847 2321 M 922 | 161 124 V 923 | stroke 924 | LT0 925 | LC0 setrgbcolor 926 | 6069 3421 M 927 | 160 183 V 928 | stroke 929 | LT0 930 | LC0 setrgbcolor 931 | 1687 2013 M 932 | 160 96 V 933 | stroke 934 | LT2 935 | LC2 setrgbcolor 936 | 4316 2878 M 937 | 160 176 V 938 | stroke 939 | LT2 940 | LC2 setrgbcolor 941 | 5192 3180 M 942 | 161 184 V 943 | stroke 944 | LT2 945 | LC2 setrgbcolor 946 | 3440 2598 M 947 | 160 164 V 948 | stroke 949 | LT2 950 | LC2 setrgbcolor 951 | 6069 3497 M 952 | 160 183 V 953 | stroke 954 | LT2 955 | LC2 setrgbcolor 956 | 2564 2378 M 957 | 160 134 V 958 | stroke 959 | LT0 960 | LC0 setrgbcolor 961 | 3280 2307 M 962 | 160 168 V 963 | stroke 964 | LT0 965 | LC0 setrgbcolor 966 | 4155 2603 M 967 | 161 184 V 968 | stroke 969 | LT0 970 | LC0 setrgbcolor 971 | 2403 2113 M 972 | 161 81 V 973 | stroke 974 | LT0 975 | LC0 setrgbcolor 976 | 5032 2918 M 977 | 160 185 V 978 | stroke 979 | LT0 980 | LC0 setrgbcolor 981 | 5908 3233 M 982 | 161 188 V 983 | stroke 984 | LT2 985 | LC2 setrgbcolor 986 | 1687 2239 M 987 | 160 82 V 988 | stroke 989 | LT2 990 | LC2 setrgbcolor 991 | 4155 2706 M 992 | 161 172 V 993 | stroke 994 | LT2 995 | LC2 setrgbcolor 996 | 5032 2998 M 997 | 160 182 V 998 | stroke 999 | LT2 1000 | LC2 setrgbcolor 1001 | 5908 3309 M 1002 | 161 188 V 1003 | stroke 1004 | LT2 1005 | LC2 setrgbcolor 1006 | 3280 2451 M 1007 | 160 147 V 1008 | stroke 1009 | LT0 1010 | LC0 setrgbcolor 1011 | 3995 2420 M 1012 | 160 183 V 1013 | stroke 1014 | LT0 1015 | LC0 setrgbcolor 1016 | 3119 2135 M 1017 | 161 172 V 1018 | stroke 1019 | LT0 1020 | LC0 setrgbcolor 1021 | 4871 2732 M 1022 | 161 186 V 1023 | stroke 1024 | LT2 1025 | LC2 setrgbcolor 1026 | 2403 2244 M 1027 | 161 134 V 1028 | stroke 1029 | LT0 1030 | LC0 setrgbcolor 1031 | 5748 3047 M 1032 | 160 186 V 1033 | stroke 1034 | LT2 1035 | LC2 setrgbcolor 1036 | 4871 2822 M 1037 | 161 176 V 1038 | stroke 1039 | LT2 1040 | LC2 setrgbcolor 1041 | 5748 3125 M 1042 | 160 184 V 1043 | stroke 1044 | LT2 1045 | LC2 setrgbcolor 1046 | 3995 2540 M 1047 | 160 166 V 1048 | stroke 1049 | LT0 1050 | LC0 setrgbcolor 1051 | 2243 1935 M 1052 | 160 178 V 1053 | stroke 1054 | LT2 1055 | LC2 setrgbcolor 1056 | 3119 2302 M 1057 | 161 149 V 1058 | stroke 1059 | LT0 1060 | LC0 setrgbcolor 1061 | 3834 2244 M 1062 | 161 176 V 1063 | stroke 1064 | LT0 1065 | LC0 setrgbcolor 1066 | 4711 2546 M 1067 | 160 186 V 1068 | stroke 1069 | LT0 1070 | LC0 setrgbcolor 1071 | 2959 1977 M 1072 | 160 158 V 1073 | stroke 1074 | LT0 1075 | LC0 setrgbcolor 1076 | 5587 2861 M 1077 | 161 186 V 1078 | stroke 1079 | LT2 1080 | LC2 setrgbcolor 1081 | 2243 2146 M 1082 | 160 98 V 1083 | stroke 1084 | LT2 1085 | LC2 setrgbcolor 1086 | 4711 2652 M 1087 | 160 170 V 1088 | stroke 1089 | LT2 1090 | LC2 setrgbcolor 1091 | 5587 2945 M 1092 | 161 180 V 1093 | stroke 1094 | LT2 1095 | LC2 setrgbcolor 1096 | 3834 2388 M 1097 | 161 152 V 1098 | stroke 1099 | LT0 1100 | LC0 setrgbcolor 1101 | 3674 2079 M 1102 | 160 165 V 1103 | stroke 1104 | LT0 1105 | LC0 setrgbcolor 1106 | 4550 2365 M 1107 | 161 181 V 1108 | stroke 1109 | LT2 1110 | LC2 setrgbcolor 1111 | 2959 2177 M 1112 | 160 125 V 1113 | stroke 1114 | LT0 1115 | LC0 setrgbcolor 1116 | 5427 2677 M 1117 | 160 184 V 1118 | stroke 1119 | LT0 1120 | LC0 setrgbcolor 1121 | 2798 1866 M 1122 | 161 111 V 1123 | stroke 1124 | LT2 1125 | LC2 setrgbcolor 1126 | 5427 2768 M 1127 | 160 177 V 1128 | stroke 1129 | LT2 1130 | LC2 setrgbcolor 1131 | 4550 2488 M 1132 | 161 164 V 1133 | stroke 1134 | LT2 1135 | LC2 setrgbcolor 1136 | 3674 2247 M 1137 | 160 141 V 1138 | stroke 1139 | LT0 1140 | LC0 setrgbcolor 1141 | 4390 2190 M 1142 | 160 175 V 1143 | stroke 1144 | LT0 1145 | LC0 setrgbcolor 1146 | 5267 2507 M 1147 | 160 170 V 1148 | stroke 1149 | LT0 1150 | LC0 setrgbcolor 1151 | 3515 1917 M 1152 | 159 162 V 1153 | stroke 1154 | LT2 1155 | LC2 setrgbcolor 1156 | 2798 2079 M 1157 | 161 98 V 1158 | stroke 1159 | LT2 1160 | LC2 setrgbcolor 1161 | 5267 2598 M 1162 | 160 170 V 1163 | stroke 1164 | LT2 1165 | LC2 setrgbcolor 1166 | 4390 2337 M 1167 | 160 151 V 1168 | stroke 1169 | LT0 1170 | LC0 setrgbcolor 1171 | 4230 2028 M 1172 | 160 162 V 1173 | stroke 1174 | LT2 1175 | LC2 setrgbcolor 1176 | 3515 2114 M 1177 | 159 133 V 1178 | stroke 1179 | LT0 1180 | LC0 setrgbcolor 1181 | 5106 2316 M 1182 | 161 191 V 1183 | stroke 1184 | LT0 1185 | LC0 setrgbcolor 1186 | 3354 1795 M 1187 | 161 122 V 1188 | stroke 1189 | LT2 1190 | LC2 setrgbcolor 1191 | 5106 2437 M 1192 | 161 161 V 1193 | stroke 1194 | LT2 1195 | LC2 setrgbcolor 1196 | 4230 2194 M 1197 | 160 143 V 1198 | stroke 1199 | LT0 1200 | LC0 setrgbcolor 1201 | 4946 2137 M 1202 | 160 179 V 1203 | stroke 1204 | LT0 1205 | LC0 setrgbcolor 1206 | 4069 1860 M 1207 | 161 168 V 1208 | stroke 1209 | LT2 1210 | LC2 setrgbcolor 1211 | 3354 1999 M 1212 | 161 115 V 1213 | stroke 1214 | LT2 1215 | LC2 setrgbcolor 1216 | 4946 2287 M 1217 | 160 150 V 1218 | stroke 1219 | LT0 1220 | LC0 setrgbcolor 1221 | 4785 1969 M 1222 | 161 168 V 1223 | stroke 1224 | LT2 1225 | LC2 setrgbcolor 1226 | 4069 2059 M 1227 | 161 135 V 1228 | stroke 1229 | LT0 1230 | LC0 setrgbcolor 1231 | 3909 1732 M 1232 | 160 128 V 1233 | stroke 1234 | LT2 1235 | LC2 setrgbcolor 1236 | 4785 2142 M 1237 | 161 145 V 1238 | stroke 1239 | LT0 1240 | LC0 setrgbcolor 1241 | 4625 1823 M 1242 | 160 146 V 1243 | stroke 1244 | LT2 1245 | LC2 setrgbcolor 1246 | 3909 1936 M 1247 | 160 123 V 1248 | stroke 1249 | LT2 1250 | LC2 setrgbcolor 1251 | 4625 2007 M 1252 | 160 135 V 1253 | stroke 1254 | LT0 1255 | LC0 setrgbcolor 1256 | 4465 1677 M 1257 | 160 146 V 1258 | stroke 1259 | LT2 1260 | LC2 setrgbcolor 1261 | 4465 1882 M 1262 | 160 125 V 1263 | % End plot #1 1264 | % Begin plot #2 1265 | stroke 1266 | LCb setrgbcolor 1267 | 5662 4416 M 1268 | [ [(Helvetica) 140.0 0.0 true true 0 (naive \(1-thread\))] 1269 | ] -46.7 MRshow 1270 | 1.000 UL 1271 | LT0 1272 | LC0 setrgbcolor 1273 | 5746 4416 M 1274 | 399 0 V 1275 | % End plot #2 1276 | % Begin plot #3 1277 | stroke 1278 | LCb setrgbcolor 1279 | 5662 4276 M 1280 | [ [(Helvetica) 140.0 0.0 true true 0 (prover \(1-thread\))] 1281 | ] -46.7 MRshow 1282 | 1.000 UL 1283 | LT2 1284 | LC2 setrgbcolor 1285 | 5746 4276 M 1286 | 399 0 V 1287 | % End plot #3 1288 | stroke 1289 | LTb 1290 | LCb setrgbcolor 1291 | 6229 1674 M 1292 | 4304 601 L 1293 | stroke 1294 | LTb 1295 | LCb setrgbcolor 1296 | 971 1221 M 1297 | 4304 601 L 1298 | stroke 1299 | LTb 1300 | LCb setrgbcolor 1301 | 971 1221 M 1302 | 2896 2294 L 1303 | stroke 1304 | LTb 1305 | LCb setrgbcolor 1306 | 6229 1674 M 1307 | 2896 2294 L 1308 | stroke 1309 | LTb 1310 | LCb setrgbcolor 1311 | 971 1221 M 1312 | 0 2145 V 1313 | stroke 1314 | LTa 1315 | LCa setrgbcolor 1316 | 971 1221 M 1317 | 2896 2294 L 1318 | stroke 1319 | LTb 1320 | LCb setrgbcolor 1321 | 971 1221 M 1322 | 49 27 V 1323 | stroke 1324 | LTb 1325 | LCb setrgbcolor 1326 | 906 1105 M 1327 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1328 | [(Helvetica) 112.0 70.0 true true 0 (1)] 1329 | ] -60.7 MCshow 1330 | 1.000 UL 1331 | LTb 1332 | LCb setrgbcolor 1333 | 1.000 UL 1334 | LTb 1335 | LCb setrgbcolor 1336 | 2896 2294 M 1337 | -49 -28 V 1338 | stroke 1339 | LTa 1340 | LCa setrgbcolor 1341 | 1527 1117 M 1342 | 3452 2190 L 1343 | stroke 1344 | LTb 1345 | LCb setrgbcolor 1346 | 1527 1117 M 1347 | 49 28 V 1348 | stroke 1349 | LTb 1350 | LCb setrgbcolor 1351 | 1461 1002 M 1352 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1353 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1354 | ] -60.7 MCshow 1355 | 1.000 UL 1356 | LTb 1357 | LCb setrgbcolor 1358 | 1.000 UL 1359 | LTb 1360 | LCb setrgbcolor 1361 | 3452 2190 M 1362 | -49 -27 V 1363 | stroke 1364 | LTa 1365 | LCa setrgbcolor 1366 | 2082 1014 M 1367 | 4006 2087 L 1368 | stroke 1369 | LTb 1370 | LCb setrgbcolor 1371 | 2082 1014 M 1372 | 49 28 V 1373 | stroke 1374 | LTb 1375 | LCb setrgbcolor 1376 | 2017 899 M 1377 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1378 | [(Helvetica) 112.0 70.0 true true 0 (3)] 1379 | ] -60.7 MCshow 1380 | 1.000 UL 1381 | LTb 1382 | LCb setrgbcolor 1383 | 1.000 UL 1384 | LTb 1385 | LCb setrgbcolor 1386 | 4006 2087 M 1387 | -49 -27 V 1388 | stroke 1389 | LTa 1390 | LCa setrgbcolor 1391 | 2638 911 M 1392 | 4562 1984 L 1393 | stroke 1394 | LTb 1395 | LCb setrgbcolor 1396 | 2638 911 M 1397 | 49 27 V 1398 | stroke 1399 | LTb 1400 | LCb setrgbcolor 1401 | 2573 795 M 1402 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1403 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1404 | ] -60.7 MCshow 1405 | 1.000 UL 1406 | LTb 1407 | LCb setrgbcolor 1408 | 1.000 UL 1409 | LTb 1410 | LCb setrgbcolor 1411 | 4562 1984 M 1412 | -49 -27 V 1413 | stroke 1414 | LTa 1415 | LCa setrgbcolor 1416 | 3194 808 M 1417 | 5118 1881 L 1418 | stroke 1419 | LTb 1420 | LCb setrgbcolor 1421 | 3194 808 M 1422 | 49 27 V 1423 | stroke 1424 | LTb 1425 | LCb setrgbcolor 1426 | 3128 692 M 1427 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1428 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1429 | ] -60.7 MCshow 1430 | 1.000 UL 1431 | LTb 1432 | LCb setrgbcolor 1433 | 1.000 UL 1434 | LTb 1435 | LCb setrgbcolor 1436 | 5118 1881 M 1437 | -49 -28 V 1438 | stroke 1439 | LTa 1440 | LCa setrgbcolor 1441 | 3748 704 M 1442 | 5673 1777 L 1443 | stroke 1444 | LTb 1445 | LCb setrgbcolor 1446 | 3748 704 M 1447 | 49 28 V 1448 | stroke 1449 | LTb 1450 | LCb setrgbcolor 1451 | 3683 589 M 1452 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1453 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1454 | ] -60.7 MCshow 1455 | 1.000 UL 1456 | LTb 1457 | LCb setrgbcolor 1458 | 1.000 UL 1459 | LTb 1460 | LCb setrgbcolor 1461 | 5673 1777 M 1462 | -49 -27 V 1463 | stroke 1464 | LTa 1465 | LCa setrgbcolor 1466 | 4304 601 M 1467 | 6229 1674 L 1468 | stroke 1469 | LTb 1470 | LCb setrgbcolor 1471 | 4304 601 M 1472 | 49 28 V 1473 | stroke 1474 | LTb 1475 | LCb setrgbcolor 1476 | 4239 486 M 1477 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1478 | [(Helvetica) 112.0 70.0 true true 0 (7)] 1479 | ] -60.7 MCshow 1480 | 1.000 UL 1481 | LTb 1482 | LCb setrgbcolor 1483 | 1.000 UL 1484 | LTb 1485 | LCb setrgbcolor 1486 | 6229 1674 M 1487 | -49 -27 V 1488 | stroke 1489 | LCb setrgbcolor 1490 | 2157 643 M 1491 | [ [(Helvetica) 140.0 0.0 true true 0 (Batch Size)] 1492 | ] -46.7 MCshow 1493 | LTb 1494 | 1.000 UL 1495 | LTa 1496 | LCa setrgbcolor 1497 | 4304 601 M 1498 | 971 1221 L 1499 | stroke 1500 | LTb 1501 | LCb setrgbcolor 1502 | 4304 601 M 1503 | -54 10 V 1504 | stroke 1505 | 4377 524 M 1506 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1507 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1508 | ] -60.7 MCshow 1509 | 1.000 UL 1510 | LTb 1511 | LCb setrgbcolor 1512 | 1.000 UL 1513 | LTb 1514 | LCb setrgbcolor 1515 | 971 1221 M 1516 | 54 -10 V 1517 | stroke 1518 | LTb 1519 | LCb setrgbcolor 1520 | 4465 691 M 1521 | -28 5 V 1522 | stroke 1523 | LTb 1524 | LCb setrgbcolor 1525 | 1131 1310 M 1526 | 28 -5 V 1527 | stroke 1528 | LTa 1529 | LCa setrgbcolor 1530 | 4625 780 M 1531 | 1292 1400 L 1532 | stroke 1533 | LTb 1534 | LCb setrgbcolor 1535 | 4625 780 M 1536 | -55 10 V 1537 | stroke 1538 | 4698 703 M 1539 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1540 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1541 | ] -60.7 MCshow 1542 | 1.000 UL 1543 | LTb 1544 | LCb setrgbcolor 1545 | 1.000 UL 1546 | LTb 1547 | LCb setrgbcolor 1548 | 1292 1400 M 1549 | 54 -11 V 1550 | stroke 1551 | LTb 1552 | LCb setrgbcolor 1553 | 4785 869 M 1554 | -27 6 V 1555 | stroke 1556 | LTb 1557 | LCb setrgbcolor 1558 | 1452 1489 M 1559 | 27 -5 V 1560 | stroke 1561 | LTa 1562 | LCa setrgbcolor 1563 | 4946 959 M 1564 | 1613 1578 L 1565 | stroke 1566 | LTb 1567 | LCb setrgbcolor 1568 | 4946 959 M 1569 | -55 10 V 1570 | stroke 1571 | 5019 881 M 1572 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1573 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1574 | ] -60.7 MCshow 1575 | 1.000 UL 1576 | LTb 1577 | LCb setrgbcolor 1578 | 1.000 UL 1579 | LTb 1580 | LCb setrgbcolor 1581 | 1613 1578 M 1582 | 54 -10 V 1583 | stroke 1584 | LTb 1585 | LCb setrgbcolor 1586 | 5106 1048 M 1587 | -27 5 V 1588 | stroke 1589 | LTb 1590 | LCb setrgbcolor 1591 | 1773 1668 M 1592 | 27 -5 V 1593 | stroke 1594 | LTa 1595 | LCa setrgbcolor 1596 | 5267 1138 M 1597 | 1933 1757 L 1598 | stroke 1599 | LTb 1600 | LCb setrgbcolor 1601 | 5267 1138 M 1602 | -55 10 V 1603 | stroke 1604 | 5339 1060 M 1605 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1606 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1607 | ] -60.7 MCshow 1608 | 1.000 UL 1609 | LTb 1610 | LCb setrgbcolor 1611 | 1.000 UL 1612 | LTb 1613 | LCb setrgbcolor 1614 | 1933 1757 M 1615 | 55 -10 V 1616 | stroke 1617 | LTb 1618 | LCb setrgbcolor 1619 | 5427 1227 M 1620 | -27 5 V 1621 | stroke 1622 | LTb 1623 | LCb setrgbcolor 1624 | 2094 1847 M 1625 | 27 -5 V 1626 | stroke 1627 | LTa 1628 | LCa setrgbcolor 1629 | 5587 1317 M 1630 | 2254 1936 L 1631 | stroke 1632 | LTb 1633 | LCb setrgbcolor 1634 | 5587 1317 M 1635 | -54 10 V 1636 | stroke 1637 | 5660 1239 M 1638 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1639 | [(Helvetica) 112.0 70.0 true true 0 (8)] 1640 | ] -60.7 MCshow 1641 | 1.000 UL 1642 | LTb 1643 | LCb setrgbcolor 1644 | 1.000 UL 1645 | LTb 1646 | LCb setrgbcolor 1647 | 2254 1936 M 1648 | 55 -10 V 1649 | stroke 1650 | LTb 1651 | LCb setrgbcolor 1652 | 5748 1406 M 1653 | -27 5 V 1654 | stroke 1655 | LTb 1656 | LCb setrgbcolor 1657 | 2415 2025 M 1658 | 27 -5 V 1659 | stroke 1660 | LTa 1661 | LCa setrgbcolor 1662 | 5908 1495 M 1663 | 2575 2115 L 1664 | stroke 1665 | LTb 1666 | LCb setrgbcolor 1667 | 5908 1495 M 1668 | -54 11 V 1669 | stroke 1670 | 5981 1418 M 1671 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1672 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1673 | ] -60.7 MCshow 1674 | 1.000 UL 1675 | LTb 1676 | LCb setrgbcolor 1677 | 1.000 UL 1678 | LTb 1679 | LCb setrgbcolor 1680 | 2575 2115 M 1681 | 55 -10 V 1682 | stroke 1683 | LTb 1684 | LCb setrgbcolor 1685 | 6069 1585 M 1686 | -28 5 V 1687 | stroke 1688 | LTb 1689 | LCb setrgbcolor 1690 | 2735 2204 M 1691 | 28 -5 V 1692 | stroke 1693 | LTa 1694 | LCa setrgbcolor 1695 | 6229 1674 M 1696 | 2896 2294 L 1697 | stroke 1698 | LTb 1699 | LCb setrgbcolor 1700 | 6229 1674 M 1701 | -54 10 V 1702 | stroke 1703 | 6302 1597 M 1704 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1705 | [(Helvetica) 112.0 70.0 true true 0 (12)] 1706 | ] -60.7 MCshow 1707 | 1.000 UL 1708 | LTb 1709 | LCb setrgbcolor 1710 | 1.000 UL 1711 | LTb 1712 | LCb setrgbcolor 1713 | 2896 2294 M 1714 | 54 -10 V 1715 | stroke 1716 | LCb setrgbcolor 1717 | 6100 983 M 1718 | [ [(Helvetica) 140.0 0.0 true true 0 (Input Size)] 1719 | ] -46.7 MCshow 1720 | LTb 1721 | 1.000 UL 1722 | LTa 1723 | LCa setrgbcolor 1724 | 971 1936 M 1725 | 2896 3008 L 1726 | stroke 1727 | LTa 1728 | LCa setrgbcolor 1729 | 2896 3008 M 1730 | 6229 2390 L 1731 | stroke 1732 | LTb 1733 | LCb setrgbcolor 1734 | 971 1936 M 1735 | 63 0 V 1736 | stroke 1737 | 845 1936 M 1738 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1739 | [(Helvetica) 112.0 70.0 true true 0 (-20)] 1740 | ] -60.7 MRshow 1741 | 1.000 UL 1742 | LTb 1743 | LCb setrgbcolor 1744 | 1.000 UL 1745 | LTb 1746 | LCb setrgbcolor 1747 | 971 1984 M 1748 | 31 0 V 1749 | stroke 1750 | LTb 1751 | LCb setrgbcolor 1752 | 971 2031 M 1753 | 31 0 V 1754 | stroke 1755 | LTb 1756 | LCb setrgbcolor 1757 | 971 2079 M 1758 | 31 0 V 1759 | stroke 1760 | LTb 1761 | LCb setrgbcolor 1762 | 971 2127 M 1763 | 31 0 V 1764 | stroke 1765 | LTa 1766 | LCa setrgbcolor 1767 | 971 2175 M 1768 | 2896 3247 L 1769 | stroke 1770 | LTa 1771 | LCa setrgbcolor 1772 | 2896 3247 M 1773 | 6229 2627 L 1774 | stroke 1775 | LTb 1776 | LCb setrgbcolor 1777 | 971 2175 M 1778 | 63 0 V 1779 | stroke 1780 | 845 2175 M 1781 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1782 | [(Helvetica) 112.0 70.0 true true 0 (-15)] 1783 | ] -60.7 MRshow 1784 | 1.000 UL 1785 | LTb 1786 | LCb setrgbcolor 1787 | 1.000 UL 1788 | LTb 1789 | LCb setrgbcolor 1790 | 971 2222 M 1791 | 31 0 V 1792 | stroke 1793 | LTb 1794 | LCb setrgbcolor 1795 | 971 2270 M 1796 | 31 0 V 1797 | stroke 1798 | LTb 1799 | LCb setrgbcolor 1800 | 971 2318 M 1801 | 31 0 V 1802 | stroke 1803 | LTb 1804 | LCb setrgbcolor 1805 | 971 2365 M 1806 | 31 0 V 1807 | stroke 1808 | LTa 1809 | LCa setrgbcolor 1810 | 971 2413 M 1811 | 2896 3485 L 1812 | stroke 1813 | LTa 1814 | LCa setrgbcolor 1815 | 2896 3485 M 1816 | 6229 2865 L 1817 | stroke 1818 | LTb 1819 | LCb setrgbcolor 1820 | 971 2413 M 1821 | 63 0 V 1822 | stroke 1823 | 845 2413 M 1824 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1825 | [(Helvetica) 112.0 70.0 true true 0 (-10)] 1826 | ] -60.7 MRshow 1827 | 1.000 UL 1828 | LTb 1829 | LCb setrgbcolor 1830 | 1.000 UL 1831 | LTb 1832 | LCb setrgbcolor 1833 | 971 2461 M 1834 | 31 0 V 1835 | stroke 1836 | LTb 1837 | LCb setrgbcolor 1838 | 971 2508 M 1839 | 31 0 V 1840 | stroke 1841 | LTb 1842 | LCb setrgbcolor 1843 | 971 2555 M 1844 | 31 0 V 1845 | stroke 1846 | LTb 1847 | LCb setrgbcolor 1848 | 971 2603 M 1849 | 31 0 V 1850 | stroke 1851 | LTa 1852 | LCa setrgbcolor 1853 | 971 2650 M 1854 | 2896 3723 L 1855 | stroke 1856 | LTa 1857 | LCa setrgbcolor 1858 | 2896 3723 M 1859 | 6229 3104 L 1860 | stroke 1861 | LTb 1862 | LCb setrgbcolor 1863 | 971 2650 M 1864 | 63 0 V 1865 | stroke 1866 | 845 2650 M 1867 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1868 | [(Helvetica) 112.0 70.0 true true 0 (-5)] 1869 | ] -60.7 MRshow 1870 | 1.000 UL 1871 | LTb 1872 | LCb setrgbcolor 1873 | 1.000 UL 1874 | LTb 1875 | LCb setrgbcolor 1876 | 971 2698 M 1877 | 31 0 V 1878 | stroke 1879 | LTb 1880 | LCb setrgbcolor 1881 | 971 2746 M 1882 | 31 0 V 1883 | stroke 1884 | LTb 1885 | LCb setrgbcolor 1886 | 971 2793 M 1887 | 31 0 V 1888 | stroke 1889 | LTb 1890 | LCb setrgbcolor 1891 | 971 2841 M 1892 | 31 0 V 1893 | stroke 1894 | LTa 1895 | LCa setrgbcolor 1896 | 971 2889 M 1897 | 2896 3962 L 1898 | stroke 1899 | LTa 1900 | LCa setrgbcolor 1901 | 2896 3962 M 1902 | 6229 3342 L 1903 | stroke 1904 | LTb 1905 | LCb setrgbcolor 1906 | 971 2889 M 1907 | 63 0 V 1908 | stroke 1909 | 845 2889 M 1910 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1911 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1912 | ] -60.7 MRshow 1913 | 1.000 UL 1914 | LTb 1915 | LCb setrgbcolor 1916 | 1.000 UL 1917 | LTb 1918 | LCb setrgbcolor 1919 | 971 2937 M 1920 | 31 0 V 1921 | stroke 1922 | LTb 1923 | LCb setrgbcolor 1924 | 971 2984 M 1925 | 31 0 V 1926 | stroke 1927 | LTb 1928 | LCb setrgbcolor 1929 | 971 3032 M 1930 | 31 0 V 1931 | stroke 1932 | LTb 1933 | LCb setrgbcolor 1934 | 971 3080 M 1935 | 31 0 V 1936 | stroke 1937 | LTa 1938 | LCa setrgbcolor 1939 | 971 3127 M 1940 | 2896 4200 L 1941 | stroke 1942 | LTa 1943 | LCa setrgbcolor 1944 | 2896 4200 M 1945 | 6229 3581 L 1946 | stroke 1947 | LTb 1948 | LCb setrgbcolor 1949 | 971 3127 M 1950 | 63 0 V 1951 | stroke 1952 | 845 3127 M 1953 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1954 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1955 | ] -60.7 MRshow 1956 | 1.000 UL 1957 | LTb 1958 | LCb setrgbcolor 1959 | 1.000 UL 1960 | LTb 1961 | LCb setrgbcolor 1962 | 971 3175 M 1963 | 31 0 V 1964 | stroke 1965 | LTb 1966 | LCb setrgbcolor 1967 | 971 3223 M 1968 | 31 0 V 1969 | stroke 1970 | LTb 1971 | LCb setrgbcolor 1972 | 971 3270 M 1973 | 31 0 V 1974 | stroke 1975 | LTb 1976 | LCb setrgbcolor 1977 | 971 3318 M 1978 | 31 0 V 1979 | stroke 1980 | LTa 1981 | LCa setrgbcolor 1982 | 971 3366 M 1983 | 2896 4439 L 1984 | stroke 1985 | LTa 1986 | LCa setrgbcolor 1987 | 2896 4439 M 1988 | 6229 3819 L 1989 | stroke 1990 | LTb 1991 | LCb setrgbcolor 1992 | 971 3366 M 1993 | 63 0 V 1994 | stroke 1995 | 845 3366 M 1996 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1997 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1998 | ] -60.7 MRshow 1999 | 1.000 UL 2000 | LTb 2001 | LCb setrgbcolor 2002 | LCb setrgbcolor 2003 | 383 1531 M 2004 | [ [(Helvetica) 140.0 0.0 true true 0 (Time \(in seconds\))] 2005 | ] -46.7 MCshow 2006 | LTb 2007 | 1.000 UP 2008 | stroke 2009 | grestore 2010 | end 2011 | showpage 2012 | %%Trailer 2013 | %%DocumentFonts: Helvetica 2014 | %%Pages: 1 2015 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-prover-8.ps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 2 | %%Title: naive-prover-8.ps 3 | %%Creator: gnuplot 4.6 patchlevel 4 4 | %%CreationDate: Wed Aug 17 09:40:33 2016 5 | %%DocumentFonts: (atend) 6 | %%BoundingBox: 50 50 554 770 7 | %%Orientation: Landscape 8 | %%Pages: (atend) 9 | %%EndComments 10 | %%BeginProlog 11 | /gnudict 256 dict def 12 | gnudict begin 13 | % 14 | % The following true/false flags may be edited by hand if desired. 15 | % The unit line width and grayscale image gamma correction may also be changed. 16 | % 17 | /Color true def 18 | /Blacktext false def 19 | /Solid true def 20 | /Dashlength 1 def 21 | /Landscape true def 22 | /Level1 false def 23 | /Rounded false def 24 | /ClipToBoundingBox false def 25 | /SuppressPDFMark false def 26 | /TransparentPatterns false def 27 | /gnulinewidth 5.000 def 28 | /userlinewidth gnulinewidth def 29 | /Gamma 1.0 def 30 | /BackgroundColor {-1.000 -1.000 -1.000} def 31 | % 32 | /vshift -46 def 33 | /dl1 { 34 | 10.0 Dashlength mul mul 35 | Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 36 | } def 37 | /dl2 { 38 | 10.0 Dashlength mul mul 39 | Rounded { currentlinewidth 0.75 mul add } if 40 | } def 41 | /hpt_ 31.5 def 42 | /vpt_ 31.5 def 43 | /hpt hpt_ def 44 | /vpt vpt_ def 45 | /doclip { 46 | ClipToBoundingBox { 47 | newpath 50 50 moveto 554 50 lineto 554 770 lineto 50 770 lineto closepath 48 | clip 49 | } if 50 | } def 51 | % 52 | % Gnuplot Prolog Version 4.6 (September 2012) 53 | % 54 | %/SuppressPDFMark true def 55 | % 56 | /M {moveto} bind def 57 | /L {lineto} bind def 58 | /R {rmoveto} bind def 59 | /V {rlineto} bind def 60 | /N {newpath moveto} bind def 61 | /Z {closepath} bind def 62 | /C {setrgbcolor} bind def 63 | /f {rlineto fill} bind def 64 | /g {setgray} bind def 65 | /Gshow {show} def % May be redefined later in the file to support UTF-8 66 | /vpt2 vpt 2 mul def 67 | /hpt2 hpt 2 mul def 68 | /Lshow {currentpoint stroke M 0 vshift R 69 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 70 | /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 71 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 72 | /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 73 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 74 | /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 75 | /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 76 | /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 77 | {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 78 | /BL {stroke userlinewidth 2 mul setlinewidth 79 | Rounded {1 setlinejoin 1 setlinecap} if} def 80 | /AL {stroke userlinewidth 2 div setlinewidth 81 | Rounded {1 setlinejoin 1 setlinecap} if} def 82 | /UL {dup gnulinewidth mul /userlinewidth exch def 83 | dup 1 lt {pop 1} if 10 mul /udl exch def} def 84 | /PL {stroke userlinewidth setlinewidth 85 | Rounded {1 setlinejoin 1 setlinecap} if} def 86 | 3.8 setmiterlimit 87 | % Default Line colors 88 | /LCw {1 1 1} def 89 | /LCb {0 0 0} def 90 | /LCa {0 0 0} def 91 | /LC0 {1 0 0} def 92 | /LC1 {0 1 0} def 93 | /LC2 {0 0 1} def 94 | /LC3 {1 0 1} def 95 | /LC4 {0 1 1} def 96 | /LC5 {1 1 0} def 97 | /LC6 {0 0 0} def 98 | /LC7 {1 0.3 0} def 99 | /LC8 {0.5 0.5 0.5} def 100 | % Default Line Types 101 | /LTw {PL [] 1 setgray} def 102 | /LTb {BL [] LCb DL} def 103 | /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 104 | /LT0 {PL [] LC0 DL} def 105 | /LT1 {PL [4 dl1 2 dl2] LC1 DL} def 106 | /LT2 {PL [2 dl1 3 dl2] LC2 DL} def 107 | /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 108 | /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 109 | /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 110 | /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 111 | /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 112 | /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 113 | /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 114 | /Dia {stroke [] 0 setdash 2 copy vpt add M 115 | hpt neg vpt neg V hpt vpt neg V 116 | hpt vpt V hpt neg vpt V closepath stroke 117 | Pnt} def 118 | /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 119 | currentpoint stroke M 120 | hpt neg vpt neg R hpt2 0 V stroke 121 | } def 122 | /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 123 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 124 | hpt2 neg 0 V closepath stroke 125 | Pnt} def 126 | /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 127 | hpt2 vpt2 neg V currentpoint stroke M 128 | hpt2 neg 0 R hpt2 vpt2 V stroke} def 129 | /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 130 | hpt neg vpt -1.62 mul V 131 | hpt 2 mul 0 V 132 | hpt neg vpt 1.62 mul V closepath stroke 133 | Pnt} def 134 | /Star {2 copy Pls Crs} def 135 | /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 136 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 137 | hpt2 neg 0 V closepath fill} def 138 | /TriUF {stroke [] 0 setdash vpt 1.12 mul add M 139 | hpt neg vpt -1.62 mul V 140 | hpt 2 mul 0 V 141 | hpt neg vpt 1.62 mul V closepath fill} def 142 | /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 143 | hpt neg vpt 1.62 mul V 144 | hpt 2 mul 0 V 145 | hpt neg vpt -1.62 mul V closepath stroke 146 | Pnt} def 147 | /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 148 | hpt neg vpt 1.62 mul V 149 | hpt 2 mul 0 V 150 | hpt neg vpt -1.62 mul V closepath fill} def 151 | /DiaF {stroke [] 0 setdash vpt add M 152 | hpt neg vpt neg V hpt vpt neg V 153 | hpt vpt V hpt neg vpt V closepath fill} def 154 | /Pent {stroke [] 0 setdash 2 copy gsave 155 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 156 | closepath stroke grestore Pnt} def 157 | /PentF {stroke [] 0 setdash gsave 158 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 159 | closepath fill grestore} def 160 | /Circle {stroke [] 0 setdash 2 copy 161 | hpt 0 360 arc stroke Pnt} def 162 | /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 163 | /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 164 | /C1 {BL [] 0 setdash 2 copy moveto 165 | 2 copy vpt 0 90 arc closepath fill 166 | vpt 0 360 arc closepath} bind def 167 | /C2 {BL [] 0 setdash 2 copy moveto 168 | 2 copy vpt 90 180 arc closepath fill 169 | vpt 0 360 arc closepath} bind def 170 | /C3 {BL [] 0 setdash 2 copy moveto 171 | 2 copy vpt 0 180 arc closepath fill 172 | vpt 0 360 arc closepath} bind def 173 | /C4 {BL [] 0 setdash 2 copy moveto 174 | 2 copy vpt 180 270 arc closepath fill 175 | vpt 0 360 arc closepath} bind def 176 | /C5 {BL [] 0 setdash 2 copy moveto 177 | 2 copy vpt 0 90 arc 178 | 2 copy moveto 179 | 2 copy vpt 180 270 arc closepath fill 180 | vpt 0 360 arc} bind def 181 | /C6 {BL [] 0 setdash 2 copy moveto 182 | 2 copy vpt 90 270 arc closepath fill 183 | vpt 0 360 arc closepath} bind def 184 | /C7 {BL [] 0 setdash 2 copy moveto 185 | 2 copy vpt 0 270 arc closepath fill 186 | vpt 0 360 arc closepath} bind def 187 | /C8 {BL [] 0 setdash 2 copy moveto 188 | 2 copy vpt 270 360 arc closepath fill 189 | vpt 0 360 arc closepath} bind def 190 | /C9 {BL [] 0 setdash 2 copy moveto 191 | 2 copy vpt 270 450 arc closepath fill 192 | vpt 0 360 arc closepath} bind def 193 | /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 194 | 2 copy moveto 195 | 2 copy vpt 90 180 arc closepath fill 196 | vpt 0 360 arc closepath} bind def 197 | /C11 {BL [] 0 setdash 2 copy moveto 198 | 2 copy vpt 0 180 arc closepath fill 199 | 2 copy moveto 200 | 2 copy vpt 270 360 arc closepath fill 201 | vpt 0 360 arc closepath} bind def 202 | /C12 {BL [] 0 setdash 2 copy moveto 203 | 2 copy vpt 180 360 arc closepath fill 204 | vpt 0 360 arc closepath} bind def 205 | /C13 {BL [] 0 setdash 2 copy moveto 206 | 2 copy vpt 0 90 arc closepath fill 207 | 2 copy moveto 208 | 2 copy vpt 180 360 arc closepath fill 209 | vpt 0 360 arc closepath} bind def 210 | /C14 {BL [] 0 setdash 2 copy moveto 211 | 2 copy vpt 90 360 arc closepath fill 212 | vpt 0 360 arc} bind def 213 | /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 214 | vpt 0 360 arc closepath} bind def 215 | /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 216 | neg 0 rlineto closepath} bind def 217 | /Square {dup Rec} bind def 218 | /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 219 | /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 220 | /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 221 | /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 222 | /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 223 | /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 224 | /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 225 | exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 226 | /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 227 | /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 228 | 2 copy vpt Square fill Bsquare} bind def 229 | /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 230 | /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 231 | /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 232 | Bsquare} bind def 233 | /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 234 | Bsquare} bind def 235 | /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 236 | /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 237 | 2 copy vpt Square fill Bsquare} bind def 238 | /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 239 | 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 240 | /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 241 | /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 242 | /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 243 | /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 244 | /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 245 | /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 246 | /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 247 | /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 248 | /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 249 | /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 250 | /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 251 | /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 252 | /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 253 | /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 254 | /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 255 | /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 256 | /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 257 | /DiaE {stroke [] 0 setdash vpt add M 258 | hpt neg vpt neg V hpt vpt neg V 259 | hpt vpt V hpt neg vpt V closepath stroke} def 260 | /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 261 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 262 | hpt2 neg 0 V closepath stroke} def 263 | /TriUE {stroke [] 0 setdash vpt 1.12 mul add M 264 | hpt neg vpt -1.62 mul V 265 | hpt 2 mul 0 V 266 | hpt neg vpt 1.62 mul V closepath stroke} def 267 | /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 268 | hpt neg vpt 1.62 mul V 269 | hpt 2 mul 0 V 270 | hpt neg vpt -1.62 mul V closepath stroke} def 271 | /PentE {stroke [] 0 setdash gsave 272 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 273 | closepath stroke grestore} def 274 | /CircE {stroke [] 0 setdash 275 | hpt 0 360 arc stroke} def 276 | /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 277 | /DiaW {stroke [] 0 setdash vpt add M 278 | hpt neg vpt neg V hpt vpt neg V 279 | hpt vpt V hpt neg vpt V Opaque stroke} def 280 | /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 281 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 282 | hpt2 neg 0 V Opaque stroke} def 283 | /TriUW {stroke [] 0 setdash vpt 1.12 mul add M 284 | hpt neg vpt -1.62 mul V 285 | hpt 2 mul 0 V 286 | hpt neg vpt 1.62 mul V Opaque stroke} def 287 | /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 288 | hpt neg vpt 1.62 mul V 289 | hpt 2 mul 0 V 290 | hpt neg vpt -1.62 mul V Opaque stroke} def 291 | /PentW {stroke [] 0 setdash gsave 292 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 293 | Opaque stroke grestore} def 294 | /CircW {stroke [] 0 setdash 295 | hpt 0 360 arc Opaque stroke} def 296 | /BoxFill {gsave Rec 1 setgray fill grestore} def 297 | /Density { 298 | /Fillden exch def 299 | currentrgbcolor 300 | /ColB exch def /ColG exch def /ColR exch def 301 | /ColR ColR Fillden mul Fillden sub 1 add def 302 | /ColG ColG Fillden mul Fillden sub 1 add def 303 | /ColB ColB Fillden mul Fillden sub 1 add def 304 | ColR ColG ColB setrgbcolor} def 305 | /BoxColFill {gsave Rec PolyFill} def 306 | /PolyFill {gsave Density fill grestore grestore} def 307 | /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 308 | % 309 | % PostScript Level 1 Pattern Fill routine for rectangles 310 | % Usage: x y w h s a XX PatternFill 311 | % x,y = lower left corner of box to be filled 312 | % w,h = width and height of box 313 | % a = angle in degrees between lines and x-axis 314 | % XX = 0/1 for no/yes cross-hatch 315 | % 316 | /PatternFill {gsave /PFa [ 9 2 roll ] def 317 | PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 318 | PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 319 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 320 | clip 321 | currentlinewidth 0.5 mul setlinewidth 322 | /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 323 | 0 0 M PFa 5 get rotate PFs -2 div dup translate 324 | 0 1 PFs PFa 4 get div 1 add floor cvi 325 | {PFa 4 get mul 0 M 0 PFs V} for 326 | 0 PFa 6 get ne { 327 | 0 1 PFs PFa 4 get div 1 add floor cvi 328 | {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 329 | } if 330 | stroke grestore} def 331 | % 332 | /languagelevel where 333 | {pop languagelevel} {1} ifelse 334 | 2 lt 335 | {/InterpretLevel1 true def} 336 | {/InterpretLevel1 Level1 def} 337 | ifelse 338 | % 339 | % PostScript level 2 pattern fill definitions 340 | % 341 | /Level2PatternFill { 342 | /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 343 | bind def 344 | /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 345 | << Tile8x8 346 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 347 | >> matrix makepattern 348 | /Pat1 exch def 349 | << Tile8x8 350 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 351 | 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 352 | >> matrix makepattern 353 | /Pat2 exch def 354 | << Tile8x8 355 | /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 356 | 8 8 L 8 0 L 0 0 L fill} 357 | >> matrix makepattern 358 | /Pat3 exch def 359 | << Tile8x8 360 | /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 361 | 0 12 M 12 0 L stroke} 362 | >> matrix makepattern 363 | /Pat4 exch def 364 | << Tile8x8 365 | /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 366 | 0 -4 M 12 8 L stroke} 367 | >> matrix makepattern 368 | /Pat5 exch def 369 | << Tile8x8 370 | /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 371 | 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 372 | >> matrix makepattern 373 | /Pat6 exch def 374 | << Tile8x8 375 | /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 376 | 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 377 | >> matrix makepattern 378 | /Pat7 exch def 379 | << Tile8x8 380 | /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 381 | 12 0 M -4 8 L 12 4 M 0 10 L stroke} 382 | >> matrix makepattern 383 | /Pat8 exch def 384 | << Tile8x8 385 | /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 386 | -4 0 M 12 8 L -4 4 M 8 10 L stroke} 387 | >> matrix makepattern 388 | /Pat9 exch def 389 | /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 390 | /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 391 | /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 392 | /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 393 | /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 394 | /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 395 | /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 396 | } def 397 | % 398 | % 399 | %End of PostScript Level 2 code 400 | % 401 | /PatternBgnd { 402 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 403 | } def 404 | % 405 | % Substitute for Level 2 pattern fill codes with 406 | % grayscale if Level 2 support is not selected. 407 | % 408 | /Level1PatternFill { 409 | /Pattern1 {0.250 Density} bind def 410 | /Pattern2 {0.500 Density} bind def 411 | /Pattern3 {0.750 Density} bind def 412 | /Pattern4 {0.125 Density} bind def 413 | /Pattern5 {0.375 Density} bind def 414 | /Pattern6 {0.625 Density} bind def 415 | /Pattern7 {0.875 Density} bind def 416 | } def 417 | % 418 | % Now test for support of Level 2 code 419 | % 420 | Level1 {Level1PatternFill} {Level2PatternFill} ifelse 421 | % 422 | /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 423 | dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 424 | currentdict end definefont pop 425 | /MFshow { 426 | { dup 5 get 3 ge 427 | { 5 get 3 eq {gsave} {grestore} ifelse } 428 | {dup dup 0 get findfont exch 1 get scalefont setfont 429 | [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 430 | get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 431 | {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 432 | get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 433 | dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 434 | show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 435 | pop aload pop M} ifelse }ifelse }ifelse } 436 | ifelse } 437 | forall} def 438 | /Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 439 | /MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 440 | {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 441 | 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 442 | /MLshow { currentpoint stroke M 443 | 0 exch R 444 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 445 | /MRshow { currentpoint stroke M 446 | exch dup MFwidth neg 3 -1 roll R 447 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 448 | /MCshow { currentpoint stroke M 449 | exch dup MFwidth -2 div 3 -1 roll R 450 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 451 | /XYsave { [( ) 1 2 true false 3 ()] } bind def 452 | /XYrestore { [( ) 1 2 true false 4 ()] } bind def 453 | Level1 SuppressPDFMark or 454 | {} { 455 | /SDict 10 dict def 456 | systemdict /pdfmark known not { 457 | userdict /pdfmark systemdict /cleartomark get put 458 | } if 459 | SDict begin [ 460 | /Title (naive-prover-8.ps) 461 | /Subject (gnuplot plot) 462 | /Creator (gnuplot 4.6 patchlevel 4) 463 | /Author (vagrant) 464 | % /Producer (gnuplot) 465 | % /Keywords () 466 | /CreationDate (Wed Aug 17 09:40:33 2016) 467 | /DOCINFO pdfmark 468 | end 469 | } ifelse 470 | end 471 | %%EndProlog 472 | %%Page: 1 1 473 | gnudict begin 474 | gsave 475 | doclip 476 | 50 50 translate 477 | 0.100 0.100 scale 478 | 90 rotate 479 | 0 -5040 translate 480 | 0 setgray 481 | newpath 482 | (Helvetica) findfont 140 scalefont setfont 483 | BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if 484 | 1.000 UL 485 | LTb 486 | LCb setrgbcolor 487 | LTb 488 | 3600 4773 M 489 | [ [(Helvetica) 140.0 0.0 true true 0 (Runtime)] 490 | ] -46.7 MCshow 491 | 1.000 UP 492 | % Begin plot #1 493 | 1.000 UL 494 | LT0 495 | LC0 setrgbcolor 496 | 2735 3768 M 497 | 161 187 V 498 | stroke 499 | LT2 500 | LC2 setrgbcolor 501 | 2735 3850 M 502 | 161 186 V 503 | stroke 504 | LT0 505 | LC0 setrgbcolor 506 | 2575 3584 M 507 | 160 184 V 508 | stroke 509 | LT2 510 | LC2 setrgbcolor 511 | 2575 3666 M 512 | 160 184 V 513 | stroke 514 | LT0 515 | LC0 setrgbcolor 516 | 2415 3404 M 517 | 160 180 V 518 | stroke 519 | LT0 520 | LC0 setrgbcolor 521 | 3291 3712 M 522 | 161 187 V 523 | stroke 524 | LT2 525 | LC2 setrgbcolor 526 | 2415 3486 M 527 | 160 180 V 528 | stroke 529 | LT2 530 | LC2 setrgbcolor 531 | 3291 3791 M 532 | 161 186 V 533 | stroke 534 | LT0 535 | LC0 setrgbcolor 536 | 2254 3213 M 537 | 161 191 V 538 | stroke 539 | LT0 540 | LC0 setrgbcolor 541 | 3131 3528 M 542 | 160 184 V 543 | stroke 544 | LT2 545 | LC2 setrgbcolor 546 | 2254 3302 M 547 | 161 184 V 548 | stroke 549 | LT2 550 | LC2 setrgbcolor 551 | 3131 3610 M 552 | 160 181 V 553 | stroke 554 | LT0 555 | LC0 setrgbcolor 556 | 2094 3028 M 557 | 160 185 V 558 | stroke 559 | LT0 560 | LC0 setrgbcolor 561 | 2970 3348 M 562 | 161 180 V 563 | stroke 564 | LT0 565 | LC0 setrgbcolor 566 | 3846 3657 M 567 | 160 187 V 568 | stroke 569 | LT2 570 | LC2 setrgbcolor 571 | 2094 3124 M 572 | 160 178 V 573 | stroke 574 | LT2 575 | LC2 setrgbcolor 576 | 2970 3436 M 577 | 161 174 V 578 | stroke 579 | LT2 580 | LC2 setrgbcolor 581 | 3846 3735 M 582 | 160 185 V 583 | stroke 584 | LT0 585 | LC0 setrgbcolor 586 | 1933 2839 M 587 | 161 189 V 588 | stroke 589 | LT0 590 | LC0 setrgbcolor 591 | 2810 3158 M 592 | 160 190 V 593 | stroke 594 | LT0 595 | LC0 setrgbcolor 596 | 3685 3472 M 597 | 161 185 V 598 | stroke 599 | LT2 600 | LC2 setrgbcolor 601 | 1933 2953 M 602 | 161 171 V 603 | stroke 604 | LT2 605 | LC2 setrgbcolor 606 | 3685 3550 M 607 | 161 185 V 608 | stroke 609 | LT2 610 | LC2 setrgbcolor 611 | 2810 3253 M 612 | 160 183 V 613 | stroke 614 | LT0 615 | LC0 setrgbcolor 616 | 1773 2659 M 617 | 160 180 V 618 | stroke 619 | LT0 620 | LC0 setrgbcolor 621 | 2650 2976 M 622 | 160 182 V 623 | stroke 624 | LT0 625 | LC0 setrgbcolor 626 | 3526 3288 M 627 | 159 184 V 628 | stroke 629 | LT0 630 | LC0 setrgbcolor 631 | 4402 3602 M 632 | 160 186 V 633 | stroke 634 | LT2 635 | LC2 setrgbcolor 636 | 3526 3375 M 637 | 159 175 V 638 | stroke 639 | LT2 640 | LC2 setrgbcolor 641 | 2650 3146 M 642 | 160 107 V 643 | stroke 644 | LT2 645 | LC2 setrgbcolor 646 | 1773 2795 M 647 | 160 158 V 648 | stroke 649 | LT2 650 | LC2 setrgbcolor 651 | 4402 3680 M 652 | 160 182 V 653 | stroke 654 | LT0 655 | LC0 setrgbcolor 656 | 1613 2485 M 657 | 160 174 V 658 | stroke 659 | LT0 660 | LC0 setrgbcolor 661 | 2489 2787 M 662 | 161 189 V 663 | stroke 664 | LT0 665 | LC0 setrgbcolor 666 | 3366 3102 M 667 | 160 186 V 668 | stroke 669 | LT0 670 | LC0 setrgbcolor 671 | 4241 3416 M 672 | 161 186 V 673 | stroke 674 | LT2 675 | LC2 setrgbcolor 676 | 3366 3211 M 677 | 160 164 V 678 | stroke 679 | LT2 680 | LC2 setrgbcolor 681 | 4241 3492 M 682 | 161 188 V 683 | stroke 684 | LT2 685 | LC2 setrgbcolor 686 | 1613 2652 M 687 | 160 143 V 688 | stroke 689 | LT0 690 | LC0 setrgbcolor 691 | 1452 2409 M 692 | 161 76 V 693 | stroke 694 | LT0 695 | LC0 setrgbcolor 696 | 2329 2604 M 697 | 160 183 V 698 | stroke 699 | LT2 700 | LC2 setrgbcolor 701 | 2489 2929 M 702 | 161 217 V 703 | stroke 704 | LT0 705 | LC0 setrgbcolor 706 | 3205 2915 M 707 | 161 187 V 708 | stroke 709 | LT0 710 | LC0 setrgbcolor 711 | 4081 3232 M 712 | 160 184 V 713 | stroke 714 | LT0 715 | LC0 setrgbcolor 716 | 4957 3546 M 717 | 161 187 V 718 | stroke 719 | LT2 720 | LC2 setrgbcolor 721 | 4081 3313 M 722 | 160 179 V 723 | stroke 724 | LT2 725 | LC2 setrgbcolor 726 | 4957 3624 M 727 | 161 184 V 728 | stroke 729 | LT2 730 | LC2 setrgbcolor 731 | 3205 3061 M 732 | 161 150 V 733 | stroke 734 | LT2 735 | LC2 setrgbcolor 736 | 2329 2771 M 737 | 160 158 V 738 | stroke 739 | LT2 740 | LC2 setrgbcolor 741 | 1452 2530 M 742 | 161 122 V 743 | stroke 744 | LT0 745 | LC0 setrgbcolor 746 | 2168 2427 M 747 | 161 177 V 748 | stroke 749 | LT0 750 | LC0 setrgbcolor 751 | 3045 2730 M 752 | 160 185 V 753 | stroke 754 | LT0 755 | LC0 setrgbcolor 756 | 3920 3048 M 757 | 161 184 V 758 | stroke 759 | LT0 760 | LC0 setrgbcolor 761 | 4797 3361 M 762 | 160 185 V 763 | stroke 764 | LT2 765 | LC2 setrgbcolor 766 | 3920 3133 M 767 | 161 180 V 768 | stroke 769 | LT0 770 | LC0 setrgbcolor 771 | 1292 2173 M 772 | 160 236 V 773 | stroke 774 | LT2 775 | LC2 setrgbcolor 776 | 4797 3439 M 777 | 160 185 V 778 | stroke 779 | LT2 780 | LC2 setrgbcolor 781 | 3045 2859 M 782 | 160 202 V 783 | stroke 784 | LT2 785 | LC2 setrgbcolor 786 | 2168 2693 M 787 | 161 78 V 788 | stroke 789 | LT0 790 | LC0 setrgbcolor 791 | 2008 2264 M 792 | 160 163 V 793 | stroke 794 | LT0 795 | LC0 setrgbcolor 796 | 2884 2547 M 797 | 161 183 V 798 | stroke 799 | LT0 800 | LC0 setrgbcolor 801 | 3760 2861 M 802 | 160 187 V 803 | stroke 804 | LT0 805 | LC0 setrgbcolor 806 | 4636 3176 M 807 | 161 185 V 808 | stroke 809 | LT0 810 | LC0 setrgbcolor 811 | 5513 3488 M 812 | 160 188 V 813 | stroke 814 | LT2 815 | LC2 setrgbcolor 816 | 1292 2429 M 817 | 160 101 V 818 | stroke 819 | LT0 820 | LC0 setrgbcolor 821 | 1131 2070 M 822 | 161 103 V 823 | stroke 824 | LT2 825 | LC2 setrgbcolor 826 | 3760 2983 M 827 | 160 150 V 828 | stroke 829 | LT2 830 | LC2 setrgbcolor 831 | 4636 3255 M 832 | 161 184 V 833 | stroke 834 | LT2 835 | LC2 setrgbcolor 836 | 5513 3566 M 837 | 160 186 V 838 | stroke 839 | LT2 840 | LC2 setrgbcolor 841 | 2884 2710 M 842 | 161 149 V 843 | stroke 844 | LT0 845 | LC0 setrgbcolor 846 | 2724 2379 M 847 | 160 168 V 848 | stroke 849 | LT0 850 | LC0 setrgbcolor 851 | 3600 2679 M 852 | 160 182 V 853 | stroke 854 | LT0 855 | LC0 setrgbcolor 856 | 1847 2109 M 857 | 161 155 V 858 | stroke 859 | LT0 860 | LC0 setrgbcolor 861 | 4476 2992 M 862 | 160 184 V 863 | stroke 864 | LT0 865 | LC0 setrgbcolor 866 | 5353 3303 M 867 | 160 185 V 868 | stroke 869 | LT2 870 | LC2 setrgbcolor 871 | 2008 2494 M 872 | 160 199 V 873 | stroke 874 | LT2 875 | LC2 setrgbcolor 876 | 4476 3073 M 877 | 160 182 V 878 | stroke 879 | LT2 880 | LC2 setrgbcolor 881 | 5353 3380 M 882 | 160 186 V 883 | stroke 884 | LT2 885 | LC2 setrgbcolor 886 | 1131 2319 M 887 | 161 110 V 888 | stroke 889 | LT2 890 | LC2 setrgbcolor 891 | 3600 2877 M 892 | 160 106 V 893 | stroke 894 | LT2 895 | LC2 setrgbcolor 896 | 2724 2555 M 897 | 160 155 V 898 | stroke 899 | LT0 900 | LC0 setrgbcolor 901 | 3440 2496 M 902 | 160 183 V 903 | stroke 904 | LT0 905 | LC0 setrgbcolor 906 | 2564 2205 M 907 | 160 174 V 908 | stroke 909 | LT0 910 | LC0 setrgbcolor 911 | 4316 2805 M 912 | 160 187 V 913 | stroke 914 | LT0 915 | LC0 setrgbcolor 916 | 5192 3118 M 917 | 161 185 V 918 | stroke 919 | LT0 920 | LC0 setrgbcolor 921 | 1687 2003 M 922 | 160 106 V 923 | stroke 924 | LT0 925 | LC0 setrgbcolor 926 | 6069 3434 M 927 | 160 186 V 928 | stroke 929 | LT2 930 | LC2 setrgbcolor 931 | 1847 2355 M 932 | 161 139 V 933 | stroke 934 | LT2 935 | LC2 setrgbcolor 936 | 4316 2906 M 937 | 160 167 V 938 | stroke 939 | LT2 940 | LC2 setrgbcolor 941 | 5192 3199 M 942 | 161 181 V 943 | stroke 944 | LT2 945 | LC2 setrgbcolor 946 | 6069 3511 M 947 | 160 186 V 948 | stroke 949 | LT0 950 | LC0 setrgbcolor 951 | 3280 2328 M 952 | 160 168 V 953 | stroke 954 | LT2 955 | LC2 setrgbcolor 956 | 2564 2417 M 957 | 160 138 V 958 | stroke 959 | LT0 960 | LC0 setrgbcolor 961 | 4155 2620 M 962 | 161 185 V 963 | stroke 964 | LT0 965 | LC0 setrgbcolor 966 | 2403 2044 M 967 | 161 161 V 968 | stroke 969 | LT0 970 | LC0 setrgbcolor 971 | 5032 2934 M 972 | 160 184 V 973 | stroke 974 | LT2 975 | LC2 setrgbcolor 976 | 3440 2681 M 977 | 160 196 V 978 | stroke 979 | LT0 980 | LC0 setrgbcolor 981 | 5908 3250 M 982 | 161 184 V 983 | stroke 984 | LT2 985 | LC2 setrgbcolor 986 | 5032 3018 M 987 | 160 181 V 988 | stroke 989 | LT2 990 | LC2 setrgbcolor 991 | 1687 2545 M 992 | 160 -190 V 993 | stroke 994 | LT2 995 | LC2 setrgbcolor 996 | 4155 2725 M 997 | 161 181 V 998 | stroke 999 | LT2 1000 | LC2 setrgbcolor 1001 | 5908 3324 M 1002 | 161 187 V 1003 | stroke 1004 | LT0 1005 | LC0 setrgbcolor 1006 | 3995 2437 M 1007 | 160 183 V 1008 | stroke 1009 | LT2 1010 | LC2 setrgbcolor 1011 | 3280 2486 M 1012 | 160 195 V 1013 | stroke 1014 | LT0 1015 | LC0 setrgbcolor 1016 | 3119 2160 M 1017 | 161 168 V 1018 | stroke 1019 | LT0 1020 | LC0 setrgbcolor 1021 | 4871 2748 M 1022 | 161 186 V 1023 | stroke 1024 | LT0 1025 | LC0 setrgbcolor 1026 | 5748 3064 M 1027 | 160 186 V 1028 | stroke 1029 | LT0 1030 | LC0 setrgbcolor 1031 | 2243 1927 M 1032 | 160 117 V 1033 | stroke 1034 | LT2 1035 | LC2 setrgbcolor 1036 | 2403 2550 M 1037 | 161 -133 V 1038 | stroke 1039 | LT2 1040 | LC2 setrgbcolor 1041 | 4871 2839 M 1042 | 161 179 V 1043 | stroke 1044 | LT2 1045 | LC2 setrgbcolor 1046 | 5748 3143 M 1047 | 160 181 V 1048 | stroke 1049 | LT2 1050 | LC2 setrgbcolor 1051 | 3995 2662 M 1052 | 160 63 V 1053 | stroke 1054 | LT2 1055 | LC2 setrgbcolor 1056 | 3119 2343 M 1057 | 161 143 V 1058 | stroke 1059 | LT0 1060 | LC0 setrgbcolor 1061 | 3834 2262 M 1062 | 161 175 V 1063 | stroke 1064 | LT0 1065 | LC0 setrgbcolor 1066 | 4711 2565 M 1067 | 160 183 V 1068 | stroke 1069 | LT0 1070 | LC0 setrgbcolor 1071 | 5587 2877 M 1072 | 161 187 V 1073 | stroke 1074 | LT0 1075 | LC0 setrgbcolor 1076 | 2959 1988 M 1077 | 160 172 V 1078 | stroke 1079 | LT2 1080 | LC2 setrgbcolor 1081 | 4711 2700 M 1082 | 160 139 V 1083 | stroke 1084 | LT2 1085 | LC2 setrgbcolor 1086 | 5587 2962 M 1087 | 161 181 V 1088 | stroke 1089 | LT0 1090 | LC0 setrgbcolor 1091 | 3674 2091 M 1092 | 160 171 V 1093 | stroke 1094 | LT0 1095 | LC0 setrgbcolor 1096 | 4550 2383 M 1097 | 161 182 V 1098 | stroke 1099 | LT0 1100 | LC0 setrgbcolor 1101 | 5427 2693 M 1102 | 160 184 V 1103 | stroke 1104 | LT2 1105 | LC2 setrgbcolor 1106 | 2959 2269 M 1107 | 160 74 V 1108 | stroke 1109 | LT0 1110 | LC0 setrgbcolor 1111 | 2798 1860 M 1112 | 161 128 V 1113 | stroke 1114 | LT2 1115 | LC2 setrgbcolor 1116 | 3834 2422 M 1117 | 161 240 V 1118 | stroke 1119 | LT2 1120 | LC2 setrgbcolor 1121 | 5427 2788 M 1122 | 160 174 V 1123 | stroke 1124 | LT2 1125 | LC2 setrgbcolor 1126 | 4550 2573 M 1127 | 161 127 V 1128 | stroke 1129 | LT2 1130 | LC2 setrgbcolor 1131 | 3674 2274 M 1132 | 160 148 V 1133 | stroke 1134 | LT0 1135 | LC0 setrgbcolor 1136 | 4390 2210 M 1137 | 160 173 V 1138 | stroke 1139 | LT2 1140 | LC2 setrgbcolor 1141 | 2243 2520 M 1142 | 160 30 V 1143 | stroke 1144 | LT0 1145 | LC0 setrgbcolor 1146 | 5267 2510 M 1147 | 160 183 V 1148 | stroke 1149 | LT0 1150 | LC0 setrgbcolor 1151 | 3515 1929 M 1152 | 159 162 V 1153 | stroke 1154 | LT2 1155 | LC2 setrgbcolor 1156 | 5267 2609 M 1157 | 160 179 V 1158 | stroke 1159 | LT2 1160 | LC2 setrgbcolor 1161 | 2798 2370 M 1162 | 161 -101 V 1163 | stroke 1164 | LT0 1165 | LC0 setrgbcolor 1166 | 5106 2327 M 1167 | 161 183 V 1168 | stroke 1169 | LT0 1170 | LC0 setrgbcolor 1171 | 4230 2040 M 1172 | 160 170 V 1173 | stroke 1174 | LT2 1175 | LC2 setrgbcolor 1176 | 4390 2378 M 1177 | 160 195 V 1178 | stroke 1179 | LT2 1180 | LC2 setrgbcolor 1181 | 3515 2136 M 1182 | 159 138 V 1183 | stroke 1184 | LT0 1185 | LC0 setrgbcolor 1186 | 3354 1797 M 1187 | 161 132 V 1188 | stroke 1189 | LT2 1190 | LC2 setrgbcolor 1191 | 5106 2486 M 1192 | 161 123 V 1193 | stroke 1194 | LT2 1195 | LC2 setrgbcolor 1196 | 4230 2211 M 1197 | 160 167 V 1198 | stroke 1199 | LT0 1200 | LC0 setrgbcolor 1201 | 4946 2151 M 1202 | 160 176 V 1203 | stroke 1204 | LT0 1205 | LC0 setrgbcolor 1206 | 4069 1887 M 1207 | 161 153 V 1208 | stroke 1209 | LT2 1210 | LC2 setrgbcolor 1211 | 3354 2264 M 1212 | 161 -128 V 1213 | stroke 1214 | LT2 1215 | LC2 setrgbcolor 1216 | 4946 2292 M 1217 | 160 194 V 1218 | stroke 1219 | LT0 1220 | LC0 setrgbcolor 1221 | 4785 1986 M 1222 | 161 165 V 1223 | stroke 1224 | LT2 1225 | LC2 setrgbcolor 1226 | 4069 2072 M 1227 | 161 139 V 1228 | stroke 1229 | LT0 1230 | LC0 setrgbcolor 1231 | 3909 1735 M 1232 | 160 152 V 1233 | stroke 1234 | LT2 1235 | LC2 setrgbcolor 1236 | 4785 2263 M 1237 | 161 29 V 1238 | stroke 1239 | LT0 1240 | LC0 setrgbcolor 1241 | 4625 1824 M 1242 | 160 162 V 1243 | stroke 1244 | LT2 1245 | LC2 setrgbcolor 1246 | 3909 2164 M 1247 | 160 -92 V 1248 | stroke 1249 | LT0 1250 | LC0 setrgbcolor 1251 | 4465 1698 M 1252 | 160 126 V 1253 | stroke 1254 | LT2 1255 | LC2 setrgbcolor 1256 | 4625 2009 M 1257 | 160 254 V 1258 | stroke 1259 | LT2 1260 | LC2 setrgbcolor 1261 | 4465 2077 M 1262 | 160 -68 V 1263 | % End plot #1 1264 | % Begin plot #2 1265 | stroke 1266 | LCb setrgbcolor 1267 | 5662 4416 M 1268 | [ [(Helvetica) 140.0 0.0 true true 0 (naive \(8-thread\))] 1269 | ] -46.7 MRshow 1270 | 1.000 UL 1271 | LT0 1272 | LC0 setrgbcolor 1273 | 5746 4416 M 1274 | 399 0 V 1275 | % End plot #2 1276 | % Begin plot #3 1277 | stroke 1278 | LCb setrgbcolor 1279 | 5662 4276 M 1280 | [ [(Helvetica) 140.0 0.0 true true 0 (prover \(8-thread\))] 1281 | ] -46.7 MRshow 1282 | 1.000 UL 1283 | LT2 1284 | LC2 setrgbcolor 1285 | 5746 4276 M 1286 | 399 0 V 1287 | % End plot #3 1288 | stroke 1289 | LTb 1290 | LCb setrgbcolor 1291 | 6229 1674 M 1292 | 4304 601 L 1293 | stroke 1294 | LTb 1295 | LCb setrgbcolor 1296 | 971 1221 M 1297 | 4304 601 L 1298 | stroke 1299 | LTb 1300 | LCb setrgbcolor 1301 | 971 1221 M 1302 | 2896 2294 L 1303 | stroke 1304 | LTb 1305 | LCb setrgbcolor 1306 | 6229 1674 M 1307 | 2896 2294 L 1308 | stroke 1309 | LTb 1310 | LCb setrgbcolor 1311 | 971 1221 M 1312 | 0 2145 V 1313 | stroke 1314 | LTa 1315 | LCa setrgbcolor 1316 | 971 1221 M 1317 | 2896 2294 L 1318 | stroke 1319 | LTb 1320 | LCb setrgbcolor 1321 | 971 1221 M 1322 | 49 27 V 1323 | stroke 1324 | LTb 1325 | LCb setrgbcolor 1326 | 906 1105 M 1327 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1328 | [(Helvetica) 112.0 70.0 true true 0 (1)] 1329 | ] -60.7 MCshow 1330 | 1.000 UL 1331 | LTb 1332 | LCb setrgbcolor 1333 | 1.000 UL 1334 | LTb 1335 | LCb setrgbcolor 1336 | 2896 2294 M 1337 | -49 -28 V 1338 | stroke 1339 | LTa 1340 | LCa setrgbcolor 1341 | 1527 1117 M 1342 | 3452 2190 L 1343 | stroke 1344 | LTb 1345 | LCb setrgbcolor 1346 | 1527 1117 M 1347 | 49 28 V 1348 | stroke 1349 | LTb 1350 | LCb setrgbcolor 1351 | 1461 1002 M 1352 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1353 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1354 | ] -60.7 MCshow 1355 | 1.000 UL 1356 | LTb 1357 | LCb setrgbcolor 1358 | 1.000 UL 1359 | LTb 1360 | LCb setrgbcolor 1361 | 3452 2190 M 1362 | -49 -27 V 1363 | stroke 1364 | LTa 1365 | LCa setrgbcolor 1366 | 2082 1014 M 1367 | 4006 2087 L 1368 | stroke 1369 | LTb 1370 | LCb setrgbcolor 1371 | 2082 1014 M 1372 | 49 28 V 1373 | stroke 1374 | LTb 1375 | LCb setrgbcolor 1376 | 2017 899 M 1377 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1378 | [(Helvetica) 112.0 70.0 true true 0 (3)] 1379 | ] -60.7 MCshow 1380 | 1.000 UL 1381 | LTb 1382 | LCb setrgbcolor 1383 | 1.000 UL 1384 | LTb 1385 | LCb setrgbcolor 1386 | 4006 2087 M 1387 | -49 -27 V 1388 | stroke 1389 | LTa 1390 | LCa setrgbcolor 1391 | 2638 911 M 1392 | 4562 1984 L 1393 | stroke 1394 | LTb 1395 | LCb setrgbcolor 1396 | 2638 911 M 1397 | 49 27 V 1398 | stroke 1399 | LTb 1400 | LCb setrgbcolor 1401 | 2573 795 M 1402 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1403 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1404 | ] -60.7 MCshow 1405 | 1.000 UL 1406 | LTb 1407 | LCb setrgbcolor 1408 | 1.000 UL 1409 | LTb 1410 | LCb setrgbcolor 1411 | 4562 1984 M 1412 | -49 -27 V 1413 | stroke 1414 | LTa 1415 | LCa setrgbcolor 1416 | 3194 808 M 1417 | 5118 1881 L 1418 | stroke 1419 | LTb 1420 | LCb setrgbcolor 1421 | 3194 808 M 1422 | 49 27 V 1423 | stroke 1424 | LTb 1425 | LCb setrgbcolor 1426 | 3128 692 M 1427 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1428 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1429 | ] -60.7 MCshow 1430 | 1.000 UL 1431 | LTb 1432 | LCb setrgbcolor 1433 | 1.000 UL 1434 | LTb 1435 | LCb setrgbcolor 1436 | 5118 1881 M 1437 | -49 -28 V 1438 | stroke 1439 | LTa 1440 | LCa setrgbcolor 1441 | 3748 704 M 1442 | 5673 1777 L 1443 | stroke 1444 | LTb 1445 | LCb setrgbcolor 1446 | 3748 704 M 1447 | 49 28 V 1448 | stroke 1449 | LTb 1450 | LCb setrgbcolor 1451 | 3683 589 M 1452 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1453 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1454 | ] -60.7 MCshow 1455 | 1.000 UL 1456 | LTb 1457 | LCb setrgbcolor 1458 | 1.000 UL 1459 | LTb 1460 | LCb setrgbcolor 1461 | 5673 1777 M 1462 | -49 -27 V 1463 | stroke 1464 | LTa 1465 | LCa setrgbcolor 1466 | 4304 601 M 1467 | 6229 1674 L 1468 | stroke 1469 | LTb 1470 | LCb setrgbcolor 1471 | 4304 601 M 1472 | 49 28 V 1473 | stroke 1474 | LTb 1475 | LCb setrgbcolor 1476 | 4239 486 M 1477 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1478 | [(Helvetica) 112.0 70.0 true true 0 (7)] 1479 | ] -60.7 MCshow 1480 | 1.000 UL 1481 | LTb 1482 | LCb setrgbcolor 1483 | 1.000 UL 1484 | LTb 1485 | LCb setrgbcolor 1486 | 6229 1674 M 1487 | -49 -27 V 1488 | stroke 1489 | LCb setrgbcolor 1490 | 2157 643 M 1491 | [ [(Helvetica) 140.0 0.0 true true 0 (Batch Size)] 1492 | ] -46.7 MCshow 1493 | LTb 1494 | 1.000 UL 1495 | LTa 1496 | LCa setrgbcolor 1497 | 4304 601 M 1498 | 971 1221 L 1499 | stroke 1500 | LTb 1501 | LCb setrgbcolor 1502 | 4304 601 M 1503 | -54 10 V 1504 | stroke 1505 | 4377 524 M 1506 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1507 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1508 | ] -60.7 MCshow 1509 | 1.000 UL 1510 | LTb 1511 | LCb setrgbcolor 1512 | 1.000 UL 1513 | LTb 1514 | LCb setrgbcolor 1515 | 971 1221 M 1516 | 54 -10 V 1517 | stroke 1518 | LTb 1519 | LCb setrgbcolor 1520 | 4465 691 M 1521 | -28 5 V 1522 | stroke 1523 | LTb 1524 | LCb setrgbcolor 1525 | 1131 1310 M 1526 | 28 -5 V 1527 | stroke 1528 | LTa 1529 | LCa setrgbcolor 1530 | 4625 780 M 1531 | 1292 1400 L 1532 | stroke 1533 | LTb 1534 | LCb setrgbcolor 1535 | 4625 780 M 1536 | -55 10 V 1537 | stroke 1538 | 4698 703 M 1539 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1540 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1541 | ] -60.7 MCshow 1542 | 1.000 UL 1543 | LTb 1544 | LCb setrgbcolor 1545 | 1.000 UL 1546 | LTb 1547 | LCb setrgbcolor 1548 | 1292 1400 M 1549 | 54 -11 V 1550 | stroke 1551 | LTb 1552 | LCb setrgbcolor 1553 | 4785 869 M 1554 | -27 6 V 1555 | stroke 1556 | LTb 1557 | LCb setrgbcolor 1558 | 1452 1489 M 1559 | 27 -5 V 1560 | stroke 1561 | LTa 1562 | LCa setrgbcolor 1563 | 4946 959 M 1564 | 1613 1578 L 1565 | stroke 1566 | LTb 1567 | LCb setrgbcolor 1568 | 4946 959 M 1569 | -55 10 V 1570 | stroke 1571 | 5019 881 M 1572 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1573 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1574 | ] -60.7 MCshow 1575 | 1.000 UL 1576 | LTb 1577 | LCb setrgbcolor 1578 | 1.000 UL 1579 | LTb 1580 | LCb setrgbcolor 1581 | 1613 1578 M 1582 | 54 -10 V 1583 | stroke 1584 | LTb 1585 | LCb setrgbcolor 1586 | 5106 1048 M 1587 | -27 5 V 1588 | stroke 1589 | LTb 1590 | LCb setrgbcolor 1591 | 1773 1668 M 1592 | 27 -5 V 1593 | stroke 1594 | LTa 1595 | LCa setrgbcolor 1596 | 5267 1138 M 1597 | 1933 1757 L 1598 | stroke 1599 | LTb 1600 | LCb setrgbcolor 1601 | 5267 1138 M 1602 | -55 10 V 1603 | stroke 1604 | 5339 1060 M 1605 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1606 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1607 | ] -60.7 MCshow 1608 | 1.000 UL 1609 | LTb 1610 | LCb setrgbcolor 1611 | 1.000 UL 1612 | LTb 1613 | LCb setrgbcolor 1614 | 1933 1757 M 1615 | 55 -10 V 1616 | stroke 1617 | LTb 1618 | LCb setrgbcolor 1619 | 5427 1227 M 1620 | -27 5 V 1621 | stroke 1622 | LTb 1623 | LCb setrgbcolor 1624 | 2094 1847 M 1625 | 27 -5 V 1626 | stroke 1627 | LTa 1628 | LCa setrgbcolor 1629 | 5587 1317 M 1630 | 2254 1936 L 1631 | stroke 1632 | LTb 1633 | LCb setrgbcolor 1634 | 5587 1317 M 1635 | -54 10 V 1636 | stroke 1637 | 5660 1239 M 1638 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1639 | [(Helvetica) 112.0 70.0 true true 0 (8)] 1640 | ] -60.7 MCshow 1641 | 1.000 UL 1642 | LTb 1643 | LCb setrgbcolor 1644 | 1.000 UL 1645 | LTb 1646 | LCb setrgbcolor 1647 | 2254 1936 M 1648 | 55 -10 V 1649 | stroke 1650 | LTb 1651 | LCb setrgbcolor 1652 | 5748 1406 M 1653 | -27 5 V 1654 | stroke 1655 | LTb 1656 | LCb setrgbcolor 1657 | 2415 2025 M 1658 | 27 -5 V 1659 | stroke 1660 | LTa 1661 | LCa setrgbcolor 1662 | 5908 1495 M 1663 | 2575 2115 L 1664 | stroke 1665 | LTb 1666 | LCb setrgbcolor 1667 | 5908 1495 M 1668 | -54 11 V 1669 | stroke 1670 | 5981 1418 M 1671 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1672 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1673 | ] -60.7 MCshow 1674 | 1.000 UL 1675 | LTb 1676 | LCb setrgbcolor 1677 | 1.000 UL 1678 | LTb 1679 | LCb setrgbcolor 1680 | 2575 2115 M 1681 | 55 -10 V 1682 | stroke 1683 | LTb 1684 | LCb setrgbcolor 1685 | 6069 1585 M 1686 | -28 5 V 1687 | stroke 1688 | LTb 1689 | LCb setrgbcolor 1690 | 2735 2204 M 1691 | 28 -5 V 1692 | stroke 1693 | LTa 1694 | LCa setrgbcolor 1695 | 6229 1674 M 1696 | 2896 2294 L 1697 | stroke 1698 | LTb 1699 | LCb setrgbcolor 1700 | 6229 1674 M 1701 | -54 10 V 1702 | stroke 1703 | 6302 1597 M 1704 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1705 | [(Helvetica) 112.0 70.0 true true 0 (12)] 1706 | ] -60.7 MCshow 1707 | 1.000 UL 1708 | LTb 1709 | LCb setrgbcolor 1710 | 1.000 UL 1711 | LTb 1712 | LCb setrgbcolor 1713 | 2896 2294 M 1714 | 54 -10 V 1715 | stroke 1716 | LCb setrgbcolor 1717 | 6100 983 M 1718 | [ [(Helvetica) 140.0 0.0 true true 0 (Input Size)] 1719 | ] -46.7 MCshow 1720 | LTb 1721 | 1.000 UL 1722 | LTa 1723 | LCa setrgbcolor 1724 | 971 1936 M 1725 | 2896 3008 L 1726 | stroke 1727 | LTa 1728 | LCa setrgbcolor 1729 | 2896 3008 M 1730 | 6229 2390 L 1731 | stroke 1732 | LTb 1733 | LCb setrgbcolor 1734 | 971 1936 M 1735 | 63 0 V 1736 | stroke 1737 | 845 1936 M 1738 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1739 | [(Helvetica) 112.0 70.0 true true 0 (-20)] 1740 | ] -60.7 MRshow 1741 | 1.000 UL 1742 | LTb 1743 | LCb setrgbcolor 1744 | 1.000 UL 1745 | LTb 1746 | LCb setrgbcolor 1747 | 971 1984 M 1748 | 31 0 V 1749 | stroke 1750 | LTb 1751 | LCb setrgbcolor 1752 | 971 2031 M 1753 | 31 0 V 1754 | stroke 1755 | LTb 1756 | LCb setrgbcolor 1757 | 971 2079 M 1758 | 31 0 V 1759 | stroke 1760 | LTb 1761 | LCb setrgbcolor 1762 | 971 2127 M 1763 | 31 0 V 1764 | stroke 1765 | LTa 1766 | LCa setrgbcolor 1767 | 971 2175 M 1768 | 2896 3247 L 1769 | stroke 1770 | LTa 1771 | LCa setrgbcolor 1772 | 2896 3247 M 1773 | 6229 2627 L 1774 | stroke 1775 | LTb 1776 | LCb setrgbcolor 1777 | 971 2175 M 1778 | 63 0 V 1779 | stroke 1780 | 845 2175 M 1781 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1782 | [(Helvetica) 112.0 70.0 true true 0 (-15)] 1783 | ] -60.7 MRshow 1784 | 1.000 UL 1785 | LTb 1786 | LCb setrgbcolor 1787 | 1.000 UL 1788 | LTb 1789 | LCb setrgbcolor 1790 | 971 2222 M 1791 | 31 0 V 1792 | stroke 1793 | LTb 1794 | LCb setrgbcolor 1795 | 971 2270 M 1796 | 31 0 V 1797 | stroke 1798 | LTb 1799 | LCb setrgbcolor 1800 | 971 2318 M 1801 | 31 0 V 1802 | stroke 1803 | LTb 1804 | LCb setrgbcolor 1805 | 971 2365 M 1806 | 31 0 V 1807 | stroke 1808 | LTa 1809 | LCa setrgbcolor 1810 | 971 2413 M 1811 | 2896 3485 L 1812 | stroke 1813 | LTa 1814 | LCa setrgbcolor 1815 | 2896 3485 M 1816 | 6229 2865 L 1817 | stroke 1818 | LTb 1819 | LCb setrgbcolor 1820 | 971 2413 M 1821 | 63 0 V 1822 | stroke 1823 | 845 2413 M 1824 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1825 | [(Helvetica) 112.0 70.0 true true 0 (-10)] 1826 | ] -60.7 MRshow 1827 | 1.000 UL 1828 | LTb 1829 | LCb setrgbcolor 1830 | 1.000 UL 1831 | LTb 1832 | LCb setrgbcolor 1833 | 971 2461 M 1834 | 31 0 V 1835 | stroke 1836 | LTb 1837 | LCb setrgbcolor 1838 | 971 2508 M 1839 | 31 0 V 1840 | stroke 1841 | LTb 1842 | LCb setrgbcolor 1843 | 971 2555 M 1844 | 31 0 V 1845 | stroke 1846 | LTb 1847 | LCb setrgbcolor 1848 | 971 2603 M 1849 | 31 0 V 1850 | stroke 1851 | LTa 1852 | LCa setrgbcolor 1853 | 971 2650 M 1854 | 2896 3723 L 1855 | stroke 1856 | LTa 1857 | LCa setrgbcolor 1858 | 2896 3723 M 1859 | 6229 3104 L 1860 | stroke 1861 | LTb 1862 | LCb setrgbcolor 1863 | 971 2650 M 1864 | 63 0 V 1865 | stroke 1866 | 845 2650 M 1867 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1868 | [(Helvetica) 112.0 70.0 true true 0 (-5)] 1869 | ] -60.7 MRshow 1870 | 1.000 UL 1871 | LTb 1872 | LCb setrgbcolor 1873 | 1.000 UL 1874 | LTb 1875 | LCb setrgbcolor 1876 | 971 2698 M 1877 | 31 0 V 1878 | stroke 1879 | LTb 1880 | LCb setrgbcolor 1881 | 971 2746 M 1882 | 31 0 V 1883 | stroke 1884 | LTb 1885 | LCb setrgbcolor 1886 | 971 2793 M 1887 | 31 0 V 1888 | stroke 1889 | LTb 1890 | LCb setrgbcolor 1891 | 971 2841 M 1892 | 31 0 V 1893 | stroke 1894 | LTa 1895 | LCa setrgbcolor 1896 | 971 2889 M 1897 | 2896 3962 L 1898 | stroke 1899 | LTa 1900 | LCa setrgbcolor 1901 | 2896 3962 M 1902 | 6229 3342 L 1903 | stroke 1904 | LTb 1905 | LCb setrgbcolor 1906 | 971 2889 M 1907 | 63 0 V 1908 | stroke 1909 | 845 2889 M 1910 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1911 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1912 | ] -60.7 MRshow 1913 | 1.000 UL 1914 | LTb 1915 | LCb setrgbcolor 1916 | 1.000 UL 1917 | LTb 1918 | LCb setrgbcolor 1919 | 971 2937 M 1920 | 31 0 V 1921 | stroke 1922 | LTb 1923 | LCb setrgbcolor 1924 | 971 2984 M 1925 | 31 0 V 1926 | stroke 1927 | LTb 1928 | LCb setrgbcolor 1929 | 971 3032 M 1930 | 31 0 V 1931 | stroke 1932 | LTb 1933 | LCb setrgbcolor 1934 | 971 3080 M 1935 | 31 0 V 1936 | stroke 1937 | LTa 1938 | LCa setrgbcolor 1939 | 971 3127 M 1940 | 2896 4200 L 1941 | stroke 1942 | LTa 1943 | LCa setrgbcolor 1944 | 2896 4200 M 1945 | 6229 3581 L 1946 | stroke 1947 | LTb 1948 | LCb setrgbcolor 1949 | 971 3127 M 1950 | 63 0 V 1951 | stroke 1952 | 845 3127 M 1953 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1954 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1955 | ] -60.7 MRshow 1956 | 1.000 UL 1957 | LTb 1958 | LCb setrgbcolor 1959 | 1.000 UL 1960 | LTb 1961 | LCb setrgbcolor 1962 | 971 3175 M 1963 | 31 0 V 1964 | stroke 1965 | LTb 1966 | LCb setrgbcolor 1967 | 971 3223 M 1968 | 31 0 V 1969 | stroke 1970 | LTb 1971 | LCb setrgbcolor 1972 | 971 3270 M 1973 | 31 0 V 1974 | stroke 1975 | LTb 1976 | LCb setrgbcolor 1977 | 971 3318 M 1978 | 31 0 V 1979 | stroke 1980 | LTa 1981 | LCa setrgbcolor 1982 | 971 3366 M 1983 | 2896 4439 L 1984 | stroke 1985 | LTa 1986 | LCa setrgbcolor 1987 | 2896 4439 M 1988 | 6229 3819 L 1989 | stroke 1990 | LTb 1991 | LCb setrgbcolor 1992 | 971 3366 M 1993 | 63 0 V 1994 | stroke 1995 | 845 3366 M 1996 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1997 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1998 | ] -60.7 MRshow 1999 | 1.000 UL 2000 | LTb 2001 | LCb setrgbcolor 2002 | LCb setrgbcolor 2003 | 383 1531 M 2004 | [ [(Helvetica) 140.0 0.0 true true 0 (Time \(in seconds\))] 2005 | ] -46.7 MCshow 2006 | LTb 2007 | 1.000 UP 2008 | stroke 2009 | grestore 2010 | end 2011 | showpage 2012 | %%Trailer 2013 | %%DocumentFonts: Helvetica 2014 | %%Pages: 1 2015 | -------------------------------------------------------------------------------- /src/profiling/logs/08-17_01:43/naive-prover-2.ps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 2 | %%Title: naive-prover-2.ps 3 | %%Creator: gnuplot 4.6 patchlevel 4 4 | %%CreationDate: Wed Aug 17 09:40:33 2016 5 | %%DocumentFonts: (atend) 6 | %%BoundingBox: 50 50 554 770 7 | %%Orientation: Landscape 8 | %%Pages: (atend) 9 | %%EndComments 10 | %%BeginProlog 11 | /gnudict 256 dict def 12 | gnudict begin 13 | % 14 | % The following true/false flags may be edited by hand if desired. 15 | % The unit line width and grayscale image gamma correction may also be changed. 16 | % 17 | /Color true def 18 | /Blacktext false def 19 | /Solid true def 20 | /Dashlength 1 def 21 | /Landscape true def 22 | /Level1 false def 23 | /Rounded false def 24 | /ClipToBoundingBox false def 25 | /SuppressPDFMark false def 26 | /TransparentPatterns false def 27 | /gnulinewidth 5.000 def 28 | /userlinewidth gnulinewidth def 29 | /Gamma 1.0 def 30 | /BackgroundColor {-1.000 -1.000 -1.000} def 31 | % 32 | /vshift -46 def 33 | /dl1 { 34 | 10.0 Dashlength mul mul 35 | Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 36 | } def 37 | /dl2 { 38 | 10.0 Dashlength mul mul 39 | Rounded { currentlinewidth 0.75 mul add } if 40 | } def 41 | /hpt_ 31.5 def 42 | /vpt_ 31.5 def 43 | /hpt hpt_ def 44 | /vpt vpt_ def 45 | /doclip { 46 | ClipToBoundingBox { 47 | newpath 50 50 moveto 554 50 lineto 554 770 lineto 50 770 lineto closepath 48 | clip 49 | } if 50 | } def 51 | % 52 | % Gnuplot Prolog Version 4.6 (September 2012) 53 | % 54 | %/SuppressPDFMark true def 55 | % 56 | /M {moveto} bind def 57 | /L {lineto} bind def 58 | /R {rmoveto} bind def 59 | /V {rlineto} bind def 60 | /N {newpath moveto} bind def 61 | /Z {closepath} bind def 62 | /C {setrgbcolor} bind def 63 | /f {rlineto fill} bind def 64 | /g {setgray} bind def 65 | /Gshow {show} def % May be redefined later in the file to support UTF-8 66 | /vpt2 vpt 2 mul def 67 | /hpt2 hpt 2 mul def 68 | /Lshow {currentpoint stroke M 0 vshift R 69 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 70 | /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 71 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 72 | /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 73 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 74 | /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 75 | /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 76 | /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 77 | {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 78 | /BL {stroke userlinewidth 2 mul setlinewidth 79 | Rounded {1 setlinejoin 1 setlinecap} if} def 80 | /AL {stroke userlinewidth 2 div setlinewidth 81 | Rounded {1 setlinejoin 1 setlinecap} if} def 82 | /UL {dup gnulinewidth mul /userlinewidth exch def 83 | dup 1 lt {pop 1} if 10 mul /udl exch def} def 84 | /PL {stroke userlinewidth setlinewidth 85 | Rounded {1 setlinejoin 1 setlinecap} if} def 86 | 3.8 setmiterlimit 87 | % Default Line colors 88 | /LCw {1 1 1} def 89 | /LCb {0 0 0} def 90 | /LCa {0 0 0} def 91 | /LC0 {1 0 0} def 92 | /LC1 {0 1 0} def 93 | /LC2 {0 0 1} def 94 | /LC3 {1 0 1} def 95 | /LC4 {0 1 1} def 96 | /LC5 {1 1 0} def 97 | /LC6 {0 0 0} def 98 | /LC7 {1 0.3 0} def 99 | /LC8 {0.5 0.5 0.5} def 100 | % Default Line Types 101 | /LTw {PL [] 1 setgray} def 102 | /LTb {BL [] LCb DL} def 103 | /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 104 | /LT0 {PL [] LC0 DL} def 105 | /LT1 {PL [4 dl1 2 dl2] LC1 DL} def 106 | /LT2 {PL [2 dl1 3 dl2] LC2 DL} def 107 | /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 108 | /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 109 | /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 110 | /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 111 | /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 112 | /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 113 | /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 114 | /Dia {stroke [] 0 setdash 2 copy vpt add M 115 | hpt neg vpt neg V hpt vpt neg V 116 | hpt vpt V hpt neg vpt V closepath stroke 117 | Pnt} def 118 | /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 119 | currentpoint stroke M 120 | hpt neg vpt neg R hpt2 0 V stroke 121 | } def 122 | /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 123 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 124 | hpt2 neg 0 V closepath stroke 125 | Pnt} def 126 | /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 127 | hpt2 vpt2 neg V currentpoint stroke M 128 | hpt2 neg 0 R hpt2 vpt2 V stroke} def 129 | /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 130 | hpt neg vpt -1.62 mul V 131 | hpt 2 mul 0 V 132 | hpt neg vpt 1.62 mul V closepath stroke 133 | Pnt} def 134 | /Star {2 copy Pls Crs} def 135 | /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 136 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 137 | hpt2 neg 0 V closepath fill} def 138 | /TriUF {stroke [] 0 setdash vpt 1.12 mul add M 139 | hpt neg vpt -1.62 mul V 140 | hpt 2 mul 0 V 141 | hpt neg vpt 1.62 mul V closepath fill} def 142 | /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 143 | hpt neg vpt 1.62 mul V 144 | hpt 2 mul 0 V 145 | hpt neg vpt -1.62 mul V closepath stroke 146 | Pnt} def 147 | /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 148 | hpt neg vpt 1.62 mul V 149 | hpt 2 mul 0 V 150 | hpt neg vpt -1.62 mul V closepath fill} def 151 | /DiaF {stroke [] 0 setdash vpt add M 152 | hpt neg vpt neg V hpt vpt neg V 153 | hpt vpt V hpt neg vpt V closepath fill} def 154 | /Pent {stroke [] 0 setdash 2 copy gsave 155 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 156 | closepath stroke grestore Pnt} def 157 | /PentF {stroke [] 0 setdash gsave 158 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 159 | closepath fill grestore} def 160 | /Circle {stroke [] 0 setdash 2 copy 161 | hpt 0 360 arc stroke Pnt} def 162 | /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 163 | /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 164 | /C1 {BL [] 0 setdash 2 copy moveto 165 | 2 copy vpt 0 90 arc closepath fill 166 | vpt 0 360 arc closepath} bind def 167 | /C2 {BL [] 0 setdash 2 copy moveto 168 | 2 copy vpt 90 180 arc closepath fill 169 | vpt 0 360 arc closepath} bind def 170 | /C3 {BL [] 0 setdash 2 copy moveto 171 | 2 copy vpt 0 180 arc closepath fill 172 | vpt 0 360 arc closepath} bind def 173 | /C4 {BL [] 0 setdash 2 copy moveto 174 | 2 copy vpt 180 270 arc closepath fill 175 | vpt 0 360 arc closepath} bind def 176 | /C5 {BL [] 0 setdash 2 copy moveto 177 | 2 copy vpt 0 90 arc 178 | 2 copy moveto 179 | 2 copy vpt 180 270 arc closepath fill 180 | vpt 0 360 arc} bind def 181 | /C6 {BL [] 0 setdash 2 copy moveto 182 | 2 copy vpt 90 270 arc closepath fill 183 | vpt 0 360 arc closepath} bind def 184 | /C7 {BL [] 0 setdash 2 copy moveto 185 | 2 copy vpt 0 270 arc closepath fill 186 | vpt 0 360 arc closepath} bind def 187 | /C8 {BL [] 0 setdash 2 copy moveto 188 | 2 copy vpt 270 360 arc closepath fill 189 | vpt 0 360 arc closepath} bind def 190 | /C9 {BL [] 0 setdash 2 copy moveto 191 | 2 copy vpt 270 450 arc closepath fill 192 | vpt 0 360 arc closepath} bind def 193 | /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 194 | 2 copy moveto 195 | 2 copy vpt 90 180 arc closepath fill 196 | vpt 0 360 arc closepath} bind def 197 | /C11 {BL [] 0 setdash 2 copy moveto 198 | 2 copy vpt 0 180 arc closepath fill 199 | 2 copy moveto 200 | 2 copy vpt 270 360 arc closepath fill 201 | vpt 0 360 arc closepath} bind def 202 | /C12 {BL [] 0 setdash 2 copy moveto 203 | 2 copy vpt 180 360 arc closepath fill 204 | vpt 0 360 arc closepath} bind def 205 | /C13 {BL [] 0 setdash 2 copy moveto 206 | 2 copy vpt 0 90 arc closepath fill 207 | 2 copy moveto 208 | 2 copy vpt 180 360 arc closepath fill 209 | vpt 0 360 arc closepath} bind def 210 | /C14 {BL [] 0 setdash 2 copy moveto 211 | 2 copy vpt 90 360 arc closepath fill 212 | vpt 0 360 arc} bind def 213 | /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 214 | vpt 0 360 arc closepath} bind def 215 | /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 216 | neg 0 rlineto closepath} bind def 217 | /Square {dup Rec} bind def 218 | /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 219 | /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 220 | /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 221 | /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 222 | /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 223 | /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 224 | /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 225 | exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 226 | /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 227 | /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 228 | 2 copy vpt Square fill Bsquare} bind def 229 | /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 230 | /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 231 | /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 232 | Bsquare} bind def 233 | /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 234 | Bsquare} bind def 235 | /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 236 | /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 237 | 2 copy vpt Square fill Bsquare} bind def 238 | /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 239 | 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 240 | /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 241 | /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 242 | /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 243 | /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 244 | /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 245 | /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 246 | /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 247 | /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 248 | /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 249 | /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 250 | /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 251 | /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 252 | /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 253 | /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 254 | /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 255 | /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 256 | /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 257 | /DiaE {stroke [] 0 setdash vpt add M 258 | hpt neg vpt neg V hpt vpt neg V 259 | hpt vpt V hpt neg vpt V closepath stroke} def 260 | /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 261 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 262 | hpt2 neg 0 V closepath stroke} def 263 | /TriUE {stroke [] 0 setdash vpt 1.12 mul add M 264 | hpt neg vpt -1.62 mul V 265 | hpt 2 mul 0 V 266 | hpt neg vpt 1.62 mul V closepath stroke} def 267 | /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 268 | hpt neg vpt 1.62 mul V 269 | hpt 2 mul 0 V 270 | hpt neg vpt -1.62 mul V closepath stroke} def 271 | /PentE {stroke [] 0 setdash gsave 272 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 273 | closepath stroke grestore} def 274 | /CircE {stroke [] 0 setdash 275 | hpt 0 360 arc stroke} def 276 | /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 277 | /DiaW {stroke [] 0 setdash vpt add M 278 | hpt neg vpt neg V hpt vpt neg V 279 | hpt vpt V hpt neg vpt V Opaque stroke} def 280 | /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 281 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 282 | hpt2 neg 0 V Opaque stroke} def 283 | /TriUW {stroke [] 0 setdash vpt 1.12 mul add M 284 | hpt neg vpt -1.62 mul V 285 | hpt 2 mul 0 V 286 | hpt neg vpt 1.62 mul V Opaque stroke} def 287 | /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 288 | hpt neg vpt 1.62 mul V 289 | hpt 2 mul 0 V 290 | hpt neg vpt -1.62 mul V Opaque stroke} def 291 | /PentW {stroke [] 0 setdash gsave 292 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 293 | Opaque stroke grestore} def 294 | /CircW {stroke [] 0 setdash 295 | hpt 0 360 arc Opaque stroke} def 296 | /BoxFill {gsave Rec 1 setgray fill grestore} def 297 | /Density { 298 | /Fillden exch def 299 | currentrgbcolor 300 | /ColB exch def /ColG exch def /ColR exch def 301 | /ColR ColR Fillden mul Fillden sub 1 add def 302 | /ColG ColG Fillden mul Fillden sub 1 add def 303 | /ColB ColB Fillden mul Fillden sub 1 add def 304 | ColR ColG ColB setrgbcolor} def 305 | /BoxColFill {gsave Rec PolyFill} def 306 | /PolyFill {gsave Density fill grestore grestore} def 307 | /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 308 | % 309 | % PostScript Level 1 Pattern Fill routine for rectangles 310 | % Usage: x y w h s a XX PatternFill 311 | % x,y = lower left corner of box to be filled 312 | % w,h = width and height of box 313 | % a = angle in degrees between lines and x-axis 314 | % XX = 0/1 for no/yes cross-hatch 315 | % 316 | /PatternFill {gsave /PFa [ 9 2 roll ] def 317 | PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 318 | PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 319 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 320 | clip 321 | currentlinewidth 0.5 mul setlinewidth 322 | /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 323 | 0 0 M PFa 5 get rotate PFs -2 div dup translate 324 | 0 1 PFs PFa 4 get div 1 add floor cvi 325 | {PFa 4 get mul 0 M 0 PFs V} for 326 | 0 PFa 6 get ne { 327 | 0 1 PFs PFa 4 get div 1 add floor cvi 328 | {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 329 | } if 330 | stroke grestore} def 331 | % 332 | /languagelevel where 333 | {pop languagelevel} {1} ifelse 334 | 2 lt 335 | {/InterpretLevel1 true def} 336 | {/InterpretLevel1 Level1 def} 337 | ifelse 338 | % 339 | % PostScript level 2 pattern fill definitions 340 | % 341 | /Level2PatternFill { 342 | /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 343 | bind def 344 | /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 345 | << Tile8x8 346 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 347 | >> matrix makepattern 348 | /Pat1 exch def 349 | << Tile8x8 350 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 351 | 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 352 | >> matrix makepattern 353 | /Pat2 exch def 354 | << Tile8x8 355 | /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 356 | 8 8 L 8 0 L 0 0 L fill} 357 | >> matrix makepattern 358 | /Pat3 exch def 359 | << Tile8x8 360 | /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 361 | 0 12 M 12 0 L stroke} 362 | >> matrix makepattern 363 | /Pat4 exch def 364 | << Tile8x8 365 | /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 366 | 0 -4 M 12 8 L stroke} 367 | >> matrix makepattern 368 | /Pat5 exch def 369 | << Tile8x8 370 | /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 371 | 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 372 | >> matrix makepattern 373 | /Pat6 exch def 374 | << Tile8x8 375 | /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 376 | 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 377 | >> matrix makepattern 378 | /Pat7 exch def 379 | << Tile8x8 380 | /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 381 | 12 0 M -4 8 L 12 4 M 0 10 L stroke} 382 | >> matrix makepattern 383 | /Pat8 exch def 384 | << Tile8x8 385 | /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 386 | -4 0 M 12 8 L -4 4 M 8 10 L stroke} 387 | >> matrix makepattern 388 | /Pat9 exch def 389 | /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 390 | /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 391 | /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 392 | /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 393 | /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 394 | /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 395 | /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 396 | } def 397 | % 398 | % 399 | %End of PostScript Level 2 code 400 | % 401 | /PatternBgnd { 402 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 403 | } def 404 | % 405 | % Substitute for Level 2 pattern fill codes with 406 | % grayscale if Level 2 support is not selected. 407 | % 408 | /Level1PatternFill { 409 | /Pattern1 {0.250 Density} bind def 410 | /Pattern2 {0.500 Density} bind def 411 | /Pattern3 {0.750 Density} bind def 412 | /Pattern4 {0.125 Density} bind def 413 | /Pattern5 {0.375 Density} bind def 414 | /Pattern6 {0.625 Density} bind def 415 | /Pattern7 {0.875 Density} bind def 416 | } def 417 | % 418 | % Now test for support of Level 2 code 419 | % 420 | Level1 {Level1PatternFill} {Level2PatternFill} ifelse 421 | % 422 | /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 423 | dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 424 | currentdict end definefont pop 425 | /MFshow { 426 | { dup 5 get 3 ge 427 | { 5 get 3 eq {gsave} {grestore} ifelse } 428 | {dup dup 0 get findfont exch 1 get scalefont setfont 429 | [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 430 | get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 431 | {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 432 | get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 433 | dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 434 | show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 435 | pop aload pop M} ifelse }ifelse }ifelse } 436 | ifelse } 437 | forall} def 438 | /Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 439 | /MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 440 | {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 441 | 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 442 | /MLshow { currentpoint stroke M 443 | 0 exch R 444 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 445 | /MRshow { currentpoint stroke M 446 | exch dup MFwidth neg 3 -1 roll R 447 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 448 | /MCshow { currentpoint stroke M 449 | exch dup MFwidth -2 div 3 -1 roll R 450 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 451 | /XYsave { [( ) 1 2 true false 3 ()] } bind def 452 | /XYrestore { [( ) 1 2 true false 4 ()] } bind def 453 | Level1 SuppressPDFMark or 454 | {} { 455 | /SDict 10 dict def 456 | systemdict /pdfmark known not { 457 | userdict /pdfmark systemdict /cleartomark get put 458 | } if 459 | SDict begin [ 460 | /Title (naive-prover-2.ps) 461 | /Subject (gnuplot plot) 462 | /Creator (gnuplot 4.6 patchlevel 4) 463 | /Author (vagrant) 464 | % /Producer (gnuplot) 465 | % /Keywords () 466 | /CreationDate (Wed Aug 17 09:40:33 2016) 467 | /DOCINFO pdfmark 468 | end 469 | } ifelse 470 | end 471 | %%EndProlog 472 | %%Page: 1 1 473 | gnudict begin 474 | gsave 475 | doclip 476 | 50 50 translate 477 | 0.100 0.100 scale 478 | 90 rotate 479 | 0 -5040 translate 480 | 0 setgray 481 | newpath 482 | (Helvetica) findfont 140 scalefont setfont 483 | BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if 484 | 1.000 UL 485 | LTb 486 | LCb setrgbcolor 487 | LTb 488 | 3600 4773 M 489 | [ [(Helvetica) 140.0 0.0 true true 0 (Runtime)] 490 | ] -46.7 MCshow 491 | 1.000 UP 492 | % Begin plot #1 493 | 1.000 UL 494 | LT0 495 | LC0 setrgbcolor 496 | 2735 3755 M 497 | 161 184 V 498 | stroke 499 | LT2 500 | LC2 setrgbcolor 501 | 2735 3853 M 502 | 161 183 V 503 | stroke 504 | LT0 505 | LC0 setrgbcolor 506 | 2575 3569 M 507 | 160 186 V 508 | stroke 509 | LT2 510 | LC2 setrgbcolor 511 | 2575 3669 M 512 | 160 184 V 513 | stroke 514 | LT0 515 | LC0 setrgbcolor 516 | 2415 3386 M 517 | 160 183 V 518 | stroke 519 | LT0 520 | LC0 setrgbcolor 521 | 3291 3697 M 522 | 161 184 V 523 | stroke 524 | LT2 525 | LC2 setrgbcolor 526 | 2415 3490 M 527 | 160 179 V 528 | stroke 529 | LT2 530 | LC2 setrgbcolor 531 | 3291 3791 M 532 | 161 184 V 533 | stroke 534 | LT0 535 | LC0 setrgbcolor 536 | 2254 3198 M 537 | 161 188 V 538 | stroke 539 | LT0 540 | LC0 setrgbcolor 541 | 3131 3513 M 542 | 160 184 V 543 | stroke 544 | LT2 545 | LC2 setrgbcolor 546 | 3131 3607 M 547 | 160 184 V 548 | stroke 549 | LT2 550 | LC2 setrgbcolor 551 | 2254 3312 M 552 | 161 178 V 553 | stroke 554 | LT0 555 | LC0 setrgbcolor 556 | 2094 3012 M 557 | 160 186 V 558 | stroke 559 | LT0 560 | LC0 setrgbcolor 561 | 2970 3333 M 562 | 161 180 V 563 | stroke 564 | LT0 565 | LC0 setrgbcolor 566 | 3846 3641 M 567 | 160 187 V 568 | stroke 569 | LT2 570 | LC2 setrgbcolor 571 | 2970 3426 M 572 | 161 181 V 573 | stroke 574 | LT2 575 | LC2 setrgbcolor 576 | 2094 3138 M 577 | 160 174 V 578 | stroke 579 | LT2 580 | LC2 setrgbcolor 581 | 3846 3734 M 582 | 160 184 V 583 | stroke 584 | LT0 585 | LC0 setrgbcolor 586 | 1933 2824 M 587 | 161 188 V 588 | stroke 589 | LT0 590 | LC0 setrgbcolor 591 | 2810 3142 M 592 | 160 191 V 593 | stroke 594 | LT0 595 | LC0 setrgbcolor 596 | 3685 3455 M 597 | 161 186 V 598 | stroke 599 | LT2 600 | LC2 setrgbcolor 601 | 2810 3249 M 602 | 160 177 V 603 | stroke 604 | LT2 605 | LC2 setrgbcolor 606 | 3685 3548 M 607 | 161 186 V 608 | stroke 609 | LT2 610 | LC2 setrgbcolor 611 | 1933 2978 M 612 | 161 160 V 613 | stroke 614 | LT0 615 | LC0 setrgbcolor 616 | 1773 2641 M 617 | 160 183 V 618 | stroke 619 | LT0 620 | LC0 setrgbcolor 621 | 2650 2956 M 622 | 160 186 V 623 | stroke 624 | LT0 625 | LC0 setrgbcolor 626 | 3526 3274 M 627 | 159 181 V 628 | stroke 629 | LT0 630 | LC0 setrgbcolor 631 | 4402 3588 M 632 | 160 182 V 633 | stroke 634 | LT2 635 | LC2 setrgbcolor 636 | 3526 3365 M 637 | 159 183 V 638 | stroke 639 | LT2 640 | LC2 setrgbcolor 641 | 2650 3071 M 642 | 160 178 V 643 | stroke 644 | LT2 645 | LC2 setrgbcolor 646 | 4402 3678 M 647 | 160 184 V 648 | stroke 649 | LT2 650 | LC2 setrgbcolor 651 | 1773 2822 M 652 | 160 156 V 653 | stroke 654 | LT0 655 | LC0 setrgbcolor 656 | 1613 2470 M 657 | 160 171 V 658 | stroke 659 | LT0 660 | LC0 setrgbcolor 661 | 2489 2769 M 662 | 161 187 V 663 | stroke 664 | LT0 665 | LC0 setrgbcolor 666 | 3366 3086 M 667 | 160 188 V 668 | stroke 669 | LT0 670 | LC0 setrgbcolor 671 | 4241 3401 M 672 | 161 187 V 673 | stroke 674 | LT2 675 | LC2 setrgbcolor 676 | 3366 3187 M 677 | 160 178 V 678 | stroke 679 | LT2 680 | LC2 setrgbcolor 681 | 2489 2904 M 682 | 161 167 V 683 | stroke 684 | LT2 685 | LC2 setrgbcolor 686 | 4241 3492 M 687 | 161 186 V 688 | stroke 689 | LT2 690 | LC2 setrgbcolor 691 | 1613 2679 M 692 | 160 143 V 693 | stroke 694 | LT0 695 | LC0 setrgbcolor 696 | 2329 2598 M 697 | 160 171 V 698 | stroke 699 | LT0 700 | LC0 setrgbcolor 701 | 1452 2314 M 702 | 161 156 V 703 | stroke 704 | LT0 705 | LC0 setrgbcolor 706 | 3205 2898 M 707 | 161 188 V 708 | stroke 709 | LT0 710 | LC0 setrgbcolor 711 | 4081 3217 M 712 | 160 184 V 713 | stroke 714 | LT0 715 | LC0 setrgbcolor 716 | 4957 3530 M 717 | 161 186 V 718 | stroke 719 | LT2 720 | LC2 setrgbcolor 721 | 3205 3009 M 722 | 161 178 V 723 | stroke 724 | LT2 725 | LC2 setrgbcolor 726 | 4081 3308 M 727 | 160 184 V 728 | stroke 729 | LT2 730 | LC2 setrgbcolor 731 | 4957 3623 M 732 | 161 184 V 733 | stroke 734 | LT2 735 | LC2 setrgbcolor 736 | 2329 2744 M 737 | 160 160 V 738 | stroke 739 | LT0 740 | LC0 setrgbcolor 741 | 3045 2715 M 742 | 160 183 V 743 | stroke 744 | LT0 745 | LC0 setrgbcolor 746 | 2168 2412 M 747 | 161 186 V 748 | stroke 749 | LT0 750 | LC0 setrgbcolor 751 | 3920 3031 M 752 | 161 186 V 753 | stroke 754 | LT0 755 | LC0 setrgbcolor 756 | 1292 2173 M 757 | 160 141 V 758 | stroke 759 | LT0 760 | LC0 setrgbcolor 761 | 4797 3343 M 762 | 160 187 V 763 | stroke 764 | LT2 765 | LC2 setrgbcolor 766 | 1452 2545 M 767 | 161 134 V 768 | stroke 769 | LT2 770 | LC2 setrgbcolor 771 | 3920 3127 M 772 | 161 181 V 773 | stroke 774 | LT2 775 | LC2 setrgbcolor 776 | 3045 2858 M 777 | 160 151 V 778 | stroke 779 | LT2 780 | LC2 setrgbcolor 781 | 4797 3436 M 782 | 160 187 V 783 | stroke 784 | LT2 785 | LC2 setrgbcolor 786 | 2168 2598 M 787 | 161 146 V 788 | stroke 789 | LT0 790 | LC0 setrgbcolor 791 | 2008 2251 M 792 | 160 161 V 793 | stroke 794 | LT0 795 | LC0 setrgbcolor 796 | 2884 2531 M 797 | 161 184 V 798 | stroke 799 | LT0 800 | LC0 setrgbcolor 801 | 3760 2844 M 802 | 160 187 V 803 | stroke 804 | LT0 805 | LC0 setrgbcolor 806 | 4636 3157 M 807 | 161 186 V 808 | stroke 809 | LT0 810 | LC0 setrgbcolor 811 | 5513 3477 M 812 | 160 183 V 813 | stroke 814 | LT0 815 | LC0 setrgbcolor 816 | 1131 2072 M 817 | 161 101 V 818 | stroke 819 | LT2 820 | LC2 setrgbcolor 821 | 1292 2431 M 822 | 160 114 V 823 | stroke 824 | LT2 825 | LC2 setrgbcolor 826 | 3760 2950 M 827 | 160 177 V 828 | stroke 829 | LT2 830 | LC2 setrgbcolor 831 | 4636 3252 M 832 | 161 184 V 833 | stroke 834 | LT2 835 | LC2 setrgbcolor 836 | 5513 3566 M 837 | 160 186 V 838 | stroke 839 | LT2 840 | LC2 setrgbcolor 841 | 2884 2707 M 842 | 161 151 V 843 | stroke 844 | LT0 845 | LC0 setrgbcolor 846 | 2724 2367 M 847 | 160 164 V 848 | stroke 849 | LT0 850 | LC0 setrgbcolor 851 | 3600 2664 M 852 | 160 180 V 853 | stroke 854 | LT2 855 | LC2 setrgbcolor 856 | 2008 2461 M 857 | 160 137 V 858 | stroke 859 | LT0 860 | LC0 setrgbcolor 861 | 1847 2110 M 862 | 161 141 V 863 | stroke 864 | LT0 865 | LC0 setrgbcolor 866 | 4476 2975 M 867 | 160 182 V 868 | stroke 869 | LT0 870 | LC0 setrgbcolor 871 | 5353 3289 M 872 | 160 188 V 873 | stroke 874 | LT2 875 | LC2 setrgbcolor 876 | 4476 3069 M 877 | 160 183 V 878 | stroke 879 | LT2 880 | LC2 setrgbcolor 881 | 3600 2777 M 882 | 160 173 V 883 | stroke 884 | LT2 885 | LC2 setrgbcolor 886 | 5353 3380 M 887 | 160 186 V 888 | stroke 889 | LT2 890 | LC2 setrgbcolor 891 | 1131 2387 M 892 | 161 44 V 893 | stroke 894 | LT2 895 | LC2 setrgbcolor 896 | 2724 2555 M 897 | 160 152 V 898 | stroke 899 | LT0 900 | LC0 setrgbcolor 901 | 3440 2482 M 902 | 160 182 V 903 | stroke 904 | LT0 905 | LC0 setrgbcolor 906 | 2564 2194 M 907 | 160 173 V 908 | stroke 909 | LT0 910 | LC0 setrgbcolor 911 | 4316 2786 M 912 | 160 189 V 913 | stroke 914 | LT0 915 | LC0 setrgbcolor 916 | 5192 3104 M 917 | 161 185 V 918 | stroke 919 | LT0 920 | LC0 setrgbcolor 921 | 6069 3418 M 922 | 160 186 V 923 | stroke 924 | LT2 925 | LC2 setrgbcolor 926 | 1847 2337 M 927 | 161 124 V 928 | stroke 929 | LT0 930 | LC0 setrgbcolor 931 | 1687 2023 M 932 | 160 87 V 933 | stroke 934 | LT2 935 | LC2 setrgbcolor 936 | 4316 2891 M 937 | 160 178 V 938 | stroke 939 | LT2 940 | LC2 setrgbcolor 941 | 5192 3195 M 942 | 161 185 V 943 | stroke 944 | LT2 945 | LC2 setrgbcolor 946 | 3440 2612 M 947 | 160 165 V 948 | stroke 949 | LT2 950 | LC2 setrgbcolor 951 | 6069 3510 M 952 | 160 185 V 953 | stroke 954 | LT0 955 | LC0 setrgbcolor 956 | 3280 2331 M 957 | 160 151 V 958 | stroke 959 | LT0 960 | LC0 setrgbcolor 961 | 4155 2601 M 962 | 161 185 V 963 | stroke 964 | LT0 965 | LC0 setrgbcolor 966 | 2403 2043 M 967 | 161 151 V 968 | stroke 969 | LT0 970 | LC0 setrgbcolor 971 | 5032 2917 M 972 | 160 187 V 973 | stroke 974 | LT2 975 | LC2 setrgbcolor 976 | 2564 2420 M 977 | 160 135 V 978 | stroke 979 | LT0 980 | LC0 setrgbcolor 981 | 5908 3231 M 982 | 161 187 V 983 | stroke 984 | LT2 985 | LC2 setrgbcolor 986 | 1687 2282 M 987 | 160 55 V 988 | stroke 989 | LT2 990 | LC2 setrgbcolor 991 | 4155 2718 M 992 | 161 173 V 993 | stroke 994 | LT2 995 | LC2 setrgbcolor 996 | 5032 3012 M 997 | 160 183 V 998 | stroke 999 | LT2 1000 | LC2 setrgbcolor 1001 | 5908 3326 M 1002 | 161 184 V 1003 | stroke 1004 | LT2 1005 | LC2 setrgbcolor 1006 | 3280 2457 M 1007 | 160 155 V 1008 | stroke 1009 | LT0 1010 | LC0 setrgbcolor 1011 | 3995 2425 M 1012 | 160 176 V 1013 | stroke 1014 | LT0 1015 | LC0 setrgbcolor 1016 | 4871 2732 M 1017 | 161 185 V 1018 | stroke 1019 | LT0 1020 | LC0 setrgbcolor 1021 | 5748 3046 M 1022 | 160 185 V 1023 | stroke 1024 | LT0 1025 | LC0 setrgbcolor 1026 | 3119 2134 M 1027 | 161 197 V 1028 | stroke 1029 | LT0 1030 | LC0 setrgbcolor 1031 | 2243 1938 M 1032 | 160 105 V 1033 | stroke 1034 | LT2 1035 | LC2 setrgbcolor 1036 | 2403 2282 M 1037 | 161 138 V 1038 | stroke 1039 | LT2 1040 | LC2 setrgbcolor 1041 | 4871 2834 M 1042 | 161 178 V 1043 | stroke 1044 | LT2 1045 | LC2 setrgbcolor 1046 | 3995 2551 M 1047 | 160 167 V 1048 | stroke 1049 | LT2 1050 | LC2 setrgbcolor 1051 | 5748 3142 M 1052 | 160 184 V 1053 | stroke 1054 | LT2 1055 | LC2 setrgbcolor 1056 | 3119 2314 M 1057 | 161 143 V 1058 | stroke 1059 | LT0 1060 | LC0 setrgbcolor 1061 | 3834 2246 M 1062 | 161 179 V 1063 | stroke 1064 | LT0 1065 | LC0 setrgbcolor 1066 | 4711 2550 M 1067 | 160 182 V 1068 | stroke 1069 | LT0 1070 | LC0 setrgbcolor 1071 | 2959 1977 M 1072 | 160 157 V 1073 | stroke 1074 | LT0 1075 | LC0 setrgbcolor 1076 | 5587 2859 M 1077 | 161 187 V 1078 | stroke 1079 | LT2 1080 | LC2 setrgbcolor 1081 | 2243 2470 M 1082 | 160 -188 V 1083 | stroke 1084 | LT2 1085 | LC2 setrgbcolor 1086 | 4711 2661 M 1087 | 160 173 V 1088 | stroke 1089 | LT2 1090 | LC2 setrgbcolor 1091 | 5587 2959 M 1092 | 161 183 V 1093 | stroke 1094 | LT2 1095 | LC2 setrgbcolor 1096 | 3834 2394 M 1097 | 161 157 V 1098 | stroke 1099 | LT0 1100 | LC0 setrgbcolor 1101 | 3674 2098 M 1102 | 160 148 V 1103 | stroke 1104 | LT0 1105 | LC0 setrgbcolor 1106 | 4550 2367 M 1107 | 161 183 V 1108 | stroke 1109 | LT0 1110 | LC0 setrgbcolor 1111 | 5427 2676 M 1112 | 160 183 V 1113 | stroke 1114 | LT2 1115 | LC2 setrgbcolor 1116 | 2959 2180 M 1117 | 160 134 V 1118 | stroke 1119 | LT0 1120 | LC0 setrgbcolor 1121 | 2798 1862 M 1122 | 161 115 V 1123 | stroke 1124 | LT2 1125 | LC2 setrgbcolor 1126 | 5427 2779 M 1127 | 160 180 V 1128 | stroke 1129 | LT2 1130 | LC2 setrgbcolor 1131 | 4550 2495 M 1132 | 161 166 V 1133 | stroke 1134 | LT2 1135 | LC2 setrgbcolor 1136 | 3674 2249 M 1137 | 160 145 V 1138 | stroke 1139 | LT0 1140 | LC0 setrgbcolor 1141 | 4390 2192 M 1142 | 160 175 V 1143 | stroke 1144 | LT0 1145 | LC0 setrgbcolor 1146 | 5267 2493 M 1147 | 160 183 V 1148 | stroke 1149 | LT0 1150 | LC0 setrgbcolor 1151 | 3515 1918 M 1152 | 159 180 V 1153 | stroke 1154 | LT2 1155 | LC2 setrgbcolor 1156 | 2798 2367 M 1157 | 161 -187 V 1158 | stroke 1159 | LT2 1160 | LC2 setrgbcolor 1161 | 5267 2606 M 1162 | 160 173 V 1163 | stroke 1164 | LT2 1165 | LC2 setrgbcolor 1166 | 4390 2338 M 1167 | 160 157 V 1168 | stroke 1169 | LT0 1170 | LC0 setrgbcolor 1171 | 5106 2308 M 1172 | 161 185 V 1173 | stroke 1174 | LT0 1175 | LC0 setrgbcolor 1176 | 4230 2026 M 1177 | 160 166 V 1178 | stroke 1179 | LT2 1180 | LC2 setrgbcolor 1181 | 3515 2112 M 1182 | 159 137 V 1183 | stroke 1184 | LT0 1185 | LC0 setrgbcolor 1186 | 3354 1792 M 1187 | 161 126 V 1188 | stroke 1189 | LT2 1190 | LC2 setrgbcolor 1191 | 5106 2459 M 1192 | 161 147 V 1193 | stroke 1194 | LT2 1195 | LC2 setrgbcolor 1196 | 4230 2190 M 1197 | 160 148 V 1198 | stroke 1199 | LT0 1200 | LC0 setrgbcolor 1201 | 4946 2133 M 1202 | 160 175 V 1203 | stroke 1204 | LT0 1205 | LC0 setrgbcolor 1206 | 4069 1860 M 1207 | 161 166 V 1208 | stroke 1209 | LT2 1210 | LC2 setrgbcolor 1211 | 3354 2265 M 1212 | 161 -153 V 1213 | stroke 1214 | LT2 1215 | LC2 setrgbcolor 1216 | 4946 2281 M 1217 | 160 178 V 1218 | stroke 1219 | LT0 1220 | LC0 setrgbcolor 1221 | 4785 1969 M 1222 | 161 164 V 1223 | stroke 1224 | LT2 1225 | LC2 setrgbcolor 1226 | 4069 2052 M 1227 | 161 138 V 1228 | stroke 1229 | LT0 1230 | LC0 setrgbcolor 1231 | 3909 1734 M 1232 | 160 126 V 1233 | stroke 1234 | LT2 1235 | LC2 setrgbcolor 1236 | 4785 2134 M 1237 | 161 147 V 1238 | stroke 1239 | LT0 1240 | LC0 setrgbcolor 1241 | 4625 1805 M 1242 | 160 164 V 1243 | stroke 1244 | LT2 1245 | LC2 setrgbcolor 1246 | 3909 2165 M 1247 | 160 -113 V 1248 | stroke 1249 | LT2 1250 | LC2 setrgbcolor 1251 | 4625 1996 M 1252 | 160 138 V 1253 | stroke 1254 | LT0 1255 | LC0 setrgbcolor 1256 | 4465 1672 M 1257 | 160 133 V 1258 | stroke 1259 | LT2 1260 | LC2 setrgbcolor 1261 | 4465 2065 M 1262 | 160 -69 V 1263 | % End plot #1 1264 | % Begin plot #2 1265 | stroke 1266 | LCb setrgbcolor 1267 | 5662 4416 M 1268 | [ [(Helvetica) 140.0 0.0 true true 0 (naive \(2-thread\))] 1269 | ] -46.7 MRshow 1270 | 1.000 UL 1271 | LT0 1272 | LC0 setrgbcolor 1273 | 5746 4416 M 1274 | 399 0 V 1275 | % End plot #2 1276 | % Begin plot #3 1277 | stroke 1278 | LCb setrgbcolor 1279 | 5662 4276 M 1280 | [ [(Helvetica) 140.0 0.0 true true 0 (prover \(2-thread\))] 1281 | ] -46.7 MRshow 1282 | 1.000 UL 1283 | LT2 1284 | LC2 setrgbcolor 1285 | 5746 4276 M 1286 | 399 0 V 1287 | % End plot #3 1288 | stroke 1289 | LTb 1290 | LCb setrgbcolor 1291 | 6229 1674 M 1292 | 4304 601 L 1293 | stroke 1294 | LTb 1295 | LCb setrgbcolor 1296 | 971 1221 M 1297 | 4304 601 L 1298 | stroke 1299 | LTb 1300 | LCb setrgbcolor 1301 | 971 1221 M 1302 | 2896 2294 L 1303 | stroke 1304 | LTb 1305 | LCb setrgbcolor 1306 | 6229 1674 M 1307 | 2896 2294 L 1308 | stroke 1309 | LTb 1310 | LCb setrgbcolor 1311 | 971 1221 M 1312 | 0 2145 V 1313 | stroke 1314 | LTa 1315 | LCa setrgbcolor 1316 | 971 1221 M 1317 | 2896 2294 L 1318 | stroke 1319 | LTb 1320 | LCb setrgbcolor 1321 | 971 1221 M 1322 | 49 27 V 1323 | stroke 1324 | LTb 1325 | LCb setrgbcolor 1326 | 906 1105 M 1327 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1328 | [(Helvetica) 112.0 70.0 true true 0 (1)] 1329 | ] -60.7 MCshow 1330 | 1.000 UL 1331 | LTb 1332 | LCb setrgbcolor 1333 | 1.000 UL 1334 | LTb 1335 | LCb setrgbcolor 1336 | 2896 2294 M 1337 | -49 -28 V 1338 | stroke 1339 | LTa 1340 | LCa setrgbcolor 1341 | 1527 1117 M 1342 | 3452 2190 L 1343 | stroke 1344 | LTb 1345 | LCb setrgbcolor 1346 | 1527 1117 M 1347 | 49 28 V 1348 | stroke 1349 | LTb 1350 | LCb setrgbcolor 1351 | 1461 1002 M 1352 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1353 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1354 | ] -60.7 MCshow 1355 | 1.000 UL 1356 | LTb 1357 | LCb setrgbcolor 1358 | 1.000 UL 1359 | LTb 1360 | LCb setrgbcolor 1361 | 3452 2190 M 1362 | -49 -27 V 1363 | stroke 1364 | LTa 1365 | LCa setrgbcolor 1366 | 2082 1014 M 1367 | 4006 2087 L 1368 | stroke 1369 | LTb 1370 | LCb setrgbcolor 1371 | 2082 1014 M 1372 | 49 28 V 1373 | stroke 1374 | LTb 1375 | LCb setrgbcolor 1376 | 2017 899 M 1377 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1378 | [(Helvetica) 112.0 70.0 true true 0 (3)] 1379 | ] -60.7 MCshow 1380 | 1.000 UL 1381 | LTb 1382 | LCb setrgbcolor 1383 | 1.000 UL 1384 | LTb 1385 | LCb setrgbcolor 1386 | 4006 2087 M 1387 | -49 -27 V 1388 | stroke 1389 | LTa 1390 | LCa setrgbcolor 1391 | 2638 911 M 1392 | 4562 1984 L 1393 | stroke 1394 | LTb 1395 | LCb setrgbcolor 1396 | 2638 911 M 1397 | 49 27 V 1398 | stroke 1399 | LTb 1400 | LCb setrgbcolor 1401 | 2573 795 M 1402 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1403 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1404 | ] -60.7 MCshow 1405 | 1.000 UL 1406 | LTb 1407 | LCb setrgbcolor 1408 | 1.000 UL 1409 | LTb 1410 | LCb setrgbcolor 1411 | 4562 1984 M 1412 | -49 -27 V 1413 | stroke 1414 | LTa 1415 | LCa setrgbcolor 1416 | 3194 808 M 1417 | 5118 1881 L 1418 | stroke 1419 | LTb 1420 | LCb setrgbcolor 1421 | 3194 808 M 1422 | 49 27 V 1423 | stroke 1424 | LTb 1425 | LCb setrgbcolor 1426 | 3128 692 M 1427 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1428 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1429 | ] -60.7 MCshow 1430 | 1.000 UL 1431 | LTb 1432 | LCb setrgbcolor 1433 | 1.000 UL 1434 | LTb 1435 | LCb setrgbcolor 1436 | 5118 1881 M 1437 | -49 -28 V 1438 | stroke 1439 | LTa 1440 | LCa setrgbcolor 1441 | 3748 704 M 1442 | 5673 1777 L 1443 | stroke 1444 | LTb 1445 | LCb setrgbcolor 1446 | 3748 704 M 1447 | 49 28 V 1448 | stroke 1449 | LTb 1450 | LCb setrgbcolor 1451 | 3683 589 M 1452 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1453 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1454 | ] -60.7 MCshow 1455 | 1.000 UL 1456 | LTb 1457 | LCb setrgbcolor 1458 | 1.000 UL 1459 | LTb 1460 | LCb setrgbcolor 1461 | 5673 1777 M 1462 | -49 -27 V 1463 | stroke 1464 | LTa 1465 | LCa setrgbcolor 1466 | 4304 601 M 1467 | 6229 1674 L 1468 | stroke 1469 | LTb 1470 | LCb setrgbcolor 1471 | 4304 601 M 1472 | 49 28 V 1473 | stroke 1474 | LTb 1475 | LCb setrgbcolor 1476 | 4239 486 M 1477 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1478 | [(Helvetica) 112.0 70.0 true true 0 (7)] 1479 | ] -60.7 MCshow 1480 | 1.000 UL 1481 | LTb 1482 | LCb setrgbcolor 1483 | 1.000 UL 1484 | LTb 1485 | LCb setrgbcolor 1486 | 6229 1674 M 1487 | -49 -27 V 1488 | stroke 1489 | LCb setrgbcolor 1490 | 2157 643 M 1491 | [ [(Helvetica) 140.0 0.0 true true 0 (Batch Size)] 1492 | ] -46.7 MCshow 1493 | LTb 1494 | 1.000 UL 1495 | LTa 1496 | LCa setrgbcolor 1497 | 4304 601 M 1498 | 971 1221 L 1499 | stroke 1500 | LTb 1501 | LCb setrgbcolor 1502 | 4304 601 M 1503 | -54 10 V 1504 | stroke 1505 | 4377 524 M 1506 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1507 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1508 | ] -60.7 MCshow 1509 | 1.000 UL 1510 | LTb 1511 | LCb setrgbcolor 1512 | 1.000 UL 1513 | LTb 1514 | LCb setrgbcolor 1515 | 971 1221 M 1516 | 54 -10 V 1517 | stroke 1518 | LTb 1519 | LCb setrgbcolor 1520 | 4465 691 M 1521 | -28 5 V 1522 | stroke 1523 | LTb 1524 | LCb setrgbcolor 1525 | 1131 1310 M 1526 | 28 -5 V 1527 | stroke 1528 | LTa 1529 | LCa setrgbcolor 1530 | 4625 780 M 1531 | 1292 1400 L 1532 | stroke 1533 | LTb 1534 | LCb setrgbcolor 1535 | 4625 780 M 1536 | -55 10 V 1537 | stroke 1538 | 4698 703 M 1539 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1540 | [(Helvetica) 112.0 70.0 true true 0 (2)] 1541 | ] -60.7 MCshow 1542 | 1.000 UL 1543 | LTb 1544 | LCb setrgbcolor 1545 | 1.000 UL 1546 | LTb 1547 | LCb setrgbcolor 1548 | 1292 1400 M 1549 | 54 -11 V 1550 | stroke 1551 | LTb 1552 | LCb setrgbcolor 1553 | 4785 869 M 1554 | -27 6 V 1555 | stroke 1556 | LTb 1557 | LCb setrgbcolor 1558 | 1452 1489 M 1559 | 27 -5 V 1560 | stroke 1561 | LTa 1562 | LCa setrgbcolor 1563 | 4946 959 M 1564 | 1613 1578 L 1565 | stroke 1566 | LTb 1567 | LCb setrgbcolor 1568 | 4946 959 M 1569 | -55 10 V 1570 | stroke 1571 | 5019 881 M 1572 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1573 | [(Helvetica) 112.0 70.0 true true 0 (4)] 1574 | ] -60.7 MCshow 1575 | 1.000 UL 1576 | LTb 1577 | LCb setrgbcolor 1578 | 1.000 UL 1579 | LTb 1580 | LCb setrgbcolor 1581 | 1613 1578 M 1582 | 54 -10 V 1583 | stroke 1584 | LTb 1585 | LCb setrgbcolor 1586 | 5106 1048 M 1587 | -27 5 V 1588 | stroke 1589 | LTb 1590 | LCb setrgbcolor 1591 | 1773 1668 M 1592 | 27 -5 V 1593 | stroke 1594 | LTa 1595 | LCa setrgbcolor 1596 | 5267 1138 M 1597 | 1933 1757 L 1598 | stroke 1599 | LTb 1600 | LCb setrgbcolor 1601 | 5267 1138 M 1602 | -55 10 V 1603 | stroke 1604 | 5339 1060 M 1605 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1606 | [(Helvetica) 112.0 70.0 true true 0 (6)] 1607 | ] -60.7 MCshow 1608 | 1.000 UL 1609 | LTb 1610 | LCb setrgbcolor 1611 | 1.000 UL 1612 | LTb 1613 | LCb setrgbcolor 1614 | 1933 1757 M 1615 | 55 -10 V 1616 | stroke 1617 | LTb 1618 | LCb setrgbcolor 1619 | 5427 1227 M 1620 | -27 5 V 1621 | stroke 1622 | LTb 1623 | LCb setrgbcolor 1624 | 2094 1847 M 1625 | 27 -5 V 1626 | stroke 1627 | LTa 1628 | LCa setrgbcolor 1629 | 5587 1317 M 1630 | 2254 1936 L 1631 | stroke 1632 | LTb 1633 | LCb setrgbcolor 1634 | 5587 1317 M 1635 | -54 10 V 1636 | stroke 1637 | 5660 1239 M 1638 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1639 | [(Helvetica) 112.0 70.0 true true 0 (8)] 1640 | ] -60.7 MCshow 1641 | 1.000 UL 1642 | LTb 1643 | LCb setrgbcolor 1644 | 1.000 UL 1645 | LTb 1646 | LCb setrgbcolor 1647 | 2254 1936 M 1648 | 55 -10 V 1649 | stroke 1650 | LTb 1651 | LCb setrgbcolor 1652 | 5748 1406 M 1653 | -27 5 V 1654 | stroke 1655 | LTb 1656 | LCb setrgbcolor 1657 | 2415 2025 M 1658 | 27 -5 V 1659 | stroke 1660 | LTa 1661 | LCa setrgbcolor 1662 | 5908 1495 M 1663 | 2575 2115 L 1664 | stroke 1665 | LTb 1666 | LCb setrgbcolor 1667 | 5908 1495 M 1668 | -54 11 V 1669 | stroke 1670 | 5981 1418 M 1671 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1672 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1673 | ] -60.7 MCshow 1674 | 1.000 UL 1675 | LTb 1676 | LCb setrgbcolor 1677 | 1.000 UL 1678 | LTb 1679 | LCb setrgbcolor 1680 | 2575 2115 M 1681 | 55 -10 V 1682 | stroke 1683 | LTb 1684 | LCb setrgbcolor 1685 | 6069 1585 M 1686 | -28 5 V 1687 | stroke 1688 | LTb 1689 | LCb setrgbcolor 1690 | 2735 2204 M 1691 | 28 -5 V 1692 | stroke 1693 | LTa 1694 | LCa setrgbcolor 1695 | 6229 1674 M 1696 | 2896 2294 L 1697 | stroke 1698 | LTb 1699 | LCb setrgbcolor 1700 | 6229 1674 M 1701 | -54 10 V 1702 | stroke 1703 | 6302 1597 M 1704 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1705 | [(Helvetica) 112.0 70.0 true true 0 (12)] 1706 | ] -60.7 MCshow 1707 | 1.000 UL 1708 | LTb 1709 | LCb setrgbcolor 1710 | 1.000 UL 1711 | LTb 1712 | LCb setrgbcolor 1713 | 2896 2294 M 1714 | 54 -10 V 1715 | stroke 1716 | LCb setrgbcolor 1717 | 6100 983 M 1718 | [ [(Helvetica) 140.0 0.0 true true 0 (Input Size)] 1719 | ] -46.7 MCshow 1720 | LTb 1721 | 1.000 UL 1722 | LTa 1723 | LCa setrgbcolor 1724 | 971 1936 M 1725 | 2896 3008 L 1726 | stroke 1727 | LTa 1728 | LCa setrgbcolor 1729 | 2896 3008 M 1730 | 6229 2390 L 1731 | stroke 1732 | LTb 1733 | LCb setrgbcolor 1734 | 971 1936 M 1735 | 63 0 V 1736 | stroke 1737 | 845 1936 M 1738 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1739 | [(Helvetica) 112.0 70.0 true true 0 (-20)] 1740 | ] -60.7 MRshow 1741 | 1.000 UL 1742 | LTb 1743 | LCb setrgbcolor 1744 | 1.000 UL 1745 | LTb 1746 | LCb setrgbcolor 1747 | 971 1984 M 1748 | 31 0 V 1749 | stroke 1750 | LTb 1751 | LCb setrgbcolor 1752 | 971 2031 M 1753 | 31 0 V 1754 | stroke 1755 | LTb 1756 | LCb setrgbcolor 1757 | 971 2079 M 1758 | 31 0 V 1759 | stroke 1760 | LTb 1761 | LCb setrgbcolor 1762 | 971 2127 M 1763 | 31 0 V 1764 | stroke 1765 | LTa 1766 | LCa setrgbcolor 1767 | 971 2175 M 1768 | 2896 3247 L 1769 | stroke 1770 | LTa 1771 | LCa setrgbcolor 1772 | 2896 3247 M 1773 | 6229 2627 L 1774 | stroke 1775 | LTb 1776 | LCb setrgbcolor 1777 | 971 2175 M 1778 | 63 0 V 1779 | stroke 1780 | 845 2175 M 1781 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1782 | [(Helvetica) 112.0 70.0 true true 0 (-15)] 1783 | ] -60.7 MRshow 1784 | 1.000 UL 1785 | LTb 1786 | LCb setrgbcolor 1787 | 1.000 UL 1788 | LTb 1789 | LCb setrgbcolor 1790 | 971 2222 M 1791 | 31 0 V 1792 | stroke 1793 | LTb 1794 | LCb setrgbcolor 1795 | 971 2270 M 1796 | 31 0 V 1797 | stroke 1798 | LTb 1799 | LCb setrgbcolor 1800 | 971 2318 M 1801 | 31 0 V 1802 | stroke 1803 | LTb 1804 | LCb setrgbcolor 1805 | 971 2365 M 1806 | 31 0 V 1807 | stroke 1808 | LTa 1809 | LCa setrgbcolor 1810 | 971 2413 M 1811 | 2896 3485 L 1812 | stroke 1813 | LTa 1814 | LCa setrgbcolor 1815 | 2896 3485 M 1816 | 6229 2865 L 1817 | stroke 1818 | LTb 1819 | LCb setrgbcolor 1820 | 971 2413 M 1821 | 63 0 V 1822 | stroke 1823 | 845 2413 M 1824 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1825 | [(Helvetica) 112.0 70.0 true true 0 (-10)] 1826 | ] -60.7 MRshow 1827 | 1.000 UL 1828 | LTb 1829 | LCb setrgbcolor 1830 | 1.000 UL 1831 | LTb 1832 | LCb setrgbcolor 1833 | 971 2461 M 1834 | 31 0 V 1835 | stroke 1836 | LTb 1837 | LCb setrgbcolor 1838 | 971 2508 M 1839 | 31 0 V 1840 | stroke 1841 | LTb 1842 | LCb setrgbcolor 1843 | 971 2555 M 1844 | 31 0 V 1845 | stroke 1846 | LTb 1847 | LCb setrgbcolor 1848 | 971 2603 M 1849 | 31 0 V 1850 | stroke 1851 | LTa 1852 | LCa setrgbcolor 1853 | 971 2650 M 1854 | 2896 3723 L 1855 | stroke 1856 | LTa 1857 | LCa setrgbcolor 1858 | 2896 3723 M 1859 | 6229 3104 L 1860 | stroke 1861 | LTb 1862 | LCb setrgbcolor 1863 | 971 2650 M 1864 | 63 0 V 1865 | stroke 1866 | 845 2650 M 1867 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1868 | [(Helvetica) 112.0 70.0 true true 0 (-5)] 1869 | ] -60.7 MRshow 1870 | 1.000 UL 1871 | LTb 1872 | LCb setrgbcolor 1873 | 1.000 UL 1874 | LTb 1875 | LCb setrgbcolor 1876 | 971 2698 M 1877 | 31 0 V 1878 | stroke 1879 | LTb 1880 | LCb setrgbcolor 1881 | 971 2746 M 1882 | 31 0 V 1883 | stroke 1884 | LTb 1885 | LCb setrgbcolor 1886 | 971 2793 M 1887 | 31 0 V 1888 | stroke 1889 | LTb 1890 | LCb setrgbcolor 1891 | 971 2841 M 1892 | 31 0 V 1893 | stroke 1894 | LTa 1895 | LCa setrgbcolor 1896 | 971 2889 M 1897 | 2896 3962 L 1898 | stroke 1899 | LTa 1900 | LCa setrgbcolor 1901 | 2896 3962 M 1902 | 6229 3342 L 1903 | stroke 1904 | LTb 1905 | LCb setrgbcolor 1906 | 971 2889 M 1907 | 63 0 V 1908 | stroke 1909 | 845 2889 M 1910 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1911 | [(Helvetica) 112.0 70.0 true true 0 (0)] 1912 | ] -60.7 MRshow 1913 | 1.000 UL 1914 | LTb 1915 | LCb setrgbcolor 1916 | 1.000 UL 1917 | LTb 1918 | LCb setrgbcolor 1919 | 971 2937 M 1920 | 31 0 V 1921 | stroke 1922 | LTb 1923 | LCb setrgbcolor 1924 | 971 2984 M 1925 | 31 0 V 1926 | stroke 1927 | LTb 1928 | LCb setrgbcolor 1929 | 971 3032 M 1930 | 31 0 V 1931 | stroke 1932 | LTb 1933 | LCb setrgbcolor 1934 | 971 3080 M 1935 | 31 0 V 1936 | stroke 1937 | LTa 1938 | LCa setrgbcolor 1939 | 971 3127 M 1940 | 2896 4200 L 1941 | stroke 1942 | LTa 1943 | LCa setrgbcolor 1944 | 2896 4200 M 1945 | 6229 3581 L 1946 | stroke 1947 | LTb 1948 | LCb setrgbcolor 1949 | 971 3127 M 1950 | 63 0 V 1951 | stroke 1952 | 845 3127 M 1953 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1954 | [(Helvetica) 112.0 70.0 true true 0 (5)] 1955 | ] -60.7 MRshow 1956 | 1.000 UL 1957 | LTb 1958 | LCb setrgbcolor 1959 | 1.000 UL 1960 | LTb 1961 | LCb setrgbcolor 1962 | 971 3175 M 1963 | 31 0 V 1964 | stroke 1965 | LTb 1966 | LCb setrgbcolor 1967 | 971 3223 M 1968 | 31 0 V 1969 | stroke 1970 | LTb 1971 | LCb setrgbcolor 1972 | 971 3270 M 1973 | 31 0 V 1974 | stroke 1975 | LTb 1976 | LCb setrgbcolor 1977 | 971 3318 M 1978 | 31 0 V 1979 | stroke 1980 | LTa 1981 | LCa setrgbcolor 1982 | 971 3366 M 1983 | 2896 4439 L 1984 | stroke 1985 | LTa 1986 | LCa setrgbcolor 1987 | 2896 4439 M 1988 | 6229 3819 L 1989 | stroke 1990 | LTb 1991 | LCb setrgbcolor 1992 | 971 3366 M 1993 | 63 0 V 1994 | stroke 1995 | 845 3366 M 1996 | [ [(Helvetica) 140.0 0.0 true true 0 (2)] 1997 | [(Helvetica) 112.0 70.0 true true 0 (10)] 1998 | ] -60.7 MRshow 1999 | 1.000 UL 2000 | LTb 2001 | LCb setrgbcolor 2002 | LCb setrgbcolor 2003 | 383 1531 M 2004 | [ [(Helvetica) 140.0 0.0 true true 0 (Time \(in seconds\))] 2005 | ] -46.7 MCshow 2006 | LTb 2007 | 1.000 UP 2008 | stroke 2009 | grestore 2010 | end 2011 | showpage 2012 | %%Trailer 2013 | %%DocumentFonts: Helvetica 2014 | %%Pages: 1 2015 | --------------------------------------------------------------------------------