FastMath dist

Time bar (total: 3.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample682.0ms (20%)

Memory
9.3MiB live, 707.5MiB allocated
Samples
424.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 168.0ms
ival-mult: 115.0ms (68.6% of total)
ival-add: 44.0ms (26.2% of total)
ival-true: 6.0ms (3.6% of total)
ival-assert: 3.0ms (1.8% of total)
Bogosity

explain83.0ms (2.4%)

Memory
-3.0MiB live, 97.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
67(7.056459884707258e+280 -7.0681184680879554e+56 -1.1763139302415622e+267)0-(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
00-0-d2
00-0-d1
00-0-d3
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 d3)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))nan-rescue130
(*.f64 d1 d2)overflow34
(*.f64 d1 d3)overflow37
Confusion
Predicted +Predicted -
+60
-7243
Precision
0.46153846153846156
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+600
-70243
Precision?
0.46153846153846156
Recall?
1.0
Freqs
test
numberfreq
0243
113
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
30.0ms512×0valid
Compiler

Compiled 91 to 40 computations (56% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 7.0ms (72.1% of total)
ival-add: 2.0ms (20.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess30.0ms (0.9%)

Memory
-1.3MiB live, 36.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02554
17448
217746
343146
474546
5104546
6105546
067
095
1145
2175
0175
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 (+.f64 d3 d2) d1)
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.6%
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify3.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 d1 d3)
cost-diff0
(*.f64 d1 d2)
cost-diff320
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
0914
11414
21714
01714
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
Outputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 (+.f64 d3 d2) d1)
(*.f64 d1 d2)
(*.f64 d2 d1)
d1
d2
(*.f64 d1 d3)
(*.f64 d3 d1)
d3

localize16.0ms (0.5%)

Memory
14.4MiB live, 14.4MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 d1 d3)
accuracy0
(*.f64 d1 d2)
accuracy1.4062417433208234
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Samples
11.0ms256×0valid
Compiler

Compiled 34 to 14 computations (58.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 3.0ms (63.6% of total)
ival-add: 1.0ms (21.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series56.0ms (1.6%)

Memory
-30.9MiB live, 7.7MiB allocated
Counts
3 → 84
Calls
Call 1
Inputs
#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())
#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())
#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())
Outputs
#s(alt (* d1 d3) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (patch (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d1 d3) (patch (*.f64 d1 d3) #<representation binary64>) () ())) ())
Calls

9 calls:

TimeVariablePointExpression
1.0ms
d1
@0
((+ (* d1 d2) (* d1 d3)) (* d1 d2) (* d1 d3))
1.0ms
d1
@-inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) (* d1 d3))
1.0ms
d1
@inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) (* d1 d3))
1.0ms
d2
@inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) (* d1 d3))
1.0ms
d2
@-inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) (* d1 d3))

simplify353.0ms (10.4%)

Memory
33.3MiB live, 187.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029312
1103312
2297312
3727312
42233312
54347312
65478312
76122312
86309312
96426312
106730312
116770312
126803312
137013312
147027312
157032312
167035312
177037312
187037312
08429312
Stop Event
iter limit
node limit
Counts
84 → 84
Calls
Call 1
Inputs
(* d1 d3)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
Outputs
(* d1 d3)
(*.f64 d3 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)

rewrite248.0ms (7.3%)

Memory
-7.6MiB live, 187.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0911
12711
219111
3199311
0814111
Stop Event
iter limit
node limit
iter limit
Counts
3 → 216
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
(*.f64 d1 d3)
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>

eval54.0ms (1.6%)

Memory
10.1MiB live, 59.9MiB allocated
Compiler

Compiled 7 188 to 618 computations (91.4% saved)

prune37.0ms (1.1%)

