Hyperbolic tangent

Time bar (total: 10.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 15 to 9 computations (40% saved)

sample4.2s (39.7%)

Memory
-64.9MiB live, 4 771.4MiB allocated
Samples
1.5s2 893×2valid
1.2s4 822×1valid
690.0ms7 805×0exit
37.0ms541×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.8s
ival-exp: 1.9s (66.1% of total)
ival-div: 255.0ms (9% of total)
ival-sub: 242.0ms (8.6% of total)
adjust: 198.0ms (7% of total)
ival-add: 168.0ms (6% of total)
ival-neg: 77.0ms (2.7% of total)
ival-true: 12.0ms (0.4% of total)
ival-assert: 7.0ms (0.2% of total)
Bogosity

explain261.0ms (2.5%)

Memory
-16.0MiB live, 345.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2460-0-(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
70-0-(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
00-0-(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
00-0-(exp.f64 x)
03(-195.96105611459734)0-(exp.f64 (neg.f64 x))
00-0-(neg.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))cancellation2460
/.f64(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))o/o70
(exp.f64 x)overflow1
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))overflow7
(exp.f64 (neg.f64 x))overflow6
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))overflow7
(exp.f64 x)overflow1
(exp.f64 (neg.f64 x))overflow6
exp.f64(exp.f64 (neg.f64 x))sensitivity30
Confusion
Predicted +Predicted -
+2530
-30
Precision
0.98828125
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25300
-300
Precision?
0.98828125
Recall?
1.0
Freqs
test
numberfreq
1256
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
83.0ms178×2valid
57.0ms290×1valid
20.0ms44×0valid
Compiler

