Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, H

Time bar (total: 3.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 7 to 7 computations (0% saved)

sample1.0s (27.9%)

Memory
-12.4MiB live, 660.3MiB allocated
Samples
704.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 411.0ms
ival-sub: 273.0ms (66.5% of total)
ival-mult: 123.0ms (29.9% of total)
ival-true: 7.0ms (1.7% of total)
exact: 5.0ms (1.2% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain102.0ms (2.8%)

Memory
4.6MiB live, 57.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 #s(literal 1 binary64) y)
00-0-(*.f64 x (-.f64 #s(literal 1 binary64) y))
00-0-y
00-0-#s(literal 1 binary64)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
79.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-sub: 3.0ms (40.5% of total)
ival-mult: 3.0ms (40.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess81.0ms (2.2%)

Memory
2.6MiB live, 40.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
14026
210625
332325
451725
561225
055
075
1125
2225
3385
4835
51145
61545
72195
82655
93015
103075
03075
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
Symmetry

(negabs x)

Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify61.0ms (1.6%)

Memory
-15.2MiB live, 22.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0711
11211
22211
33811
48311
511411
615411
721911
826511
930111
1030711
030711
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
x
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
x
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y

localize13.0ms (0.4%)

Memory
17.2MiB live, 17.2MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Samples
9.0ms256×0valid
Compiler

Compiled 13 to 7 computations (46.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 2.0ms (56.9% of total)
ival-sub: 1.0ms (28.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Counts
2 → 36
Calls
Call 1
Inputs
#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor -inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 x (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((* x (- 1 y)) (- 1 y))
0.0ms
y
@inf
((* x (- 1 y)) (- 1 y))
0.0ms
y
@-inf
((* x (- 1 y)) (- 1 y))
0.0ms
x
@-inf
((* x (- 1 y)) (- 1 y))
0.0ms
x
@0
((* x (- 1 y)) (- 1 y))

simplify271.0ms (7.4%)

Memory
-13.5MiB live, 68.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025167
169146
2160146
3294146
4858146
52435146
63645146
74189146
84362146
94399146
104431146
115099146
125547146
135648146
145668146
155678146
165684146
175684146
185688146
195692146
206668146
08367146
Stop Event
iter limit
node limit
Counts
36 → 35
Calls
Call 1
Inputs
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
Outputs
x
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)

rewrite162.0ms (4.4%)

Memory
-11.3MiB live, 101.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
078
1258
21458
311498
098947
Stop Event
iter limit
node limit
iter limit
Counts
2 → 353
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval107.0ms (2.9%)

Memory
32.4MiB live, 111.0MiB allocated
Compiler

Compiled 8 399 to 1 080 computations (87.1% saved)

prune9.0ms (0.2%)

Memory
-10.9MiB live, 26.7MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3862388
Fresh000
Picked011
Done000
Total3863389
Accuracy
100.0%
Counts
389 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (-.f64 #s(literal 1 binary64) y))
51.3%
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
51.6%
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify5.0ms (0.1%)

Memory
7.6MiB live, 7.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (- 1 y) (neg.f64 y))
cost-diff0
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
cost-diff0
#s(approx (- 1 y) #s(literal 1 binary64))
cost-diff0
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
01232
12032
22432
32932
43732
54732
66232
76532
06532
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
x
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
x
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
Outputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
x
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
x
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y

localize19.0ms (0.5%)

Memory
2.9MiB live, 40.8MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
accuracy0
(neg.f64 y)
accuracy31.48983796133468
#s(approx (- 1 y) (neg.f64 y))
accuracy0
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
accuracy31.064444015050903
#s(approx (- 1 y) #s(literal 1 binary64))
Samples
13.0ms256×0valid
Compiler

Compiled 24 to 8 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 2.0ms (42.4% of total)
ival-sub: 1.0ms (21.2% of total)
ival-neg: 1.0ms (21.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
8.3MiB live, 8.3MiB allocated
Counts
5 → 84
Calls
Call 1
Inputs
#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())
#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())
#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) #s(literal 1 binary64)) (patch #s(approx (- 1 y) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x y)) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor 0 x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (patch (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 y)) (taylor -inf x) (#s(alt (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (patch (*.f64 x #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y))
0.0ms
x
@-inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y))
0.0ms
y
@-inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y))
0.0ms
x
@inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y))
0.0ms
x
@0
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y))

