exp neg sub

Time bar (total: 3.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample836.0ms (25.2%)

Memory
-3.6MiB live, 910.1MiB allocated
Samples
635.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 452.0ms
ival-mult: 208.0ms (46% of total)
ival-exp: 142.0ms (31.4% of total)
ival-neg: 46.0ms (10.2% of total)
ival-sub: 43.0ms (9.5% of total)
ival-true: 5.0ms (1.1% of total)
exact: 5.0ms (1.1% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain98.0ms (3%)

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

Compiled 80 to 28 computations (65% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 17.0ms (64.5% of total)
ival-exp: 4.0ms (15.2% of total)
ival-sub: 2.0ms (7.6% of total)
ival-neg: 2.0ms (7.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess242.0ms (7.3%)

Memory
-1.0MiB live, 219.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
13013
27413
315613
428213
541013
663513
796813
8162513
9301313
10613513
067
0107
1226
2516
31066
41926
52936
64686
77766
812776
921096
1042916
1173866
080735
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Outputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
Symmetry

(abs x)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 6 computations (14.3% saved)

simplify188.0ms (5.7%)

Memory
34.9MiB live, 179.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
12221
25121
310621
419221
529321
646821
777621
8127721
9210921
10429121
11738621
0807319
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x
Outputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x

localize51.0ms (1.5%)

Memory
-39.3MiB live, 81.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) (*.f64 x x))
accuracy0
(*.f64 x x)
accuracy0
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
accuracy0.00390625
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Samples
45.0ms256×0valid
Compiler

Compiled 48 to 14 computations (70.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-exp: 2.0ms (30.5% of total)
ival-mult: 2.0ms (30.5% of total)
ival-sub: 1.0ms (15.2% of total)
ival-neg: 1.0ms (15.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
11.6MiB live, 11.6MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify161.0ms (4.8%)

Memory
13.1MiB live, 221.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030254
181241
2247237
3605234
41328234
52025234
63122234
75644234
08367211
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
1
(+ 1 (* -1 (pow x 2)))
(+ 1 (* -1 (pow x 2)))
(+ 1 (* -1 (pow x 2)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(* -1 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(* -1 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
#s(literal 1 binary64)
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 (neg.f64 x) x)
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 (neg.f64 x) x)
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)

rewrite195.0ms (5.9%)

Memory
-8.3MiB live, 297.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
13719
222719
3192319
0930416
Stop Event
iter limit
node limit
iter limit
Counts
4 → 500
Calls
Call 1
Inputs
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval76.0ms (2.3%)

Memory
25.1MiB live, 174.2MiB allocated
Compiler

Compiled 11 117 to 1 807 computations (83.7% saved)

prune41.0ms (1.2%)

Memory
-9.9MiB live, 42.1MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New5444548
Fresh000
Picked101
Done000
Total5454549
Accuracy
100.0%
Counts
549 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
56.0%
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
54.6%
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
79.7%
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
Compiler

Compiled 40 to 32 computations (20% saved)

simplify128.0ms (3.8%)

Memory
3.9MiB live, 189.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01885
02685
14575
28875
316875
435973
579673
6188873
7288073
8534773
0822073
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(fma.f64 x x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(exp.f64 #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
x
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
Outputs
#s(approx (exp (neg (- 1 (* x x)))) (/.f64 (fma.f64 x x #s(literal 1 binary64)) (E.f64)))
(/.f64 (fma.f64 x x #s(literal 1 binary64)) (E.f64))
(fma.f64 x x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(exp.f64 #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
x
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)

localize123.0ms (3.7%)

Memory
32.0MiB live, 101.9MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0.00390625
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
accuracy0
(*.f64 x x)
accuracy0.00390625
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
accuracy33.63056409378863
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
accuracy0.00390625
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
accuracy29.749524180357643
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
accuracy0
(fma.f64 x x #s(literal 1 binary64))
accuracy0
(exp.f64 #s(literal -1 binary64))
accuracy0.07421875
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
accuracy13.007958484127933
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
Samples
113.0ms256×0valid
Compiler

Compiled 156 to 33 computations (78.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 101.0ms
ival-mult: 89.0ms (88.1% of total)
ival-exp: 7.0ms (6.9% of total)
ival-add: 2.0ms (2% of total)
ival-sub: 1.0ms (1% of total)
ival-neg: 1.0ms (1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series19.0ms (0.6%)

Memory
-20.7MiB live, 19.2MiB allocated
Counts
11 → 120
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
11.0ms
x
@inf
((* (+ (* x x) 1) (exp -1)) (exp (neg (- 1 (* x x)))) (+ (* x x) 1) (exp -1) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (* x x) (exp (+ (* x x) -1)) (+ (* x x) -1))
2.0ms
x
@-inf
((* (+ (* x x) 1) (exp -1)) (exp (neg (- 1 (* x x)))) (+ (* x x) 1) (exp -1) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (* x x) (exp (+ (* x x) -1)) (+ (* x x) -1))
1.0ms
x
@0
((* (+ (* x x) 1) (exp -1)) (exp (neg (- 1 (* x x)))) (+ (* x x) 1) (exp -1) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (* x x) (exp (+ (* x x) -1)) (+ (* x x) -1))

simplify171.0ms (5.2%)

Memory
25.1MiB live, 293.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032742
193726
2265710
3806698
41367698
52796698
64859698
75784698
87996698
08022597
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (exp -1)))
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
1
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(* (pow x 2) (exp -1))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (exp -1))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(* (pow x 2) (+ (exp -1) (/ (exp -1) (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
Outputs
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
#s(literal 1 binary64)
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(exp.f64 #s(literal -1 binary64))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 (*.f64 (exp.f64 #s(literal -1 binary64)) x) x)
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 (*.f64 (exp.f64 #s(literal -1 binary64)) x) x)
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))

rewrite220.0ms (6.6%)

Memory
-63.2MiB live, 207.6MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01878
02678
17768
245368
3481768
0907268
Stop Event
iter limit
node limit
iter limit
Counts
11 → 969
Calls
Call 1
Inputs
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
(fma.f64 x x #s(literal 1 binary64))
(exp.f64 #s(literal -1 binary64))
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval186.0ms (5.6%)

Memory
17.8MiB live, 273.3MiB allocated
Compiler

Compiled 25 934 to 2 925 computations (88.7% saved)

prune25.0ms (0.8%)

Memory
-10.9MiB live, 76.1MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1 08901 089
Fresh000
Picked044
Done000
Total1 08941 093
Accuracy
100.0%
Counts
1 093 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
56.0%
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
54.6%
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
79.7%
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
Compiler

Compiled 87 to 54 computations (37.9% saved)

regimes31.0ms (0.9%)

Memory
-19.3MiB live, 19.1MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
#s(approx (exp (neg (- 1 (* x x)))) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64))))
Outputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
Calls

5 calls:

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

Compiled 22 to 18 computations (18.2% saved)

regimes7.0ms (0.2%)

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

5 calls:

2.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(-.f64 #s(literal 1 binary64) (*.f64 x x))
1.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
1.0ms
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Results
AccuracySegmentsBranch
99.6%2x
99.6%2(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
99.6%2(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
99.6%2(-.f64 #s(literal 1 binary64) (*.f64 x x))
99.6%2(*.f64 x x)
Compiler

Compiled 22 to 18 computations (18.2% saved)

regimes6.0ms (0.2%)

Memory
12.6MiB live, 12.6MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

5 calls:

1.0ms
x
1.0ms
(-.f64 #s(literal 1 binary64) (*.f64 x x))
1.0ms
(*.f64 x x)
1.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
1.0ms
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Results
AccuracySegmentsBranch
54.6%1x
54.6%1(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
54.6%1(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
54.6%1(-.f64 #s(literal 1 binary64) (*.f64 x x))
54.6%1(*.f64 x x)
Compiler

Compiled 22 to 18 computations (18.2% saved)

bsearch33.0ms (1%)

Memory
-14.1MiB live, 24.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
32.0ms
2.9650992063286375e-9
49729.37221969363
Samples
26.0ms160×0valid
Compiler

Compiled 190 to 180 computations (5.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-exp: 21.0ms (91% of total)
ival-sub: 1.0ms (4.3% of total)
ival-neg: 1.0ms (4.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify28.0ms (0.8%)

Memory
-11.9MiB live, 41.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
11940
Stop Event
saturated
Calls
Call 1
Inputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(if (<=.f64 (*.f64 x x) #s(literal 4278419646001971/4503599627370496 binary64)) (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))))
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Outputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(if (<=.f64 (*.f64 x x) #s(literal 4278419646001971/4503599627370496 binary64)) (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))))
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))

soundness407.0ms (12.2%)

Memory
4.9MiB live, 274.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030254
181241
2247237
3605234
41328234
52025234
63122234
75644234
08367211
0621
01021
13719
222719
3192319
0930416
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 60 to 34 computations (43.3% saved)

preprocess48.0ms (1.5%)

Memory
16.8MiB live, 90.0MiB allocated
Remove

(abs x)

Compiler

Compiled 104 to 52 computations (50% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...