Compiled 116 to 32 computations (72.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 136.0ms
ival-exp: 72.0ms (52.9% of total)
adjust: 23.0ms (16.9% of total)
ival-neg: 20.0ms (14.7% of total)
ival-sub: 8.0ms (5.9% of total)
ival-div: 7.0ms (5.1% of total)
ival-add: 6.0ms (4.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess90.0ms (0.8%)

Memory
-8.1MiB live, 116.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
13227
28026
319926
446826
5113026
6154726
7158526
8160426
9162326
10165726
11166926
0713
01313
12513
24213
36713
412213
527613
646213
768213
890513
9105813
10118613
11123313
0123313
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
Symmetry

(negabs x)

Compiler

Compiled 13 to 7 computations (46.2% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.5MiB live, 1.4MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
9.8%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 13 to 7 computations (46.2% saved)

simplify35.0ms (0.3%)

Memory
-12.7MiB live, 25.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 (neg.f64 x))
cost-diff0
(exp.f64 x)
cost-diff0
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
cost-diff0
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0733
01333
12533
24233
36733
412233
527633
646233
768233
890533
9105833
10118633
11123333
0123333
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
x
(exp.f64 (neg.f64 x))
(neg.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
x
(exp.f64 (neg.f64 x))
(neg.f64 x)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))

localize91.0ms (0.9%)

Memory
-17.3MiB live, 183.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(exp.f64 x)
accuracy0.0078125
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
accuracy1.6992380073557762
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
accuracy55.96696488045589
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Samples
44.0ms89×2valid
32.0ms145×1valid
4.0ms22×0valid
Compiler

Compiled 68 to 16 computations (76.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 60.0ms
ival-exp: 44.0ms (73.9% of total)
adjust: 5.0ms (8.4% of total)
ival-div: 4.0ms (6.7% of total)
ival-add: 3.0ms (5% of total)
ival-sub: 3.0ms (5% of total)
ival-neg: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series4.0ms (0%)

Memory
7.2MiB live, 7.2MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (exp.f64 (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (- (exp x) (exp (neg x))) (exp x) (exp (neg x)) (+ (exp x) (exp (neg x))))
1.0ms
x
@inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (- (exp x) (exp (neg x))) (exp x) (exp (neg x)) (+ (exp x) (exp (neg x))))
1.0ms
x
@-inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (- (exp x) (exp (neg x))) (exp x) (exp (neg x)) (+ (exp x) (exp (neg x))))

simplify295.0ms (2.8%)

Memory
29.1MiB live, 139.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
090425
1259424
2604414
31672414
42645414
54176414
64889414
76516414
08145386
Stop Event
iter limit
node limit
Counts
60 → 59
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* 2 x)
(* x (+ 2 (* 1/3 (pow x 2))))
(* x (+ 2 (* (pow x 2) (+ 1/3 (* 1/60 (pow x 2))))))
(* x (+ 2 (* (pow x 2) (+ 1/3 (* (pow x 2) (+ 1/60 (* 1/2520 (pow x 2))))))))
1
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1
(+ 1 (* -1 x))
(+ 1 (* x (- (* 1/2 x) 1)))
(+ 1 (* x (- (* x (+ 1/2 (* -1/6 x))) 1)))
2
(+ 2 (pow x 2))
(+ 2 (* (pow x 2) (+ 1 (* 1/12 (pow x 2)))))
(+ 2 (* (pow x 2) (+ 1 (* (pow x 2) (+ 1/12 (* 1/360 (pow x 2)))))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(- (exp x) (exp (neg x)))
(- (exp x) (exp (neg x)))
(- (exp x) (exp (neg x)))
(- (exp x) (exp (neg x)))
(exp x)
(exp x)
(exp x)
(exp x)
(exp (neg x))
(exp (neg x))
(exp (neg x))
(exp (neg x))
(+ (exp x) (exp (neg x)))
(+ (exp x) (exp (neg x)))
(+ (exp x) (exp (neg x)))
(+ (exp x) (exp (neg x)))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(- (exp x) (exp (* -1 x)))
(- (exp x) (exp (* -1 x)))
(- (exp x) (exp (* -1 x)))
(- (exp x) (exp (* -1 x)))
(exp x)
(exp x)
(exp x)
(exp x)
(exp (* -1 x))
(exp (* -1 x))
(exp (* -1 x))
(exp (* -1 x))
(+ (exp x) (exp (* -1 x)))
(+ (exp x) (exp (* -1 x)))
(+ (exp x) (exp (* -1 x)))
(+ (exp x) (exp (* -1 x)))
Outputs
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 x x) #s(literal 2 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/60 binary64) (*.f64 x x) #s(literal 1/3 binary64)) (*.f64 x x) #s(literal 2 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2520 binary64) (*.f64 x x) #s(literal 1/60 binary64)) (*.f64 x x) #s(literal 1/3 binary64)) (*.f64 x x) #s(literal 2 binary64)) x)
#s(literal 1 binary64)
(-.f64 x #s(literal -1 binary64))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x #s(literal 1 binary64))
#s(literal 1 binary64)
(-.f64 #s(literal 1 binary64) x)
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal -1 binary64)) x #s(literal 1 binary64))
#s(literal 2 binary64)
(fma.f64 x x #s(literal 2 binary64))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/12 binary64) x) x #s(literal 2 binary64))
(fma.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/12 binary64) x) x #s(literal 2 binary64)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
(exp.f64 x)
(exp.f64 x)
(exp.f64 x)
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
(exp.f64 x)
(exp.f64 x)
(exp.f64 x)
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(exp.f64 (neg.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))

rewrite211.0ms (2%)

Memory
-1.1MiB live, 125.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0730
01315
15515
242415
3708015
0806215
Stop Event
iter limit
node limit
iter limit
Counts
5 → 644
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
(exp.f64 (neg.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval183.0ms (1.7%)

Memory
-7.8MiB live, 147.2MiB allocated
Compiler

Compiled 17 650 to 1 771 computations (90% saved)

prune42.0ms (0.4%)

Memory
-6.4MiB live, 31.6MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New7443747
Fresh000
Picked101
Done000
Total7453748
Accuracy
100.0%
Counts
748 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tanh.f64 x)
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
Compiler

Compiled 47 to 29 computations (38.3% saved)

simplify236.0ms (2.2%)

Memory
19.6MiB live, 142.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(tanh.f64 x)
cost-diff0
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
cost-diff0
(pow.f64 x #s(literal 3 binary64))
cost-diff0
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
cost-diff0
(pow.f64 x #s(literal 3 binary64))
cost-diff0
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01887
02765
16665
214765
325365
434865
555765
694865
7167765
8391865
9793465
0831065
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
#s(literal 2/15 binary64)
(*.f64 x x)
#s(literal -1/3 binary64)
(tanh.f64 x)
x
Outputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
#s(literal 2/15 binary64)
(*.f64 x x)
#s(literal -1/3 binary64)
(tanh.f64 x)
x

localize261.0ms (2.5%)

Memory
-12.9MiB live, 184.4MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.015625
(tanh.f64 x)
accuracy0
(*.f64 x x)
accuracy0.01171875
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
accuracy0.01953125
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
accuracy0
(pow.f64 x #s(literal 3 binary64))
accuracy0.01953125
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
accuracy2.5165303332169087
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
Samples
172.0ms145×1valid
53.0ms89×2valid
21.0ms22×0valid
Compiler

Compiled 161 to 39 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 227.0ms
const: 112.0ms (49.2% of total)
ival-exp: 36.0ms (15.8% of total)
adjust: 34.0ms (14.9% of total)
ival-add: 19.0ms (8.4% of total)
ival-mult: 14.0ms (6.2% of total)
ival-div: 4.0ms (1.8% of total)
ival-sub: 3.0ms (1.3% of total)
ival-pow: 3.0ms (1.3% of total)
ival-tanh: 1.0ms (0.4% of total)
ival-neg: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.1%)

Memory
19.4MiB live, 19.4MiB allocated
Counts
8 → 96
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (tanh.f64 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 #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (tanh.f64 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 #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (tanh.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (tanh.f64 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
3.0ms
x
@-inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) -1/3) x) (pow x 3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) (+ (* 2/15 (* x x)) -1/3)) x) (+ (* 2/15 (* x x)) -1/3) (tanh x) (* x x))
3.0ms
x
@inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) -1/3) x) (pow x 3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) (+ (* 2/15 (* x x)) -1/3)) x) (+ (* 2/15 (* x x)) -1/3) (tanh x) (* x x))
2.0ms
x
@0
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) -1/3) x) (pow x 3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (pow x 3) (+ (* 2/15 (* x x)) -1/3)) x) (+ (* 2/15 (* x x)) -1/3) (tanh x) (* x x))

