fabs fraction 2

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB 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 8 to 8 computations (0% saved)

sample764.0ms (18.4%)

Memory
3.9MiB live, 614.8MiB allocated
Samples
544.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 310.0ms
ival-sub: 105.0ms (33.9% of total)
ival-div: 95.0ms (30.7% of total)
ival-fabs: 95.0ms (30.7% of total)
ival-true: 5.0ms (1.6% of total)
exact: 5.0ms (1.6% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain130.0ms (3.1%)

Memory
15.5MiB live, 88.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-a
00-0-#s(literal 2 binary64)
00-0-(fabs.f64 (-.f64 a b))
00-0-(-.f64 a b)
00-0-b
00-0-(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
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
103.0ms512×0valid
Compiler

Compiled 42 to 22 computations (47.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 37.0ms
ival-div: 31.0ms (83% of total)
ival-sub: 3.0ms (8% of total)
ival-fabs: 3.0ms (8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess59.0ms (1.4%)

Memory
-9.4MiB live, 27.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
14430
28530
315430
420930
523630
625330
726330
066
096
1136
2206
3286
4476
5966
61496
71716
81836
91866
01866
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
Outputs
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 (-.f64 b a)))
Symmetry

(sort a b)

Compiler

Compiled 6 to 6 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
Compiler

Compiled 6 to 6 computations (0% saved)

simplify6.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 a b)
cost-diff0
(fabs.f64 (-.f64 a b))
cost-diff384
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
0916
11316
22016
32816
44716
59616
614916
717116
818316
918616
018616
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
(fabs.f64 (-.f64 a b))
(-.f64 a b)
a
b
#s(literal 2 binary64)
Outputs
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 (-.f64 b a)))
(fabs.f64 (-.f64 a b))
(fabs.f64 (-.f64 b a))
(-.f64 a b)
a
b
#s(literal 2 binary64)

localize16.0ms (0.4%)

Memory
23.0MiB live, 23.0MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
accuracy0
(-.f64 a b)
accuracy0
(fabs.f64 (-.f64 a b))
Samples
11.0ms256×0valid
Compiler

