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

Time bar (total: 4.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
1.0MiB live, 1.0MiB 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.4s (34.1%)

Memory
16.9MiB live, 894.9MiB allocated
Samples
768.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 156.0ms
ival-sub: 84.0ms (53.9% of total)
ival-mult: 57.0ms (36.6% of total)
ival-true: 6.0ms (3.9% of total)
exact: 5.0ms (3.2% of total)
ival-assert: 3.0ms (1.9% of total)
Bogosity

explain322.0ms (8%)

Memory
-7.0MiB live, 71.8MiB 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
299.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.8% of total)
ival-mult: 3.0ms (40.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess33.0ms (0.8%)

Memory
-10.4MiB live, 40.9MiB 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.6MiB live, 0.6MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB 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)

simplify10.0ms (0.3%)

Memory
12.9MiB live, 12.9MiB 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

localize38.0ms (0.9%)

Memory
-7.7MiB live, 31.8MiB allocated
Localize:

Found 2 expressions of interest:

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

Compiled 13 to 7 computations (46.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-sub: 24.0ms (93.5% of total)
ival-mult: 2.0ms (7.8% 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.4MiB live, 8.4MiB 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))

simplify322.0ms (8%)

Memory
-7.9MiB live, 148.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)

rewrite150.0ms (3.7%)

Memory
-4.6MiB live, 150.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>

eval48.0ms (1.2%)

Memory
9.1MiB live, 84.3MiB allocated
Compiler

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

prune56.0ms (1.4%)

Memory
-23.4MiB live, 24.0MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 14 to 14 computations (0% saved)

simplify19.0ms (0.5%)

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

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 x)
cost-diff0
(fma.f64 (neg.f64 x) y x)
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
01141
01741
13141
24541
36641
48741
514841
620941
732541
843241
949441
1050241
1150641
1251241
1351641
051641
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
(fma.f64 (neg.f64 x) y x)
(neg.f64 x)
x
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
(fma.f64 (neg.f64 x) y x)
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(neg.f64 x)
x
y

localize91.0ms (2.3%)

Memory
8.2MiB live, 46.7MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (neg.f64 x) y x)
accuracy0
(neg.f64 x)
accuracy0
(neg.f64 y)
accuracy0.0078125
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
accuracy30.417100307193078
#s(approx (- 1 y) (neg.f64 y))
accuracy0.0078125
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
accuracy31.817601264955503
#s(approx (- 1 y) #s(literal 1 binary64))
Samples
83.0ms256×0valid
Compiler

Compiled 34 to 11 computations (67.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 3.0ms (35.1% of total)
ival-neg: 2.0ms (23.4% of total)
ival-sub: 1.0ms (11.7% of total)
ival-add: 1.0ms (11.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.2%)

Memory
-22.5MiB live, 16.4MiB allocated
Counts
7 → 120
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>) () ())
#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<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 x (taylor 0 y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* -1 (* x y))) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<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 (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 x) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<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 (* -1 (* x y)) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ x (* -1 (/ x y))))) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<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 (* -1 y))) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<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 (* -1 y))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 y))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<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 (* -1 (* x (- y 1))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- y 1))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- y 1))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- y 1))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 x) y x) (patch (fma.f64 (neg.f64 x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
3.0ms
y
@0
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y) (+ (* (neg x) y) x) (neg x))
1.0ms
x
@inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y) (+ (* (neg x) y) x) (neg x))
1.0ms
x
@-inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y) (+ (* (neg x) y) x) (neg x))
1.0ms
x
@0
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y) (+ (* (neg x) y) x) (neg x))
1.0ms
y
@inf
((* x (- 1 y)) (- 1 y) (* x (- 1 y)) (- 1 y) (neg y) (+ (* (neg x) y) x) (neg x))

simplify262.0ms (6.5%)

Memory
15.2MiB live, 134.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
029517
185454
2184454
3342454
4949454
52604454
63444454
73953454
84047454
94090454
104118454
114996454
125655454
135924454
145944454
155954454
165966454
175966454
185970454
195974454
205974454
216298454
227385454
08021454
Stop Event
iter limit
node limit
Counts
120 → 117
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)
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x 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))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x 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)
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x 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 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* 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 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
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)
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 (* 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)
(* 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 (* 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)
(* -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)
(* 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 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 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 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 x) y x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 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)
(* -1 (* x (- y 1)))
(fma.f64 (neg.f64 x) y x)
(* -1 (* x (- y 1)))
(fma.f64 (neg.f64 x) y x)
(* -1 (* x (- y 1)))
(fma.f64 (neg.f64 x) y x)
(* -1 (* x (- y 1)))
(fma.f64 (neg.f64 x) y x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)

rewrite113.0ms (2.8%)

Memory
-8.4MiB live, 188.3MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01135
01735
15635
232235
3309730
0970130
Stop Event
iter limit
node limit
iter limit
Counts
7 → 191
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)
(fma.f64 (neg.f64 x) y x)
(neg.f64 x)
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>

eval33.0ms (0.8%)

Memory
2.4MiB live, 84.5MiB allocated
Compiler

Compiled 4 098 to 503 computations (87.7% saved)

prune8.0ms (0.2%)

Memory
-10.8MiB live, 28.1MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New3080308
Fresh000
Picked033
Done000
Total3083311
Accuracy
100.0%
Counts
311 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (neg.f64 x) y x)
52.8%
(*.f64 x #s(approx (- 1 y) (neg.f64 y)))
50.5%
(*.f64 x #s(approx (- 1 y) #s(literal 1 binary64)))
Compiler

Compiled 33 to 26 computations (21.2% saved)

regimes9.0ms (0.2%)

Memory
21.0MiB live, 21.0MiB allocated
Counts
4 → 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))
(fma.f64 (neg.f64 x) y x)
Outputs
(fma.f64 (neg.f64 x) y x)
Calls

4 calls:

2.0ms
x
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
2.0ms
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)

regimes8.0ms (0.2%)

Memory
-15.4MiB live, 23.8MiB 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:

3.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
2.0ms
x
2.0ms
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)

regimes7.0ms (0.2%)

Memory
19.9MiB live, 19.9MiB 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:

2.0ms
y
2.0ms
x
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) y))
1.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
62.1%6x
99.1%3y
81.0%3(*.f64 x (-.f64 #s(literal 1 binary64) y))
99.1%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes6.0ms (0.2%)

Memory
-21.1MiB live, 18.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:

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

Compiled 10 to 13 computations (-30% saved)

bsearch1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000121420336
1359196967.4939013
0.0ms
-14109215.368278045
0.9999999999999875
Compiler

Compiled 8 to 10 computations (-25% saved)

simplify26.0ms (0.6%)

Memory
-4.9MiB live, 77.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01952
13152
23652
33852
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (neg.f64 x) y x)
(*.f64 x (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal -10000000 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
(fma.f64 (neg.f64 x) y x)
(*.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 -10000000 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 -10000000 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)

soundness1.0s (25.7%)

Memory
-6.6MiB live, 313.0MiB allocated
Iterations

Useful iterations: 0 (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
058
078
1258
21458
311498
098947
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 60 to 37 computations (38.3% saved)

preprocess37.0ms (0.9%)

Memory
24.9MiB live, 102.8MiB allocated
Remove

(negabs x)

Compiler

Compiled 120 to 70 computations (41.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...