simplify279.0ms (2.6%)

Memory
-6.3MiB live, 113.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067828
1172786
2413786
31218786
43059786
55748786
08248745
Stop Event
iter limit
node limit
Counts
96 → 91
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
-1/3
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* -1/3 (pow x 3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 5))
(* (pow x 5) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* -1/3 (pow x 3))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 5))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(/ (- (exp x) (/ 1 (exp x))) (+ (exp x) (/ 1 (exp x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
#s(literal -1/3 binary64)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -2/15 binary64)) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -2/15 binary64)) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -2/15 binary64)) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -2/15 binary64)) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)

rewrite439.0ms (4.2%)

Memory
-10.5MiB live, 188.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01876
02754
113554
2100954
0855854
Stop Event
iter limit
node limit
iter limit
Counts
8 → 389
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(tanh.f64 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>

eval85.0ms (0.8%)

Memory
-7.7MiB live, 112.9MiB allocated
Compiler

Compiled 15 499 to 1 432 computations (90.8% saved)

prune10.0ms (0.1%)

Memory
2.1MiB live, 41.3MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New5024506
Fresh000
Picked213
Done000
Total5045509
Accuracy
100.0%
Counts
509 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tanh.f64 x)
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Compiler

Compiled 100 to 54 computations (46% saved)

simplify199.0ms (1.9%)

Memory
9.6MiB live, 252.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x))
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
cost-diff-5824
(*.f64 (*.f64 x x) x)
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
cost-diff-5824
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal -1/3 binary64) (*.f64 x x))
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023202
038202
176188
2125188
3223188
4346188
5581188
6868188
71297188
82050188
93326188
105921188
08036184
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)
(*.f64 #s(literal -1/3 binary64) (*.f64 x x))
#s(literal -1/3 binary64)
(*.f64 x x)
x
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
(fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)
(*.f64 (*.f64 x x) x)
(*.f64 x x)
x
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 x x)
x
#s(literal 2/15 binary64)
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x))
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 x x)
x
#s(literal 2/15 binary64)
#s(literal -1/3 binary64)
Outputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
#s(literal -1/3 binary64)
(*.f64 x x)
x
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 x x)
x
#s(literal 2/15 binary64)
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 (*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x) x)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 x x)
x
#s(literal 2/15 binary64)
#s(literal -1/3 binary64)