Memory
-18.5MiB live, 18.8MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2964300
Fresh000
Picked101
Done000
Total2974301
Accuracy
100.0%
Counts
301 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 d3 d1 (*.f64 d2 d1))
100.0%
(*.f64 (+.f64 d3 d2) d1)
59.3%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
45.9%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify3.0ms (0.1%)

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

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 d2 d1)
cost-diff192
(fma.f64 d3 d1 (*.f64 d2 d1))
cost-diff0
(+.f64 d3 d2)
cost-diff0
(*.f64 (+.f64 d3 d2) d1)
cost-diff0
(*.f64 d3 d1)
cost-diff0
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
cost-diff0
(*.f64 d2 d1)
cost-diff0
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01355
01850
12350
02350
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
d2
d1
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 d3 d1)
d3
d1
(*.f64 (+.f64 d3 d2) d1)
(+.f64 d3 d2)
d3
d2
d1
(fma.f64 d3 d1 (*.f64 d2 d1))
d3
d1
(*.f64 d2 d1)
d2
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d1 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
d2
d1
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 d3 d1)
d3
d1
(*.f64 (+.f64 d3 d2) d1)
(+.f64 d3 d2)
d3
d2
d1
(fma.f64 d3 d1 (*.f64 d2 d1))
(*.f64 (+.f64 d3 d2) d1)
d3
d1
(*.f64 d2 d1)
(*.f64 d1 d2)
d2

localize32.0ms (0.9%)

Memory
21.1MiB live, 57.4MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 d2 d1)
accuracy0.5078069952111204
(fma.f64 d3 d1 (*.f64 d2 d1))
accuracy0
(+.f64 d3 d2)
accuracy0.0234375
(*.f64 (+.f64 d3 d2) d1)
accuracy0
(*.f64 d3 d1)
accuracy26.07262517095596
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
accuracy0
(*.f64 d2 d1)
accuracy34.62944691561827
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Samples
25.0ms256×0valid
Compiler

Compiled 91 to 23 computations (74.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 8.0ms (70.5% of total)
ival-add: 3.0ms (26.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.4%)

Memory
-5.2MiB live, 31.5MiB allocated
Counts
7 → 216
Calls
Call 1
Inputs
#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())
#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())
#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())
#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())
#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())
#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())
#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())
Outputs
#s(alt (* d1 d3) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d3 (taylor 0 d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d2 (taylor inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ 1 (/ d3 d2))) (taylor inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ 1 (/ d3 d2))) (taylor inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ 1 (/ d3 d2))) (taylor inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (/ (* d1 d3) d2))) (taylor inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d2 (taylor -inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (- (* -1 (/ d3 d2)) 1))) (taylor -inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (- (* -1 (/ d3 d2)) 1))) (taylor -inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (- (* -1 (/ d3 d2)) 1))) (taylor -inf d2) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2))))) (taylor -inf d2) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d2 (taylor 0 d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (+ d2 d3) (taylor 0 d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* d1 d2) (* d1 d3)) (taylor 0 d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d3 (taylor inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ 1 (/ d2 d3))) (taylor inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ 1 (/ d2 d3))) (taylor inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ 1 (/ d2 d3))) (taylor inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d3 (+ d1 (/ (* d1 d2) d3))) (taylor inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt d3 (taylor -inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (- (* -1 (/ d2 d3)) 1))) (taylor -inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (- (* -1 (/ d2 d3)) 1))) (taylor -inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (- (* -1 (/ d2 d3)) 1))) (taylor -inf d3) (#s(alt (+.f64 d3 d2) (patch (+.f64 d3 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3))))) (taylor -inf d3) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor 0 d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor 0 d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) (patch #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d3) (taylor -inf d1) (#s(alt (*.f64 d3 d1) (patch (*.f64 d3 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor -inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor -inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor -inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ d2 d3)) (taylor -inf d1) (#s(alt (*.f64 (+.f64 d3 d2) d1) (patch (*.f64 (+.f64 d3 d2) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (+ (* -1 d2) (* -1 d3)))) (taylor -inf d1) (#s(alt (fma.f64 d3 d1 (*.f64 d2 d1)) (patch (fma.f64 d3 d1 (*.f64 d2 d1)) #<representation binary64>) () ())) ())
Calls

9 calls:

TimeVariablePointExpression
3.0ms
d2
@inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) (+ (* d1 d2) (* d1 d3)) (* d3 d1) (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d1
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) (+ (* d1 d2) (* d1 d3)) (* d3 d1) (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d1
@inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) (+ (* d1 d2) (* d1 d3)) (* d3 d1) (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d2
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) (+ (* d1 d2) (* d1 d3)) (* d3 d1) (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d3
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) (+ (* d1 d2) (* d1 d3)) (* d3 d1) (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))