Compiled 18 to 8 computations (55.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-div: 2.0ms (40.5% of total)
ival-sub: 1.0ms (20.2% of total)
ival-fabs: 1.0ms (20.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series26.0ms (0.6%)

Memory
-41.2MiB live, 7.7MiB allocated
Counts
3 → 72
Calls
Call 1
Inputs
#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())
#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt a (taylor 0 b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (+ a (* -1 b)) (taylor 0 b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (+ a (* -1 b)) (taylor 0 b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (+ a (* -1 b)) (taylor 0 b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (* -1 b) (taylor inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* b (- (/ a b) 1)) (taylor inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* b (- (/ a b) 1)) (taylor inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* b (- (/ a b) 1)) (taylor inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ a (* -1 b)))) (taylor -inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ a (* -1 b)))) (taylor -inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ a (* -1 b)))) (taylor -inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ a (* -1 b)))) (taylor -inf b) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ a (* -1 b))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ a (* -1 b))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ a (* -1 b))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ a (* -1 b))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (* -1 b) (taylor -inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (+ 1 (* -1 (/ a b))))) (taylor -inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (+ 1 (* -1 (/ a b))))) (taylor -inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (+ 1 (* -1 (/ a b))))) (taylor -inf b) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor 0 a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (* -1 b) (taylor 0 a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (- a b) (taylor 0 a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (- a b) (taylor 0 a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (- a b) (taylor 0 a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- a b))) (taylor inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (- a b)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt a (taylor inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* a (+ 1 (* -1 (/ b a)))) (taylor inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* a (+ 1 (* -1 (/ b a)))) (taylor inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* a (+ 1 (* -1 (/ b a)))) (taylor inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ b (* -1 a))))) (taylor -inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ b (* -1 a))))) (taylor -inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ b (* -1 a))))) (taylor -inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ b (* -1 a))))) (taylor -inf a) (#s(alt (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) (patch (/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ b (* -1 a)))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ b (* -1 a)))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ b (* -1 a)))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ b (* -1 a)))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 a b)) (patch (fabs.f64 (-.f64 a b)) #<representation binary64>) () ())) ())
#s(alt a (taylor -inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (- (/ b a) 1))) (taylor -inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (- (/ b a) 1))) (taylor -inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (- (/ b a) 1))) (taylor -inf a) (#s(alt (-.f64 a b) (patch (-.f64 a b) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
21.0ms
a
@0
((/ (fabs (- a b)) 2) (fabs (- a b)) (- a b))
2.0ms
a
@inf
((/ (fabs (- a b)) 2) (fabs (- a b)) (- a b))
1.0ms
b
@inf
((/ (fabs (- a b)) 2) (fabs (- a b)) (- a b))
0.0ms
a
@-inf
((/ (fabs (- a b)) 2) (fabs (- a b)) (- a b))
0.0ms
b
@-inf
((/ (fabs (- a b)) 2) (fabs (- a b)) (- a b))

simplify263.0ms (6.3%)

Memory
18.1MiB live, 89.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031303
183303
2191303
3550303
41643303
52492303
63376303
74963303
85472303
95848303
106369303
117037303
127792303
08020303
Stop Event
iter limit
node limit
Counts
72 → 69
Calls
Call 1
Inputs
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
a
(+ a (* -1 b))
(+ a (* -1 b))
(+ a (* -1 b))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(* -1 b)
(* b (- (/ a b) 1))
(* b (- (/ a b) 1))
(* b (- (/ a b) 1))
(* 1/2 (fabs (+ a (* -1 b))))
(* 1/2 (fabs (+ a (* -1 b))))
(* 1/2 (fabs (+ a (* -1 b))))
(* 1/2 (fabs (+ a (* -1 b))))
(fabs (+ a (* -1 b)))
(fabs (+ a (* -1 b)))
(fabs (+ a (* -1 b)))
(fabs (+ a (* -1 b)))
(* -1 b)
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(* -1 b)
(- a b)
(- a b)
(- a b)
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(* 1/2 (fabs (- a b)))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
(fabs (- a b))
a
(* a (+ 1 (* -1 (/ b a))))
(* a (+ 1 (* -1 (/ b a))))
(* a (+ 1 (* -1 (/ b a))))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(fabs (neg (+ b (* -1 a))))
(fabs (neg (+ b (* -1 a))))
(fabs (neg (+ b (* -1 a))))
(fabs (neg (+ b (* -1 a))))
a
(* -1 (* a (- (/ b a) 1)))
(* -1 (* a (- (/ b a) 1)))
(* -1 (* a (- (/ b a) 1)))
Outputs
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
a
(+ a (* -1 b))
(-.f64 a b)
(+ a (* -1 b))
(-.f64 a b)
(+ a (* -1 b))
(-.f64 a b)
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(* -1 b)
(neg.f64 b)
(* b (- (/ a b) 1))
(-.f64 a b)
(* b (- (/ a b) 1))
(-.f64 a b)
(* b (- (/ a b) 1))
(-.f64 a b)
(* 1/2 (fabs (+ a (* -1 b))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ a (* -1 b))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ a (* -1 b))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ a (* -1 b))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (+ a (* -1 b)))
(fabs.f64 (-.f64 a b))
(fabs (+ a (* -1 b)))
(fabs.f64 (-.f64 a b))
(fabs (+ a (* -1 b)))
(fabs.f64 (-.f64 a b))
(fabs (+ a (* -1 b)))
(fabs.f64 (-.f64 a b))
(* -1 b)
(neg.f64 b)
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(-.f64 a b)
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(-.f64 a b)
(* -1 (* b (+ 1 (* -1 (/ a b)))))
(-.f64 a b)
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(* -1 b)
(neg.f64 b)
(- a b)
(-.f64 a b)
(- a b)
(-.f64 a b)
(- a b)
(-.f64 a b)
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- a b)))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
(fabs (- a b))
(fabs.f64 (-.f64 a b))
a
(* a (+ 1 (* -1 (/ b a))))
(-.f64 a b)
(* a (+ 1 (* -1 (/ b a))))
(-.f64 a b)
(* a (+ 1 (* -1 (/ b a))))
(-.f64 a b)
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ b (* -1 a)))))
(*.f64 (fabs.f64 (-.f64 a b)) #s(literal 1/2 binary64))
(fabs (neg (+ b (* -1 a))))
(fabs.f64 (-.f64 a b))
(fabs (neg (+ b (* -1 a))))
(fabs.f64 (-.f64 a b))
(fabs (neg (+ b (* -1 a))))
(fabs.f64 (-.f64 a b))
(fabs (neg (+ b (* -1 a))))
(fabs.f64 (-.f64 a b))
a
(* -1 (* a (- (/ b a) 1)))
(-.f64 a b)
(* -1 (* a (- (/ b a) 1)))
(-.f64 a b)
(* -1 (* a (- (/ b a) 1)))
(-.f64 a b)

rewrite821.0ms (19.7%)

Memory
-3.3MiB live, 223.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0913
13813
220413
3179613
0863213
Stop Event
iter limit
node limit
iter limit
Counts
3 → 354
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
(fabs.f64 (-.f64 a b))
(-.f64 a b)
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>
#<batchref>

eval65.0ms (1.6%)

Memory
-8.3MiB live, 150.3MiB allocated
Compiler

Compiled 9 939 to 1 448 computations (85.4% saved)

prune11.0ms (0.3%)

Memory
-12.2MiB live, 29.9MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New4221423
Fresh000
Picked101
Done000
Total4231424
Accuracy
100.0%
Counts
424 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
Compiler

Compiled 6 to 6 computations (0% saved)

simplify6.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 b a)
cost-diff0
(fabs.f64 (-.f64 b a))
cost-diff0
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
0916
11416
22116
32916
44816
59516
614916
717216
818216
018216
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs.f64 (-.f64 b a))
(-.f64 b a)
b
a
#s(literal 1/2 binary64)
Outputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 (-.f64 a b)))
(fabs.f64 (-.f64 b a))
(fabs.f64 (-.f64 a b))
(-.f64 b a)
b
a
#s(literal 1/2 binary64)