localize336.0ms (3.2%)

Memory
-4.0MiB live, 195.9MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.01171875
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)
accuracy0.01171875
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
accuracy0.16796875
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x))
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
accuracy0.01171875
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
accuracy0.0234375
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)
accuracy0.2890625
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
accuracy0
(*.f64 x x)
accuracy0.01953125
(fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)
accuracy0.078125
(*.f64 (*.f64 x x) x)
accuracy2.5165303332169087
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
accuracy0
(*.f64 x x)
accuracy0.015625
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)
accuracy0.18359375
(*.f64 #s(literal -1/3 binary64) (*.f64 x x))
accuracy2.5165303332169087
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Samples
139.0ms145×1valid
108.0ms89×2valid
4.0ms22×0valid
Compiler

Compiled 370 to 49 computations (86.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 182.0ms
ival-exp: 64.0ms (35.2% of total)
ival-add: 50.0ms (27.5% of total)
ival-mult: 34.0ms (18.7% of total)
adjust: 15.0ms (8.3% of total)
const: 10.0ms (5.5% of total)
ival-div: 4.0ms (2.2% of total)
ival-sub: 3.0ms (1.7% of total)
ival-neg: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series67.0ms (0.6%)

Memory
-17.7MiB live, 21.3MiB allocated
Counts
14 → 168
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 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 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 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 (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 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 (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x
@inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* -1/3 (* x x)) (* x x) (+ (* (* -1/3 (* x x)) x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (* (* x x) x) -1/3) x) (* (* x x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) x) (+ (* (* x x) 2/15) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* (+ (* (* x x) 2/15) -1/3) x) (* x x)) x) (+ (* (* (+ (* (* x x) 2/15) -1/3) (* x x)) x) x))
2.0ms
x
@-inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* -1/3 (* x x)) (* x x) (+ (* (* -1/3 (* x x)) x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (* (* x x) x) -1/3) x) (* (* x x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) x) (+ (* (* x x) 2/15) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* (+ (* (* x x) 2/15) -1/3) x) (* x x)) x) (+ (* (* (+ (* (* x x) 2/15) -1/3) (* x x)) x) x))
1.0ms
x
@0
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* -1/3 (* x x)) (* x x) (+ (* (* -1/3 (* x x)) x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (+ (* (* (* x x) x) -1/3) x) (* (* x x) x) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) x) (+ (* (* x x) 2/15) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* (+ (* (* x x) 2/15) -1/3) x) (* x x)) x) (+ (* (* (+ (* (* x x) 2/15) -1/3) (* x x)) x) x))

simplify189.0ms (1.8%)

Memory
31.2MiB live, 111.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711478
11811406
24621406
314571406
439591406
566351406
080821327
Stop Event
iter limit
node limit
Counts
168 → 160
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* -1/3 (pow x 2))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 x)
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
-1/3
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 (pow x 2))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/3 (pow x 3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* -1/3 (pow x 3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(* (pow x 3) (- (/ 1 (pow x 2)) 1/3))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 3))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 5))
(* (pow x 5) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 5))
(* (pow x 5) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(* -1/3 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/3 (pow x 3))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* -1/3 (pow x 3))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(* -1 (* (pow x 3) (- 1/3 (/ 1 (pow x 2)))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 3))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 5))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* 2/15 (pow x 5))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
Outputs
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
#s(literal -1/3 binary64)
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 x #s(literal 3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64) (*.f64 #s(literal -1/3 binary64) x))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) (*.f64 x x))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))