simplify175.0ms (5.1%)

Memory
-44.7MiB live, 60.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044876
1151876
2400876
31152876
43166876
53807876
64170876
74490876
84588876
94613876
107237876
08001876
Stop Event
iter limit
node limit
Counts
216 → 210
Calls
Call 1
Inputs
(* d1 d3)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d3)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d3)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
d3
(+ d2 d3)
(+ d2 d3)
(+ d2 d3)
(* d1 d3)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d2)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d1 d2)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
d2
(* d2 (+ 1 (/ d3 d2)))
(* d2 (+ 1 (/ d3 d2)))
(* d2 (+ 1 (/ d3 d2)))
(* d1 d2)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d2 (+ d1 (/ (* d1 d3) d2)))
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
d2
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(* d1 d2)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d2)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d2)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
d2
(+ d2 d3)
(+ d2 d3)
(+ d2 d3)
(* d1 d2)
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(+ (* d1 d2) (* d1 d3))
(* d1 d3)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d1 d3)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
d3
(* d3 (+ 1 (/ d2 d3)))
(* d3 (+ 1 (/ d2 d3)))
(* d3 (+ 1 (/ d2 d3)))
(* d1 d3)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d3 (+ d1 (/ (* d1 d2) d3)))
(* d1 d3)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* d1 d3)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
d3
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(* d1 d3)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 d3)
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* d1 (+ d2 d3))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
Outputs
(* d1 d3)
(*.f64 d3 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d3)
(*.f64 d3 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
d3
(+ d2 d3)
(+.f64 d2 d3)
(+ d2 d3)
(+.f64 d2 d3)
(+ d2 d3)
(+.f64 d2 d3)
(* d1 d3)
(*.f64 d3 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
d2
(* d2 (+ 1 (/ d3 d2)))
(+.f64 d2 d3)
(* d2 (+ 1 (/ d3 d2)))
(+.f64 d2 d3)
(* d2 (+ 1 (/ d3 d2)))
(+.f64 d2 d3)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d2 (+ d1 (/ (* d1 d3) d2)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
d2
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(+.f64 d2 d3)
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(+.f64 d2 d3)
(* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))
(+.f64 d2 d3)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d2)
(*.f64 d2 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
d2
(+ d2 d3)
(+.f64 d2 d3)
(+ d2 d3)
(+.f64 d2 d3)
(+ d2 d3)
(+.f64 d2 d3)
(* d1 d2)
(*.f64 d2 d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(+ (* d1 d2) (* d1 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
d3
(* d3 (+ 1 (/ d2 d3)))
(+.f64 d2 d3)
(* d3 (+ 1 (/ d2 d3)))
(+.f64 d2 d3)
(* d3 (+ 1 (/ d2 d3)))
(+.f64 d2 d3)
(* d1 d3)
(*.f64 d3 d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d3 (+ d1 (/ (* d1 d2) d3)))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
d3
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(+.f64 d2 d3)
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(+.f64 d2 d3)
(* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))
(+.f64 d2 d3)
(* d1 d3)
(*.f64 d3 d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 d3)
(*.f64 d3 d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* d1 (+ d2 d3))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)
(* -1 (* d1 (+ (* -1 d2) (* -1 d3))))
(*.f64 (+.f64 d2 d3) d1)

rewrite186.0ms (5.5%)

Memory
16.4MiB live, 169.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01342
01837
16837
241337
3468437
0834337
Stop Event
iter limit
node limit
iter limit
Counts
7 → 400
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 d3 d1)
(*.f64 (+.f64 d3 d2) d1)
(+.f64 d3 d2)
(fma.f64 d3 d1 (*.f64 d2 d1))
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>

eval101.0ms (3%)

Memory
2.1MiB live, 116.2MiB allocated
Compiler

Compiled 10 917 to 700 computations (93.6% saved)

prune19.0ms (0.6%)

Memory
16.8MiB live, 51.7MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New6410641
Fresh000
Picked044
Done000
Total6414645
Accuracy
100.0%
Counts
645 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 d3 d1 (*.f64 d2 d1))
100.0%
(*.f64 (+.f64 d3 d2) d1)
59.3%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
45.9%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Compiler

Compiled 45 to 33 computations (26.7% saved)

regimes11.0ms (0.3%)

Memory
-13.0MiB live, 25.1MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 (+.f64 d3 d2) d1)
(fma.f64 d3 d1 (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
(*.f64 (+.f64 d3 d2) d1)
Calls

4 calls:

4.0ms
d2
2.0ms
d1
2.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
2.0ms
d3
Results
AccuracySegmentsBranch
100.0%1d1
100.0%1d2
100.0%1d3
100.0%1(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes7.0ms (0.2%)

Memory
17.8MiB live, 17.8MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
Calls

4 calls:

2.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
2.0ms
d1
2.0ms
d2
2.0ms
d3
Results
AccuracySegmentsBranch
61.8%2d1
86.5%2d2
85.6%2d3
95.2%2(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes7.0ms (0.2%)

Memory
-22.7MiB live, 15.1MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Calls

4 calls:

3.0ms
d1
1.0ms
d2
1.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
1.0ms
d3
Results
AccuracySegmentsBranch
45.9%1d1
45.9%1d3
45.9%1d2
45.9%1(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 10 to 15 computations (-50% saved)

bsearch0.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-6.673198304776681e-253
-0.0
Compiler

Compiled 10 to 12 computations (-20% saved)

simplify27.0ms (0.8%)

Memory
20.4MiB live, 65.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01848
12348
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 d3 d2) d1)
(if (<=.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #s(literal -8254602048994769/16509204097989538948510618278641143953713978938628797566498772157083559454897651858575539246489287121708574843539285271215073361234458923039079343076966861778387083874968908880272859927388326282907007278381599637629625884148486304338699903086469889890298080653054312448 binary64)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Outputs
(*.f64 (+.f64 d3 d2) d1)
(*.f64 d1 (+.f64 d2 d3))
(if (<=.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #s(literal -8254602048994769/16509204097989538948510618278641143953713978938628797566498772157083559454897651858575539246489287121708574843539285271215073361234458923039079343076966861778387083874968908880272859927388326282907007278381599637629625884148486304338699903086469889890298080653054312448 binary64)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)))
(if (<=.f64 (+.f64 (*.f64 d1 d3) (*.f64 d1 d2)) #s(literal -8254602048994769/16509204097989538948510618278641143953713978938628797566498772157083559454897651858575539246489287121708574843539285271215073361234458923039079343076966861778387083874968908880272859927388326282907007278381599637629625884148486304338699903086469889890298080653054312448 binary64)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d1 d2)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d1 d2))

soundness1.1s (33.2%)

Memory
-15.6MiB live, 272.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0911
12711
219111
3199311
0814111
029312
1103312
2297312
3727312
42233312
54347312
65478312
76122312
86309312
96426312
106730312
116770312
126803312
137013312
147027312
157032312
167035312
177037312
187037312
08429312
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 48 to 33 computations (31.3% saved)

preprocess132.0ms (3.9%)

Memory
4.4MiB live, 87.5MiB allocated
Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 138 to 108 computations (21.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...