localize17.0ms (0.4%)

Memory
-0.9MiB live, 38.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 b a)
accuracy0
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
accuracy0
(fabs.f64 (-.f64 b a))
Samples
13.0ms256×0valid
Compiler

Compiled 18 to 8 computations (55.6% saved)

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

series4.0ms (0.1%)

Memory
10.2MiB live, 10.2MiB allocated
Counts
3 → 72
Calls
Call 1
Inputs
#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())
#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt b (taylor inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt b (taylor -inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt b (taylor 0 a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 (-.f64 b a)) (patch (fabs.f64 (-.f64 b a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt (-.f64 b a) (patch (-.f64 b a) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
b
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
a
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
b
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
b
@0
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))

simplify132.0ms (3.2%)

Memory
-11.5MiB live, 107.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031303
183303
2191303
3548303
41608303
52447303
63328303
74914303
85422303
95798303
106319303
116978303
127739303
08116303
Stop Event
iter limit
node limit
Counts
72 → 69
Calls
Call 1
Inputs
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(- b a)
(- b a)
(- b a)
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
b
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(+ b (* -1 a))
(+ b (* -1 a))
(+ b (* -1 a))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(* -1 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
Outputs
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
b
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)

rewrite490.0ms (11.8%)

Memory
-40.1MiB live, 189.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0913
12913
217413
3164813
0843613
Stop Event
iter limit
node limit
iter limit
Counts
3 → 304
Calls
Call 1
Inputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs.f64 (-.f64 b a))
(-.f64 b a)
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>

eval131.0ms (3.1%)

Memory
28.5MiB live, 104.7MiB allocated
Compiler

Compiled 9 216 to 1 325 computations (85.6% saved)

prune13.0ms (0.3%)

Memory
-15.9MiB live, 27.1MiB allocated
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New3721373
Fresh000
Picked011
Done000
Total3722374
Accuracy
100.0%
Counts
374 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
52.4%
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
Compiler

Compiled 12 to 13 computations (-8.3% saved)

simplify7.0ms (0.2%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 a)
cost-diff0
#s(approx (- b a) (neg.f64 a))
cost-diff0
(fabs.f64 #s(approx (- b a) (neg.f64 a)))
cost-diff0
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
01126
11726
22226
32926
43826
55526
68126
710726
814926
916426
1017226
017226
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
(fabs.f64 #s(approx (- b a) (neg.f64 a)))
#s(approx (- b a) (neg.f64 a))
(neg.f64 a)
a
#s(literal 1/2 binary64)
Outputs
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 #s(approx (- b a) (neg.f64 a))))
(fabs.f64 #s(approx (- b a) (neg.f64 a)))
#s(approx (- b a) (neg.f64 a))
(neg.f64 a)
a
#s(literal 1/2 binary64)

localize19.0ms (0.5%)

Memory
1.0MiB live, 40.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
accuracy0
(neg.f64 a)
accuracy0
(fabs.f64 #s(approx (- b a) (neg.f64 a)))
accuracy30.98229156336083
#s(approx (- b a) (neg.f64 a))
Samples
14.0ms256×0valid
Compiler

Compiled 19 to 9 computations (52.6% saved)

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

series4.0ms (0.1%)

Memory
-29.3MiB live, 9.7MiB allocated
Counts
4 → 84
Calls
Call 1
Inputs
#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())
#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())
#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt b (taylor inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt b (taylor -inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt b (taylor 0 a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) (neg.f64 a))) (patch (fabs.f64 #s(approx (- b a) (neg.f64 a))) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) (neg.f64 a)) (patch #s(approx (- b a) (neg.f64 a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt (neg.f64 a) (patch (neg.f64 a) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a) (neg a))
0.0ms
a
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a) (neg a))
0.0ms
b
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a) (neg a))
0.0ms
b
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a) (neg a))
0.0ms
b
@0
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a) (neg a))