rewrite584.0ms (5.5%)

Memory
-15.4MiB live, 180.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023177
038119
1168119
21004119
08553115
Stop Event
iter limit
node limit
iter limit
Counts
14 → 330
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
(*.f64 #s(literal -1/3 binary64) (*.f64 x x))
(*.f64 x x)
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
(fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x)
(*.f64 (*.f64 x x) x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x)
(fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) 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>

eval219.0ms (2.1%)

Memory
-4.2MiB live, 161.3MiB allocated
Compiler

Compiled 23 199 to 1 336 computations (94.2% saved)

prune79.0ms (0.7%)

Memory
-6.5MiB live, 77.4MiB allocated
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New6284632
Fresh000
Picked134
Done011
Total6298637
Accuracy
100.0%
Counts
637 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tanh.f64 x)
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
95.9%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Compiler

Compiled 191 to 104 computations (45.5% saved)

simplify239.0ms (2.3%)

Memory
15.3MiB live, 173.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
cost-diff320
(fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x))
cost-diff0
(*.f64 #s(literal 2/15 binary64) x)
cost-diff0
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
cost-diff0
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
cost-diff0
(*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x))
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
cost-diff128
(+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64))
cost-diff0
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
cost-diff0
#s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x)))
cost-diff0
(*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x))
cost-diff0
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031296
051282
1104274
2157274
3283274
4375274
5621274
6932274
71413274
82279274
93770274
105399274
116783274
08050266
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
(fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)
(*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x))
#s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x)))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
#s(literal 2/15 binary64)
(*.f64 x x)
x
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
(fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)
(*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x))
(+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
#s(literal 2/15 binary64)
(*.f64 x x)
x
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
(fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
#s(literal 2/15 binary64)
x
#s(literal -1/3 binary64)
(*.f64 x x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
(fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)
(fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
#s(literal 2/15 binary64)
(*.f64 x x)
x
(*.f64 #s(literal -1/3 binary64) x)
#s(literal -1/3 binary64)
Outputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x)
(*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) (*.f64 x x))
#s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64)))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
#s(literal 2/15 binary64)
(*.f64 x x)
x
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)))
(fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) x)
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
#s(literal 2/15 binary64)
(*.f64 x x)
x
#s(literal -1/3 binary64)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)))
(fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
#s(literal 2/15 binary64)
x
#s(literal -1/3 binary64)
(*.f64 x x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)))
(fma.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
#s(literal 2/15 binary64)
(*.f64 x x)
x
(*.f64 #s(literal -1/3 binary64) x)
#s(literal -1/3 binary64)

localize267.0ms (2.5%)

Memory
14.4MiB live, 172.2MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0234375
(fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)
accuracy0.16796875
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
accuracy0.28515625
(*.f64 #s(literal -1/3 binary64) x)
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
accuracy0.0234375
(fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)
accuracy0.06640625
(*.f64 #s(literal 2/15 binary64) x)
accuracy0.2890625
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
accuracy0.01171875
(+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64))
accuracy0.16796875
(*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x))
accuracy0.16796875
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
accuracy0.16796875
(*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x))
accuracy0.16796875
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
accuracy2.2736230065796508
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
accuracy60.60166715109364
#s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x)))
Samples
124.0ms89×2valid
112.0ms145×1valid
5.0ms22×0valid
Compiler

Compiled 519 to 66 computations (87.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 174.0ms
ival-add: 53.0ms (30.4% of total)
ival-exp: 53.0ms (30.4% of total)
ival-mult: 30.0ms (17.2% of total)
adjust: 20.0ms (11.5% of total)
const: 10.0ms (5.7% of total)
ival-div: 4.0ms (2.3% of total)
ival-sub: 3.0ms (1.7% of total)
ival-neg: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series42.0ms (0.4%)

Memory
-17.1MiB live, 20.1MiB allocated
Counts
17 → 204
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x 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 (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x 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 (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2/15 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x 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 (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -1/3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
28.0ms
x
@0
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* x x) 2/15) -1/3) (* 2/15 (* x x)) (+ (* 2/15 (* x x)) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* 2/15 (* x x)) -1/3) (* x x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* 2/15 x) x) -1/3) x) (+ (* (* 2/15 x) x) -1/3) (* 2/15 x) (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* x x) (+ (* (* (+ (* (* 2/15 x) x) -1/3) x) (* x x)) x) (* -1/3 x) (+ (* (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (* x x)) x))
3.0ms
x
@-inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* x x) 2/15) -1/3) (* 2/15 (* x x)) (+ (* 2/15 (* x x)) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* 2/15 (* x x)) -1/3) (* x x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* 2/15 x) x) -1/3) x) (+ (* (* 2/15 x) x) -1/3) (* 2/15 x) (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* x x) (+ (* (* (+ (* (* 2/15 x) x) -1/3) x) (* x x)) x) (* -1/3 x) (+ (* (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (* x x)) x))
3.0ms
x
@inf
((/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* x x) 2/15) -1/3) (* x x)) (+ (* (* x x) 2/15) -1/3) (* 2/15 (* x x)) (+ (* 2/15 (* x x)) -1/3) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* 2/15 (* x x)) -1/3) (* x x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* (+ (* (* 2/15 x) x) -1/3) x) (+ (* (* 2/15 x) x) -1/3) (* 2/15 x) (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (* x x) (+ (* (* (+ (* (* 2/15 x) x) -1/3) x) (* x x)) x) (* -1/3 x) (+ (* (+ (* (* 2/15 (* x x)) x) (* -1/3 x)) (* x x)) x))

