tan-example (used to crash)

Time bar (total: 13.6s)

analyze2.2s (16%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.2%99.8%0%0%0%0
0%0%0.2%99.8%0%0%0%1
0%0%0.2%99.8%0%0%0%2
0%0%0.2%99.8%0%0%0%3
0%0%0.2%99.8%0%0%0%4
0%0%0.2%99.8%0%0%0%5
0%0%0.2%99.8%0%0%0%6
0%0%0.2%99.8%0%0%0%7
2.3%0%0.2%99.8%0%0%0%8
2.3%0%0.2%99.8%0%0%0%9
Compiler

Compiled 144 to 98 computations (31.9% saved)

sample11.1s (82.1%)

Results
2.7s4533×1valid-tuning
5.0s4530×1valid-baseline
1.6s3723×0valid-tuning
1.4s3723×0valid-baseline
143.0ms1exit-baseline
Bogosity

preprocess234.0ms (1.7%)

Algorithm
egg-herbie
Rules
919×fma-define
795×fma-neg
356×sub-neg
248×distribute-rgt-in
214×associate--r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062664
1143636
2327628
31010628
42329628
53366628
64236628
74475628
84514628
94514628
105035628
115035628
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 (neg.f64 x) (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 (neg.f64 y) z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y (neg.f64 z))) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 (neg.f64 a))))
(neg.f64 (+.f64 (neg.f64 x) (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 (neg.f64 y) z)) (tan.f64 a))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 y (neg.f64 z))) (tan.f64 a))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 (neg.f64 a)))))
(+.f64 y (-.f64 (tan.f64 (+.f64 x z)) (tan.f64 a)))
(+.f64 z (-.f64 (tan.f64 (+.f64 y x)) (tan.f64 a)))
(+.f64 a (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 x)))
(+.f64 x (-.f64 (tan.f64 (+.f64 z y)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 a z)) (tan.f64 y)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y a)) (tan.f64 z)))
Outputs
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 (neg.f64 x) (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)) (neg.f64 x))
(-.f64 (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)) x)
(-.f64 (tan.f64 (+.f64 y z)) (+.f64 x (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 (neg.f64 y) z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 z (neg.f64 y))) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (-.f64 z y)) (tan.f64 a)))
(-.f64 (-.f64 x (tan.f64 a)) (tan.f64 (-.f64 y z)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y (neg.f64 z))) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (-.f64 y z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 (neg.f64 a))))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (neg.f64 (tan.f64 a))))
(+.f64 x (+.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 (tan.f64 (+.f64 y z)) (+.f64 x (tan.f64 a)))
(neg.f64 (+.f64 (neg.f64 x) (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a))))
(neg.f64 (+.f64 (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)) (neg.f64 x)))
(-.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 (tan.f64 a) (-.f64 x (tan.f64 (+.f64 y z))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 (neg.f64 y) z)) (tan.f64 a))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 z (neg.f64 y))) (tan.f64 a))))
(-.f64 (neg.f64 x) (-.f64 (tan.f64 (-.f64 z y)) (tan.f64 a)))
(-.f64 (-.f64 (tan.f64 a) (tan.f64 (-.f64 z y))) x)
(+.f64 (tan.f64 a) (-.f64 (tan.f64 (-.f64 y z)) x))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 y (neg.f64 z))) (tan.f64 a))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (-.f64 y z)) (tan.f64 a))))
(-.f64 (neg.f64 x) (-.f64 (tan.f64 (-.f64 y z)) (tan.f64 a)))
(-.f64 (-.f64 (tan.f64 a) (tan.f64 (-.f64 y z))) x)
(+.f64 (tan.f64 (-.f64 z y)) (-.f64 (tan.f64 a) x))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 (neg.f64 a)))))
(neg.f64 (+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (neg.f64 (tan.f64 a)))))
(-.f64 (neg.f64 x) (+.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(-.f64 (neg.f64 (tan.f64 (+.f64 y z))) (+.f64 x (tan.f64 a)))
(-.f64 (tan.f64 (-.f64 (neg.f64 z) y)) (+.f64 x (tan.f64 a)))
(+.f64 y (-.f64 (tan.f64 (+.f64 x z)) (tan.f64 a)))
(+.f64 z (-.f64 (tan.f64 (+.f64 y x)) (tan.f64 a)))
(+.f64 z (-.f64 (tan.f64 (+.f64 x y)) (tan.f64 a)))
(+.f64 (tan.f64 (+.f64 x y)) (-.f64 z (tan.f64 a)))
(+.f64 a (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 x)))
(+.f64 (tan.f64 (+.f64 y z)) (-.f64 a (tan.f64 x)))
(+.f64 x (-.f64 (tan.f64 (+.f64 z y)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
(+.f64 x (-.f64 (tan.f64 (+.f64 a z)) (tan.f64 y)))
(+.f64 x (-.f64 (tan.f64 (+.f64 z a)) (tan.f64 y)))
(+.f64 x (-.f64 (tan.f64 (+.f64 y a)) (tan.f64 z)))
(+.f64 (tan.f64 (+.f64 y a)) (-.f64 x (tan.f64 z)))
Symmetry

(sort y z)

Compiler

Compiled 13 to 9 computations (30.8% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
80.0%
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01739
12139
22639
32839
42939
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
Outputs
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 13 to 9 computations (30.8% saved)

preprocess21.0ms (0.2%)

Remove

(sort y z)

Compiler

Compiled 104 to 72 computations (30.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...