simplify135.0ms (3.3%)

Memory
-5.0MiB live, 114.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031327
183327
2191327
3548327
41608327
52447327
63328327
74914327
85422327
95798327
106319327
116978327
127739327
08116327
Stop Event
iter limit
node limit
Counts
84 → 81
Calls
Call 1
Inputs
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(- b a)
(- b a)
(- b a)
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
b
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(+ b (* -1 a))
(+ b (* -1 a))
(+ b (* -1 a))
(* -1 a)
(* -1 a)
(* -1 a)
(* -1 a)
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* -1 a)
(* -1 a)
(* -1 a)
(* -1 a)
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(* -1 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 a)
(* -1 a)
(* -1 a)
(* -1 a)
Outputs
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
b
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)
(* -1 a)
(neg.f64 a)

rewrite157.0ms (3.8%)

Memory
28.4MiB live, 141.0MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0824
01124
13224
216324
3157420
0972820
Stop Event
iter limit
node limit
iter limit
Counts
4 → 52
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
(fabs.f64 #s(approx (- b a) (neg.f64 a)))
#s(approx (- b a) (neg.f64 a))
(neg.f64 a)
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>

eval19.0ms (0.5%)

Memory
-0.1MiB live, 33.2MiB allocated
Compiler

Compiled 1 045 to 225 computations (78.5% saved)

prune6.0ms (0.2%)

Memory
17.5MiB live, 17.5MiB allocated
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1321133
Fresh000
Picked101
Done011
Total1332135
Accuracy
100.0%
Counts
135 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
52.4%
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
Compiler

Compiled 11 to 12 computations (-9.1% saved)

simplify8.0ms (0.2%)

Memory
-28.5MiB live, 9.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- b a) a)
cost-diff0
(fabs.f64 #s(approx (- b a) a))
cost-diff0
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
0921
11221
21721
32321
43221
54721
68021
710521
814721
916221
1017021
017021
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
(fabs.f64 #s(approx (- b a) a))
#s(approx (- b a) a)
a
#s(literal 1/2 binary64)
Outputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 #s(approx (- b a) a)))
(fabs.f64 #s(approx (- b a) a))
#s(approx (- b a) a)
a
#s(literal 1/2 binary64)

localize16.0ms (0.4%)

Memory
26.9MiB live, 26.9MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
accuracy0
(fabs.f64 #s(approx (- b a) a))
accuracy62.44996800549719
#s(approx (- b a) a)
Samples
11.0ms256×0valid
Compiler

Compiled 17 to 8 computations (52.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sub: 2.0ms (40.4% of total)
ival-mult: 2.0ms (40.4% of total)
ival-fabs: 1.0ms (20.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
6.9MiB live, 6.9MiB allocated
Counts
3 → 72
Calls
Call 1
Inputs
#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())
#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor 0 b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (- b a) (taylor 0 b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt b (taylor inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* b (+ 1 (* -1 (/ a b)))) (taylor inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (neg (+ a (* -1 b))))) (taylor -inf b) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (neg (+ a (* -1 b)))) (taylor -inf b) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt b (taylor -inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* b (- (/ a b) 1))) (taylor -inf b) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor 0 a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor 0 a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt b (taylor 0 a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (+ b (* -1 a)) (taylor 0 a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (- b a))) (taylor inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (- b a)) (taylor inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* a (- (/ b a) 1)) (taylor inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (fabs (+ b (* -1 a)))) (taylor -inf a) (#s(alt (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) (patch (*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (fabs (+ b (* -1 a))) (taylor -inf a) (#s(alt (fabs.f64 #s(approx (- b a) a)) (patch (fabs.f64 #s(approx (- b a) a)) #<representation binary64>) () ())) ())
#s(alt (* -1 a) (taylor -inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
#s(alt (* -1 (* a (+ 1 (* -1 (/ b a))))) (taylor -inf a) (#s(alt #s(approx (- b a) a) (patch #s(approx (- b a) a) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
0.0ms
b
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
b
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
a
@inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
b
@0
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))
0.0ms
a
@-inf
((* (fabs (- b a)) 1/2) (fabs (- b a)) (- b a))

simplify174.0ms (4.2%)

Memory
-40.2MiB live, 95.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031303
183303
2191303
3548303
41608303
52447303
63328303
74914303
85422303
95798303
106319303
116978303
127739303
08116303
Stop Event
iter limit
node limit
Counts
72 → 69
Calls
Call 1
Inputs
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(- b a)
(- b a)
(- b a)
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* b (+ 1 (* -1 (/ a b))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
(fabs (neg (+ a (* -1 b))))
b
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* -1 (* b (- (/ a b) 1)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
b
(+ b (* -1 a))
(+ b (* -1 a))
(+ b (* -1 a))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(* 1/2 (fabs (- b a)))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(fabs (- b a))
(* -1 a)
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* a (- (/ b a) 1))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(* 1/2 (fabs (+ b (* -1 a))))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(fabs (+ b (* -1 a)))
(* -1 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(* -1 (* a (+ 1 (* -1 (/ b a)))))
Outputs
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(- b a)
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* b (+ 1 (* -1 (/ a b))))
(-.f64 b a)
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (neg (+ a (* -1 b)))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
(fabs (neg (+ a (* -1 b))))
(fabs.f64 (-.f64 b a))
b
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* -1 (* b (- (/ a b) 1)))
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
b
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(+ b (* -1 a))
(-.f64 b a)
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (- b a)))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(fabs (- b a))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* a (- (/ b a) 1))
(-.f64 b a)
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(* 1/2 (fabs (+ b (* -1 a))))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(fabs (+ b (* -1 a)))
(fabs.f64 (-.f64 b a))
(* -1 a)
(neg.f64 a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)
(* -1 (* a (+ 1 (* -1 (/ b a)))))
(-.f64 b a)

rewrite112.0ms (2.7%)

Memory
29.4MiB live, 147.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
0919
12719
214819
3137519
0969419
Stop Event
iter limit
node limit
iter limit
Counts
3 → 30
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
(fabs.f64 #s(approx (- b a) a))
#s(approx (- b a) a)
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>

eval12.0ms (0.3%)

Memory
-9.6MiB live, 28.1MiB allocated
Compiler

Compiled 770 to 121 computations (84.3% saved)

prune7.0ms (0.2%)

Memory
-18.5MiB live, 19.1MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New99099
Fresh000
Picked011
Done011
Total992101
Accuracy
100.0%
Counts
101 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
52.4%
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
Compiler

Compiled 34 to 29 computations (14.7% saved)

regimes11.0ms (0.3%)

Memory
27.7MiB live, 27.7MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
Outputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
Calls

5 calls:

2.0ms
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
2.0ms
b
2.0ms
(fabs.f64 (-.f64 a b))
2.0ms
(-.f64 a b)
2.0ms
a
Results
AccuracySegmentsBranch
100.0%1a
100.0%1b
100.0%1(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
100.0%1(fabs.f64 (-.f64 a b))
100.0%1(-.f64 a b)
Compiler

Compiled 15 to 17 computations (-13.3% saved)

regimes10.0ms (0.2%)

Memory
-15.4MiB live, 22.4MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 #s(approx (- b a) (neg.f64 a))) #s(literal 1/2 binary64))
Outputs
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
Calls

5 calls:

3.0ms
(fabs.f64 (-.f64 a b))
2.0ms
(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
2.0ms
(-.f64 a b)
1.0ms
a
1.0ms
b
Results
AccuracySegmentsBranch
52.4%1a
52.4%1b
52.4%1(/.f64 (fabs.f64 (-.f64 a b)) #s(literal 2 binary64))
52.4%1(fabs.f64 (-.f64 a b))
52.4%1(-.f64 a b)
Compiler

Compiled 15 to 17 computations (-13.3% saved)

simplify26.0ms (0.6%)

Memory
12.3MiB live, 55.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
11614
22314
32814
43114
53214
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))
Outputs
(*.f64 (fabs.f64 (-.f64 b a)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (fabs.f64 (-.f64 a b)))
(*.f64 (fabs.f64 #s(approx (- b a) a)) #s(literal 1/2 binary64))

soundness456.0ms (11%)

Memory
-3.4MiB live, 310.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0913
13813
220413
3179613
0863213
0824
01124
13224
216324
3157420
0972820
031303
183303
2191303
3548303
41608303
52447303
63328303
74914303
85422303
95798303
106319303
116978303
127739303
08116303
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 46 to 42 computations (8.7% saved)

preprocess24.0ms (0.6%)

Memory
3.3MiB live, 42.2MiB allocated
Remove

(sort a b)

Compiler

Compiled 58 to 54 computations (6.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...