simplify255.0ms (2.4%)

Memory
4.8MiB live, 200.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0661686
11681650
24001650
311761650
430021650
551711650
080631553
Stop Event
iter limit
node limit
Counts
204 → 198
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 (pow x 2))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
-1/3
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
-1/3
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 (pow x 2))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
(* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(* -1/3 x)
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
-1/3
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(- (* 2/15 (pow x 2)) 1/3)
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* -1/3 x)
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
(* x (- (* 2/15 (pow x 2)) 1/3))
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
x
(* x (+ 1 (* -1/3 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(* 2/15 (pow x 3))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* 2/15 (pow x 3))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 3) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2/15 (pow x 5))
(* (pow x 5) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
(* 2/15 (pow x 5))
(* (pow x 5) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 5) (- (+ 2/15 (/ 1 (pow x 4))) (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 4))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 4) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(* 2/15 (pow x 3))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* 2/15 (pow x 2))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 2/15 (* 1/3 (/ 1 (pow x 2)))))
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* 2/15 x)
(* 2/15 (pow x 3))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 3) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(/ (- (exp x) (exp (* -1 x))) (+ (exp x) (exp (* -1 x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2/15 (pow x 5))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
(* -1/3 x)
(* 2/15 (pow x 5))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) 2/15)))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (* 1/3 (/ 1 (pow x 2))) (+ 2/15 (/ 1 (pow x 4))))))
Outputs
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
#s(literal -1/3 binary64)
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
#s(literal -1/3 binary64)
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal -1/3 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
#s(literal -1/3 binary64)
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -17/315 binary64) (*.f64 x x) #s(literal 2/15 binary64)) (*.f64 x x) #s(literal -1/3 binary64)) x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
x
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2/15 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 2/15 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 #s(literal 2/15 binary64) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2/15 binary64))
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 #s(literal -1/3 binary64) x)
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 x x))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal -2/15 binary64)) (pow.f64 x #s(literal 5 binary64)))

rewrite231.0ms (2.2%)

Memory
-18.7MiB live, 262.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031232
051176
1234170
21247170
08337164
Stop Event
iter limit
node limit
iter limit
Counts
17 → 444
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
(*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x))
#s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x)))
(*.f64 #s(literal 2/15 binary64) (*.f64 x x))
(+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
(*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
(*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x)
(fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) x)
(fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
(*.f64 x x)
(fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x)
(*.f64 #s(literal -1/3 binary64) x)
(fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x 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>

eval91.0ms (0.9%)

Memory
39.9MiB live, 232.4MiB allocated
Compiler

Compiled 30 200 to 1 466 computations (95.1% saved)

prune48.0ms (0.5%)

Memory
-10.7MiB live, 114.4MiB allocated
Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New7784782
Fresh000
Picked044
Done044
Total77812790
Accuracy
100.0%
Counts
790 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tanh.f64 x)
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 2/15 binary64) x) x) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
95.9%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x) x) x x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
95.9%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 #s(literal 2/15 binary64) x) x)) (*.f64 x x)) x x))
95.9%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
96.1%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
96.4%
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
Compiler

