Hyperbolic arc-cosine

Time bar (total: 5.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

analyze85.0ms (1.7%)

Memory
12.2MiB live, 90.7MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%100%0%0%0%0%3
16.7%12.5%62.5%0%0%25%0%4
30%18.7%43.7%0%0%37.5%0%5
38.9%21.9%34.4%0%0%43.7%0%6
44.1%23.4%29.7%0%0%46.9%0%7
47%24.2%27.3%0%0%48.4%0%8
48.5%24.6%26.2%0%0%49.2%0%9
49.2%24.8%25.6%0%0%49.6%0%10
49.6%24.9%25.3%0%0%49.8%0%11
49.8%24.9%25.1%0%0%49.9%0%12
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample2.2s (42.9%)

Memory
54.1MiB live, 3 040.5MiB allocated
Samples
980.0ms7 302×1invalid
583.0ms8 256×0valid
68.0ms1 224×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-log: 260.0ms (22.3% of total)
ival-sqrt: 249.0ms (21.4% of total)
ival-mult: 173.0ms (14.9% of total)
ival-sub: 154.0ms (13.2% of total)
ival-add: 151.0ms (13% of total)
adjust: 150.0ms (12.9% of total)
ival-true: 11.0ms (0.9% of total)
exact: 10.0ms (0.9% of total)
ival-assert: 6.0ms (0.5% of total)
Bogosity

explain159.0ms (3.1%)

Memory
-4.3MiB live, 90.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1300-0-(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
00-0-(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
00-0-#s(literal 1 binary64)
00-0-(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
00-0-(*.f64 x x)
00-0-(-.f64 (*.f64 x x) #s(literal 1 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))oflow-rescue1300
(-.f64 (*.f64 x x) #s(literal 1 binary64))overflow130
(*.f64 x x)overflow130
Confusion
Predicted +Predicted -
+1300
-0126
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13000
-00126
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0126
1130
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
33.0ms512×0valid
Compiler

Compiled 112 to 32 computations (71.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-log: 6.0ms (29.4% of total)
ival-mult: 4.0ms (19.6% of total)
ival-sqrt: 4.0ms (19.6% of total)
ival-sub: 3.0ms (14.7% of total)
ival-add: 3.0ms (14.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess466.0ms (9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
12719
25919
313019
429519
557919
6108819
7167719
8302119
9411819
10505919
11548719
12572719
13579919
14588319
15647519
16756519
17762119
18771919
19775319
20776919
079
0129
1219
2259
3409
4719
51329
62929
75729
820459
931559
1044339
1151069
1254089
1355939
1456959
1560149
1665609
1776719
080918
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
Outputs
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.8%
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify456.0ms (8.9%)

Memory
-27.0MiB live, 129.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
cost-diff0
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
cost-diff0
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
cost-diff128
(-.f64 (*.f64 x x) #s(literal 1 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0733
01233
12133
22533
34033
47133
513233
629233
757233
8204533
9315533
10443333
11510633
12540833
13559333
14569533
15601433
16656033
17767133
0809129
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
x
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
(-.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)
Outputs
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
x
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
#s(literal 1 binary64)

localize22.0ms (0.4%)

Memory
24.7MiB live, 24.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.00390625
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
accuracy0.0078125
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
accuracy30.258593167821303
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
Samples
16.0ms256×0valid
Compiler

Compiled 68 to 16 computations (76.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-log: 3.0ms (31.1% of total)
ival-mult: 2.0ms (20.7% of total)
ival-sqrt: 2.0ms (20.7% of total)
ival-sub: 1.0ms (10.4% of total)
ival-add: 1.0ms (10.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
5.4MiB live, 5.4MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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 (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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 (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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
2.0ms
x
@0
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))
2.0ms
x
@inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))
2.0ms
x
@-inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))

simplify284.0ms (5.5%)

Memory
-27.2MiB live, 95.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150595
1411569
21146562
33331524
47980524
08533495
Stop Event
iter limit
node limit
Counts
60 → 59
Calls
Call 1
Inputs
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(sqrt -1)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* -1 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt.f64 #s(literal -1 binary64))
(+.f64 (sqrt.f64 #s(literal -1 binary64)) x)
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(sqrt.f64 #s(literal -1 binary64))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) x) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/8 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x) (sqrt.f64 #s(literal -1 binary64)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(*.f64 #s(literal 2 binary64) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
x
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x))
(fma.f64 (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 4 binary64))) x (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1/2 binary64) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(neg.f64 x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) x)
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x) x)
(fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64))) x (-.f64 (/.f64 #s(literal 1/2 binary64) x) x))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)

rewrite233.0ms (4.5%)

Memory
9.1MiB live, 116.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0731
01231
14931
232231
3362631
0864627
Stop Event
iter limit
node limit
iter limit
Counts
5 → 328
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) #s(literal 1 binary64))
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
(*.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>

eval148.0ms (2.9%)

Memory
4.6MiB live, 129.0MiB allocated
Compiler

Compiled 8 587 to 1 618 computations (81.2% saved)

prune6.0ms (0.1%)

Memory
21.6MiB live, 21.6MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New3843387
Fresh000
Picked101
Done000
Total3853388
Accuracy
100.0%
Counts
388 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.8%
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
100.0%
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
99.5%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Compiler

Compiled 36 to 27 computations (25% saved)

simplify264.0ms (5.1%)

Memory
-34.2MiB live, 166.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
cost-diff0
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
cost-diff0
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
cost-diff0
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
cost-diff0
#s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
cost-diff0
(+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))
cost-diff0
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
cost-diff0
(*.f64 #s(literal 2 binary64) x)
cost-diff0
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
cost-diff0
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021107
031102
146102
257102
381102
4122102
5246102
6521102
71078102
82687102
94393102
105439102
115884102
125992102
136071102
146147102
156869102
167525102
177957102
08005102
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
(+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))
x
#s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(/.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
Outputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(log.f64 (+.f64 #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) x))
(+.f64 #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) x)
x
#s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(/.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)

localize74.0ms (1.4%)

Memory
19.3MiB live, 100.2MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0.00390625
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
accuracy0.0078125
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
accuracy30.258593167821303
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
accuracy0
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
accuracy0.00390625
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
accuracy0.0078125
(+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))
accuracy0.024765039073768067
#s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
accuracy0
(*.f64 #s(literal 2 binary64) x)
accuracy0.00390625
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
accuracy0.3753480307636206
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
Samples
62.0ms256×0valid
Compiler

Compiled 194 to 40 computations (79.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 49.0ms
ival-sub: 30.0ms (61% of total)
ival-log: 6.0ms (12.2% of total)
ival-add: 4.0ms (8.1% of total)
ival-mult: 4.0ms (8.1% of total)
ival-sqrt: 4.0ms (8.1% of total)
ival-div: 2.0ms (4.1% of total)
exact: 1.0ms (2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
15.0MiB live, 15.0MiB allocated
Counts
11 → 132
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 x (/.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (- x (/ 1/2 x)) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))
1.0ms
x
@inf
((log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (- x (/ 1/2 x)) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))
1.0ms
x
@0
((log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (- x (/ 1/2 x)) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))

simplify143.0ms (2.8%)

Memory
-16.9MiB live, 173.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01561505
14251435
211851385
334641315
082781254
Stop Event
iter limit
node limit
Counts
132 → 128
Calls
Call 1
Inputs
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(sqrt -1)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(/ -1/2 x)
(/ (- (pow x 2) 1/2) x)
(/ (- (pow x 2) 1/2) x)
(/ (- (pow x 2) 1/2) x)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(sqrt -1)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* -1 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
x
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 1)))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* -1 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
Outputs
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt.f64 #s(literal -1 binary64))
(+.f64 (sqrt.f64 #s(literal -1 binary64)) x)
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt.f64 #s(literal -1 binary64))
(+.f64 (sqrt.f64 #s(literal -1 binary64)) x)
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(sqrt.f64 #s(literal -1 binary64))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) x) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal -1 binary64)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64))))
(/.f64 #s(literal -1/2 binary64) x)
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt.f64 #s(literal -1 binary64))
(+.f64 (sqrt.f64 #s(literal -1 binary64)) x)
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(sqrt.f64 #s(literal -1 binary64))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) x) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal -1 binary64)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64))))
#s(literal -1 binary64)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(*.f64 #s(literal 2 binary64) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(*.f64 #s(literal 2 binary64) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
x
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x))
(fma.f64 (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 4 binary64))) x (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
x
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(*.f64 #s(literal 2 binary64) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
x
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x))
(fma.f64 (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 4 binary64))) x (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1/2 binary64) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(*.f64 #s(literal 2 binary64) x)
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1/2 binary64) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(neg.f64 x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) x)
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x) x)
(fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64))) x (-.f64 (/.f64 #s(literal 1/2 binary64) x) x))
x
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1/2 binary64) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(neg.f64 x)
(-.f64 (/.f64 #s(literal 1/2 binary64) x) x)
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x) x)
(fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64))) x (-.f64 (/.f64 #s(literal 1/2 binary64) x) x))
(*.f64 x x)
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(fma.f64 x x #s(literal -1 binary64))

rewrite206.0ms (4%)

Memory
-14.8MiB live, 252.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02198
03193
112593
283693
0850093
Stop Event
iter limit
node limit
iter limit
Counts
11 → 419
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
(+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))))
#s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval76.0ms (1.5%)

Memory
-9.4MiB live, 179.1MiB allocated
Compiler

Compiled 15 390 to 2 137 computations (86.1% saved)

prune12.0ms (0.2%)

Memory
3.7MiB live, 42.3MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New5470547
Fresh000
Picked033
Done000
Total5473550
Accuracy
100.0%
Counts
550 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.8%
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
100.0%
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
99.5%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Compiler

Compiled 81 to 54 computations (33.3% saved)

regimes6.0ms (0.1%)

Memory
18.7MiB live, 18.7MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
Outputs
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
Calls

3 calls:

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

Compiled 18 to 14 computations (22.2% saved)

regimes4.0ms (0.1%)

Memory
12.4MiB live, 12.4MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Outputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Calls

3 calls:

1.0ms
x
1.0ms
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
1.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
99.5%1x
99.5%1(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
99.5%1(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify30.0ms (0.6%)

Memory
-11.7MiB live, 70.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01628
12328
23128
33728
44228
54428
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 (+.f64 x #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x)))))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Outputs
(log.f64 (+.f64 #s(approx (sqrt (- (* x x) 1)) (-.f64 x (/.f64 #s(literal 1/2 binary64) x))) x))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))

soundness194.0ms (3.8%)

Memory
-27.6MiB live, 143.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150595
1411569
21146562
33331524
47980524
08533495
Stop Event
done
iter limit
node limit
Compiler

Compiled 32 to 21 computations (34.4% saved)

preprocess53.0ms (1%)

Memory
17.0MiB live, 56.3MiB allocated
Compiler

Compiled 74 to 46 computations (37.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...