simplify239.0ms (6.5%)

Memory
-8.0MiB live, 151.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025358
169316
2160316
3294316
4858316
52435316
63645316
74189316
84362316
94399316
104431316
115099316
125547316
135648316
145668316
155678316
165684316
175684316
185688316
195692316
206668316
08367316
Stop Event
iter limit
node limit
Counts
84 → 82
Calls
Call 1
Inputs
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
Outputs
x
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
x
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
(+ x (* -1 (* x y)))
(fma.f64 (neg.f64 x) y x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* y (+ (* -1 x) (/ x y)))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(fma.f64 (neg.f64 x) y x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)
(* x (- 1 y))
(fma.f64 (neg.f64 x) y x)

rewrite123.0ms (3.3%)

Memory
-13.9MiB live, 232.4MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0928
01228
13328
214928
3117825
0957525
Stop Event
iter limit
node limit
iter limit
Counts
5 → 137
Calls
Call 1
Inputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
#s(approx (- 1 y) #s(literal 1 binary64))
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval21.0ms (0.6%)

Memory
20.9MiB live, 59.7MiB allocated
Compiler

Compiled 2 207 to 475 computations (78.5% saved)

prune87.0ms (2.4%)

Memory
-19.2MiB live, 19.0MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2190219
Fresh000
Picked022
Done011
Total2193222
Accuracy
100.0%
Counts
222 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (-.f64 #s(literal 1 binary64) y))
51.3%
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
51.6%
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Compiler

Compiled 28 to 25 computations (10.7% saved)

regimes8.0ms (0.2%)

Memory
18.6MiB live, 18.6MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
Calls

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
2.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 x (-.f64 #s(literal 1 binary64) y))
100.0%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes13.0ms (0.4%)

Memory
-28.4MiB live, 17.0MiB allocated
Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
Outputs
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
Calls

4 calls:

8.0ms
(-.f64 #s(literal 1 binary64) y)
2.0ms
x
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
2.0ms
y
Results
AccuracySegmentsBranch
61.2%3x
98.9%3y
82.9%3(*.f64 x (-.f64 #s(literal 1 binary64) y))
98.9%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes6.0ms (0.2%)

Memory
15.1MiB live, 15.1MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Outputs
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Calls

4 calls:

1.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
1.0ms
y
1.0ms
x
1.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
51.6%1x
51.6%1(*.f64 x (-.f64 #s(literal 1 binary64) y))
51.6%1y
51.6%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
478777.70834929217
0.0ms
-29957028.924406834
0.9987710486821678
Compiler

Compiled 8 to 10 computations (-25% saved)

simplify283.0ms (7.7%)

Memory
-21.8MiB live, 57.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01747
12747
23047
33147
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal -20000000 binary64)) (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (*.f64 x #s(approx (- 1 y) (neg.f64 y)))))
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal -20000000 binary64)) (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (*.f64 x #s(approx (- 1 y) #s(literal 1 binary64))) (*.f64 x #s(approx (- 1 y) (neg.f64 y)))))
(if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal -20000000 binary64)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x) (if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)))
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)

soundness942.0ms (25.6%)

Memory
10.6MiB live, 134.7MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025167
169146
2160146
3294146
4858146
52435146
63645146
74189146
84362146
94399146
104431146
115099146
125547146
135648146
145668146
155678146
165684146
175684146
185688146
195692146
206668146
08367146
Stop Event
done
iter limit
node limit
Compiler

Compiled 45 to 28 computations (37.8% saved)

preprocess96.0ms (2.6%)

Memory
-9.7MiB live, 68.4MiB allocated
Remove

(negabs x)

Compiler

Compiled 110 to 72 computations (34.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...