Compiled 737 to 262 computations (64.5% saved)

regimes11.0ms (0.1%)

Memory
-11.6MiB live, 26.5MiB allocated
Counts
16 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 #s(literal 2/15 binary64) x) x)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x) x) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 2/15 binary64) x) x) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
(tanh.f64 x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/3 binary64) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 2/15 binary64) (*.f64 x x) #s(literal -1/3 binary64)) x))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(tanh.f64 x)
Calls

2 calls:

6.0ms
x
4.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 14 to 8 computations (42.9% saved)

regimes8.0ms (0.1%)

Memory
19.7MiB live, 19.7MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 #s(literal 2/15 binary64) x) x)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x) x) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) (*.f64 x x) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) x) (*.f64 x x) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (+.f64 (*.f64 (*.f64 #s(literal 2/15 binary64) x) x) #s(literal -1/3 binary64)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 x x)) x (*.f64 #s(literal -1/3 binary64) x)) (*.f64 x x) x))
Outputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
Calls

2 calls:

4.0ms
x
3.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
AccuracySegmentsBranch
96.4%1x
96.4%1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 14 to 8 computations (42.9% saved)

regimes5.0ms (0%)

Memory
-27.0MiB live, 12.3MiB allocated
Accuracy

Total -0.3b remaining (-11.4%)

Threshold costs -0.3b (-11.4%)

Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) x) #s(literal -1/3 binary64) x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 #s(literal 2/15 binary64) (*.f64 x x))) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 #s(literal 2/15 binary64) x) x)) (*.f64 x x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 #s(approx (+ (* (* x x) 2/15) -1/3) (*.f64 (*.f64 x x) #s(literal 2/15 binary64))) x) x) x x))
Outputs
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Calls

2 calls:

2.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
2.0ms
x
Results
AccuracySegmentsBranch
96.1%1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
96.1%1x
Compiler

Compiled 14 to 8 computations (42.9% saved)

simplify25.0ms (0.2%)

Memory
25.0MiB live, 66.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02563
12963
Stop Event
saturated
Calls
Call 1
Inputs
(tanh.f64 x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 x x)) x x))
Outputs
(tanh.f64 x)
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 #s(approx (* (+ (* (* x x) 2/15) -1/3) (* x x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) x) x #s(literal -1/3 binary64)) x) x)) x x))
#s(approx (/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal -1/3 binary64)) x x))

soundness887.0ms (8.4%)

Memory
-12.5MiB live, 662.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0730
01315
15515
242415
3708015
0806215
0661686
11681650
24001650
311761650
430021650
551711650
080631553
0711478
11811406
24621406
314571406
439591406
566351406
080821327
01876
02754
113554
2100954
0855854
090425
1259424
2604414
31672414
42645414
54176414
64889414
76516414
08145386
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 140 to 76 computations (45.7% saved)

preprocess35.0ms (0.3%)

Memory
14.9MiB live, 93.6MiB allocated
Remove

(negabs x)

Compiler

Compiled 160 to 76 computations (52.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...